# What Cloud Run costs, with worked examples

> Google's list prices for Cloud Run and the services around it, the free tier, a small app priced line by line, the case where Cloud Run costs more, and how to check every price yourself.

Published 2026-10-10 · Updated 2026-10-13 · [By Exodus team](https://exodus.elim.io/about) · Pricing
<https://exodus.elim.io/blog/what-cloud-run-costs>

Cloud Run costs $0.000024 per vCPU-second, $0.0000025 per GiB-second and $0.40 per million requests on its default request-based billing in Tier 1 regions, after a monthly free tier of 180,000 vCPU-seconds, 360,000 GiB-seconds and 2 million requests per billing account. A small app at 2,000 visits a day, with a worker and Cloud SQL, costs $11.09 a month, $1.19 of it on Cloud Run.

## In short

- Request-based Cloud Run in Tier 1 costs $0.000024 per vCPU-second, $0.0000025 per GiB-second and $0.40 per million requests; Tier 2 regions cost 1.4 times as much.
- The free tier, 180,000 vCPU-seconds, 360,000 GiB-seconds and 2 million requests a month, belongs to the billing account and is shared by every project on it.
- A small app at 2,000 visits a day costs $11.09 a month, and Cloud SQL's `db-f1-micro` with 10 GiB is $9.37 of it.
- One always-busy vCPU with 512 MiB costs $44.71 a month on instance-based billing; for that load a VPS usually costs less.
- A minimum instance kept warm adds about $9.86 a month, and a revision scales to 100 instances unless you set a maximum.

Prices are Google's list prices in US dollars for Tier 1 regions, read on October 12, 2026.

## How a line of the bill is computed

Cloud Run's bill is arithmetic. Every part of an app uses some number of vCPU-seconds, GiB-seconds, requests, hours or gigabytes in a month; each has a list price; the free tier comes off the top. Exodus prices a report the same way, with plain code and Google's published prices, so every line can be checked by hand. Every line follows one rule: take what you used, subtract what is free, and multiply by the price, never going below zero. The free part belongs to the billing account, not to the app, and resets on the first of the month. A month here is 730 hours for anything always on, and 30 days for anything counted per request.

![Three rows of boxes, each used minus free times price. CPU: 210,000 vCPU-seconds used, minus 180,000 free, times $0.000024, gives $0.72. Memory: 105,000 GiB-seconds used, minus 360,000 free, gives $0. Requests: 600,000 used, minus 2,000,000 free, gives $0](https://exodus.elim.io/media/v2026-09-16/t/exodus/assets/image-2b613aee9e95f864d89ac97e9e0168a1f661e472b1ae7d30ea6290c1410b64d8-680x300-svg/bytes "The web service from the example below, line by line. Two of its three lines are inside the free tier.")

Two details decide how much a service uses. First, request-based billing counts an instance's time while at least one request is open on it, rounded up to 100 ms, so two requests that overlap on one instance are billed once. The examples below count every request's time separately, as if none overlapped, so they are an upper bound: with concurrency, the real line is lower, never higher. Second, memory is billed for the same seconds as CPU, at the size you set, so 512 MiB is half a GiB for every billed second.

## The prices

The prices below are Tier 1, the cheaper of Cloud Run's two price groups. Tier 1 holds, for example, `us-central1` in Iowa, `us-east1` in South Carolina, `europe-west1` in Belgium, `europe-west4` in the Netherlands and `asia-northeast1` in Tokyo. In Tier 2 regions, such as London, Frankfurt, Zurich, Singapore and Sydney, request-based Cloud Run costs 1.4 times as much and instance-based 1.2 times; [choosing a region](https://exodus.elim.io/blog/choosing-a-cloud-run-region) has the whole list.

**Cloud Run, request-based billing**, the default, where you pay while a request is in flight, while an instance starts and while it shuts down:

- CPU $0.000024 per vCPU-second, memory $0.0000025 per GiB-second, $0.40 per million requests.
- Free every month, per billing account: 180,000 vCPU-seconds, 360,000 GiB-seconds and 2 million requests.
- A minimum instance kept warm bills its idle time at $0.0000025 per vCPU-second and per GiB-second.
- Requests refused by IAM, because the caller had no right to call, are not billed.

**Cloud Run, instance-based billing and jobs**, where you pay for every second an instance exists:

- CPU $0.000018 per vCPU-second, memory $0.000002 per GiB-second, no charge per request.
- Free every month: 240,000 vCPU-seconds and 450,000 GiB-seconds.
- A job's instance is billed for its whole life, with a minimum of one minute.

The two free tiers are separate pools. Do not add them up: a service on request-based billing gets 180,000 vCPU-seconds, not 420,000.

**Around it:**

- Cloud SQL for PostgreSQL `db-f1-micro`, a shared-core machine with 0.6 GiB of memory: $0.0105 an hour. SSD storage $0.17 per GiB a month, backups $0.08 per GiB a month of what they hold.
- Cloud Tasks: the first million operations a month free, then $0.40 per million.
- Cloud Scheduler: 3 jobs free per billing account, then $0.10 per job a month.
- Artifact Registry, where your images live: 0.5 GiB free, then $0.10 per GiB a month.
- Secret Manager: 6 active secret versions free, then $0.06 each a month; 10,000 reads free, then $0.03 per 10,000.
- Cloud Build, which builds the image from source: 2,500 build-minutes a month free on its default machine, then $0.006 a minute.
- Cloud Logging: the first 50 GiB of logs per project a month free, then $0.50 per GiB.
- Internet egress, the bytes your responses send out, Premium tier: $0.12 per GiB after the first free GiB, up to 1 TiB a month.

You can read Cloud Run's prices the way the bill reads them, from Google's Cloud Billing Catalog. Here is the API's answer for a few of Cloud Run's SKUs, the billing codes behind each line:

![Terminal output of a query to the Cloud Billing Catalog API for Cloud Run's SKUs on October 12, 2026: instance-based CPU $0.0000180 in europe-west1 and $0.0000216 in europe-west2; request-based CPU $0.0000240, Tier 2 request-based CPU $0.0000336; request-based memory $0.0000025](https://exodus.elim.io/media/v2026-09-16/t/exodus/assets/image-cf3d297026558154bd7939e4f9ddd43fafc311fcebfbce9e1a05e0070d1b78ba-680x228-svg/bytes "Cloud Run's prices from the Billing Catalog API, effective Oct 12, 2026. Tier 2 is 1.4 times Tier 1 for request-based CPU and 1.2 times for instance-based.")

The catalog needs an access token in a header file, never on the command line. [Reading your first Google Cloud bill](https://exodus.elim.io/blog/reading-your-first-google-cloud-bill) shows how the same SKUs appear on an invoice.

## A web service at 2,000 visits a day

Say each visit makes 10 requests and each request takes 0.35 s of one vCPU, with 512 MiB of memory. That is a typical server-rendered app or an API behind a single-page front end.

- Requests: 2,000 x 10 x 30 = 600,000 a month, inside the free 2 million: **$0.00**.
- CPU: 600,000 x 0.35 s = 210,000 vCPU-seconds. The free tier takes 180,000, so 30,000 x $0.000024 = **$0.72**.
- Memory: 210,000 s x 0.5 GiB = 105,000 GiB-seconds, inside the free 360,000: **$0.00**.

The web service costs 72 cents a month. Memory is the line people worry about and the one that matters least: at 512 MiB it is 5% of the price of a billed second.

The same service at other levels of traffic, with the same assumptions:

![A bar chart of the web service's monthly cost by visits a day: $0 at 500 visits, $0.72 at 2,000, $8.28 at 5,000, $21.69 at 10,000 and $49.41 at 20,000](https://exodus.elim.io/media/v2026-09-16/t/exodus/assets/image-7bd77e76fff42437c6790c8cb92d6d7a481ab374c566bf4cab664276e2d4b2a7-680x350-svg/bytes "The web service by traffic, free tier applied, overlap not counted. Above 2,000 visits a day the CPU line grows with the traffic; requests start to bill above about 6,700 visits a day.")

At 20,000 visits a day the CPU line alone is 1.92 million billable vCPU-seconds, about 533 hours of a busy vCPU. That is where it is worth looking at concurrency and the real overlap of your requests, and at the comparison below. [Cloud Run costs by traffic](https://exodus.elim.io/blog/cloud-run-costs-worked-examples-by-traffic) works through more levels, with real request durations.

## A worker turned into Cloud Tasks

Say the app sends 1,300 background jobs a day, each 0.5 s of CPU: emails, webhooks, a thumbnail. On a PaaS that is a worker process waiting on a Redis queue all day. On Cloud Run each job becomes an HTTP request from Cloud Tasks to a handler on the same service, as [background workers with Cloud Tasks](https://exodus.elim.io/blog/background-workers-with-cloud-tasks) shows.

- CPU: 1,300 x 30 x 0.5 s = 19,500 vCPU-seconds. The web line has used the free tier, so 19,500 x $0.000024 = **$0.47**.
- Memory: 9,750 GiB-seconds, and with the web line's 105,000 still inside the free 360,000: **$0.00**.
- Requests and tasks: 39,000 a month each, inside Cloud Run's free 2 million and Cloud Tasks' free million: **$0.00**.

On a PaaS the same worker is a second always-on process, billed every hour whether it works or waits, plus the Redis it waits on.

## Postgres on Cloud SQL

The smallest shared-core instance, up all month, with 10 GiB of SSD:

- 730 hours x $0.0105 = $7.67
- 10 GiB x $0.17 = $1.70

Together **$9.37 a month**, plus a few cents for backups of a small database. The database is usually the largest line of a small app's bill, and it is the one line that does not scale to zero.

Three things to know about this machine. It shares a CPU and has 0.6 GiB of memory, which is enough for a small app's database and not for a busy one. Google does not cover shared-core machines with the Cloud SQL SLA. And if you stay on a Postgres major version past the end of its standard support, Google adds extended support at $0.018 an hour for `db-f1-micro`, more than the machine itself. [The smallest Cloud SQL instances](https://exodus.elim.io/blog/cloud-sql-smallest-instances-and-what-they-cost) compares the next sizes up, and [Cloud SQL, Firestore or serverless Postgres](https://exodus.elim.io/blog/cloud-sql-firestore-or-serverless-postgres) covers the options that cost less when the database is small or idle.

## The whole app

Add the rest: three schedules in Cloud Scheduler (free), 1 GiB of images in Artifact Registry (0.5 GiB over the free tier: $0.05), five secrets (free), and 4 GiB of egress at $0.12 ($0.48).

![A horizontal bar chart of the whole app's monthly bill: Cloud SQL $9.37, web service $0.72, egress 4 GiB $0.48, worker as tasks $0.47, Artifact Registry $0.05, Cloud Scheduler $0, Secret Manager $0; total $11.09](https://exodus.elim.io/media/v2026-09-16/t/exodus/assets/image-24316d02b7a4ab824f04bcf07f6eb324e54c409f9c9380a42cf9fd13235699e7-680x358-svg/bytes "The small app's month at 2,000 visits a day. The database is about 85% of the bill; everything on Cloud Run itself is $1.19.")

- Web service: $0.72
- Worker as Cloud Tasks: $0.47
- Cloud SQL, db-f1-micro with 10 GiB: $9.37
- Cloud Scheduler, 3 jobs: $0.00
- Artifact Registry, 1 GiB: $0.05
- Secret Manager, 5 secrets: $0.00
- Egress, 4 GiB: $0.48

**Total: $11.09 a month.**

The egress line is on the high side. Google's network pricing page lists $0.12 a GiB, but Cloud Run's own SKU for traffic from Europe to Europe is $0.105 in the Billing Catalog, and that is what our bills show.

The free tiers are per billing account, so this example gives all of them to one app. If you run several apps or projects in one account, they share them, and the order in which they use them up decides which project gets billed. Our own bills showed it: secrets on two of our services billed a few cents a month only because other projects on the account had already used the six free versions.

## Lines that surprise a first bill

The example leaves out a few settings that are easy to switch on and bill every hour of the month, whatever the traffic:

- **A minimum instance.** One instance of 1 vCPU and 512 MiB kept warm bills its idle time at $0.0000025 per vCPU-second and per GiB-second: 2,628,000 seconds x $0.00000375 = about $9.86 a month, as much as the database. [Min instances and startup CPU boost](https://exodus.elim.io/blog/min-instances-and-startup-cpu-boost) shows when it is worth it.
- **High availability on Cloud SQL.** A standby in a second zone doubles the machine: `db-f1-micro` goes from $0.0105 to $0.021 an hour.
- **A load balancer for a custom domain.** It bills per hour and per gigabyte, apart from Cloud Run; [custom domains and HTTPS](https://exodus.elim.io/blog/custom-domains-and-https-on-cloud-run) compares it with Firebase Hosting.
- **A fixed outbound address**, for a partner that allows only known IPs. It needs Cloud NAT, which bills per hour; [egress on Google Cloud](https://exodus.elim.io/blog/egress-on-google-cloud-explained) has the numbers.

None of them is needed for a small app on day one.

## When Cloud Run costs more

Request billing rewards idle time. A process that keeps a CPU busy most of the day, such as an image resizer under constant load or a worker that never waits, has none to give. Run it on instance-based billing, one vCPU and 512 MiB, up all month:

- CPU: 730 h x 3,600 s = 2,628,000 vCPU-seconds, less 240,000 free, x $0.000018 = $42.98
- Memory: 1,314,000 GiB-seconds, less 450,000 free, x $0.000002 = $1.73

That is **$44.71 a month** for one always-busy core, and $49.93 once the free tier is used by something else. On request-based billing the same instance, busy all day, would cost $61.14; the two cross at about 18 busy hours a day, as the chart in [what Cloud Run is](https://exodus.elim.io/blog/what-cloud-run-is) shows. A one-year commitment takes 17% off Cloud Run's prices, which helps a steady service and not a spiky one.

For steady load around the clock, a fixed-price VM or VPS usually costs less than any Cloud Run setting, and [Cloud Run or a VPS](https://exodus.elim.io/blog/cloud-run-or-a-vps) compares them. In this case Exodus's verdict is to stay, and the report says why.

## What our own services cost

Exodus team: these are our own small services on Cloud Run in `europe-west1`, October 2026, from steady days of the billing export.

- A Rust API on a document database, with a scheduled job every minute: $0.13 a month. Its Cloud Run usage, $1.79 at list prices, was all inside the free tier; the 13 cents were lines outside Cloud Run, such as a secret.
- A Rust API, a web app and a worker on Cloud SQL `db-f1-micro` with 10 GiB: $9.79 a month, of which the database was $9.34. The estimate made from list prices, as above, was $9.64; the gap was storage reads, traffic between zones and free tiers used by other projects.
- Five tiny services sharing one project: $0.69 a month.
- A one-page static site behind nginx: about a cent.

The first days after a move cost more than a steady month, because the first deploys build on Google: Cloud Build charged $2.10 on the first day of one of ours.

## There is no hard cap

Google bills what runs. A bug that loops, or a crawler that hammers an endpoint, scales the service up and the bill with it, to 100 instances per revision by default. Set a maximum number of instances on every service; for a small app, 3 to 10 is a sane start:

```shell
gcloud run services update my-service \
  --region europe-west1 \
  --max-instances 3
```

Then set a budget alert on the billing account. A spend cap budget can also pause Cloud Run in one project when its estimated cost passes an amount; it acts on estimated costs, not instantly, and anything used before it acts is billed as usual. [Budget alerts and the billing export](https://exodus.elim.io/blog/budget-alerts-and-the-billing-export) sets up both.

## Where Exodus comes in

An Exodus report does this arithmetic for your app: it reads the processes, the database and the schedules from your repository, asks for your traffic, and prices each part on today's host and on Cloud Run from these list prices, line by line, with the date the prices were read. Once the app runs on Google, `exodus bill` reads the real month from your project's billing export in BigQuery, so the estimate can be checked against the invoice.

## FAQ

### Is Cloud Run free for a small app?

Cloud Run itself is free for a small app while its usage stays inside the monthly free tier of 180,000 vCPU-seconds, 360,000 GiB-seconds and 2 million requests per billing account; the web service in this guide costs $0 at 500 visits a day. The database does not scale to zero: Cloud SQL's smallest instance with 10 GiB is $9.37 a month.

### Does Cloud Run charge when there is no traffic?

On request-based billing, the default, a Cloud Run service is billed only while a request is open on an instance, while it starts and while it shuts down. A few settings bill every hour whatever the traffic: a minimum instance, about $9.86 a month at 1 vCPU and 512 MiB, high availability on Cloud SQL, a load balancer and Cloud NAT.

### Is Cloud Run cheaper than a VPS?

Cloud Run costs less than a VPS for an app that is idle most of the day, because request billing rewards idle time. For steady load around the clock, a fixed-price VM or VPS usually costs less: one always-busy vCPU with 512 MiB costs $44.71 a month on instance-based billing and $61.14 on request-based.

### How much does a Cloud Run job cost?

A Cloud Run job is billed at instance-based prices, $0.000018 per vCPU-second and $0.000002 per GiB-second in Tier 1, for the whole life of its instance, with a minimum of one minute. Jobs draw on the instance-based free tier of 240,000 vCPU-seconds and 450,000 GiB-seconds a month.

### Can I set a spending limit on Cloud Run?

Google bills what runs, so there is no hard cap. Set a maximum number of instances on every service, 3 to 10 for a small app instead of the default 100 per revision, and a budget alert on the billing account. A spend cap budget can pause Cloud Run in one project, but it acts on estimated costs, not instantly.

## Sources

1. [Cloud Run pricing, Google (request-based: $0.000024 per vCPU-second, $0.0000025 per GiB-second, $0.40 per million requests, free each month per billing account 180,000 vCPU-seconds, 360,000 GiB-seconds, 2 million requests; instance-based and jobs: $0.000018 and $0.000002, free 240,000 and 450,000; idle minimum instance $0.0000025; usage rounded up to 100 ms; requests denied by IAM are not billed; jobs billed for the whole life of an instance with a minimum of 1 minute; outbound traffic at networking prices with 1 GiB a month free within North America; Tier 1 and Tier 2 region lists; list prices read Oct 12, 2026)](https://cloud.google.com/run/pricing)
2. [Cloud Billing Catalog API, Cloud Run service 152E-C115-5142 (Tier 2 request-based CPU $0.0000336 and memory $0.0000035, 1.4 times Tier 1; instance-based CPU in europe-west2 $0.0000216, 1.2 times europe-west1; Cloud Run internet egress Europe to Europe $0.105 per GiB in its first tier; prices effective Oct 12, 2026, queried Oct 12, 2026)](https://docs.cloud.google.com/billing/docs/how-to/get-pricing-information-api)
3. [Compute flexible committed use discounts, Cloud Run, Google (17% off with a one-year commitment; read Oct 12, 2026)](https://docs.cloud.google.com/run/cud)
4. [Cloud SQL pricing, Google (db-f1-micro $0.0105 an hour, shared core, 0.6 GiB, not covered by the Cloud SQL SLA; SSD storage $0.000232877 per GiB-hour, $0.17 a GiB-month; backups $0.08 a GiB-month; extended support for db-f1-micro $0.018 an hour in years 1 and 2; read Oct 12, 2026)](https://cloud.google.com/sql/pricing)
5. [Cloud Tasks pricing, Google (first 1 million billable operations a month free per billing account, then $0.40 per million; read Oct 12, 2026)](https://cloud.google.com/tasks/pricing)
6. [Cloud Scheduler pricing, Google (3 jobs a month free per billing account, not per project; then $0.10 per job per 31 days, counted per day; read Oct 12, 2026)](https://cloud.google.com/scheduler/pricing)
7. [Artifact Registry pricing, Google (0.5 GiB of storage free per billing account, then $0.000136986 per GiB-hour, $0.10 a GiB-month; transfer within a continent free; read Oct 12, 2026)](https://cloud.google.com/artifact-registry/pricing)
8. [Secret Manager pricing, Google (6 active secret versions free, then $0.06 a version a month; 10,000 access operations free, then $0.03 per 10,000; read Oct 12, 2026)](https://cloud.google.com/secret-manager/pricing)
9. [Network pricing, Google (Premium Tier internet data transfer: the first GiB free, then $0.12 per GiB to 1 TiB to North America and to Europe; read Oct 12, 2026)](https://cloud.google.com/vpc/network-pricing)
10. [Cloud Build pricing, Google (2,500 free build-minutes a month per billing account on e2-standard-2 in the default pool, then $0.006 a minute; read Oct 12, 2026)](https://cloud.google.com/build/pricing)
11. [Cloud Logging pricing, Google (ingestion $0.50 per GiB with 30 days of storage, the first 50 GiB per project a month free; read Oct 12, 2026)](https://cloud.google.com/products/observability/pricing)
12. [Set maximum instances for services, Cloud Run, Google (by default Cloud Run sets 100 instances for each revision; updated Oct 9, 2026, read Oct 12, 2026)](https://docs.cloud.google.com/run/docs/configuring/max-instances)
13. [Manage spend cap budgets, Cloud Billing, Google (Cloud Run is eligible; enforced on gross estimated costs, not instantly, and usage before it is billed as normal; read Oct 12, 2026)](https://docs.cloud.google.com/billing/docs/how-to/budgets-spend-caps)
14. Exodus team: our own Cloud Run services in October 2026, europe-west1, monthly figures from steady days and the billing export (a Rust API on a document database $0.13; a Rust API, web app and worker on Cloud SQL db-f1-micro with 10 GB, $9.79 of which the database $9.34; five tiny services in one project $0.69; a one-page static site about $0.01; one-off builds on Cloud Build $2.10 in the first days of a move; Cloud Run egress billed $0.105 a GiB in Europe)
