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-microwith 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.
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 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:
The catalog needs an access token in a header file, never on the command line. 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:
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 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 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 compares the next sizes up, and 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).
- 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 shows when it is worth it.
- High availability on Cloud SQL. A standby in a second zone doubles the machine:
db-f1-microgoes 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 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 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 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 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-microwith 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:
gcloud run services update my-service \
--region europe-west1 \
--max-instances 3Then 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 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
14
- cloud.google.comCloud Run pricing, Google
- docs.cloud.google.comCloud Billing Catalog API, Cloud Run service 152E-C115-5142
- docs.cloud.google.comCompute flexible committed use discounts, Cloud Run, Google
- cloud.google.comCloud SQL pricing, Google
- cloud.google.comCloud Tasks pricing, Google
- cloud.google.comCloud Scheduler pricing, Google
- cloud.google.comArtifact Registry pricing, Google
- cloud.google.comSecret Manager pricing, Google
- cloud.google.comNetwork pricing, Google
- cloud.google.comCloud Build pricing, Google
- cloud.google.comCloud Logging pricing, Google
- docs.cloud.google.comSet maximum instances for services, Cloud Run, Google
- docs.cloud.google.comManage spend cap budgets, Cloud Billing, Google
- Exodus team: our own Cloud Run services in October 2026, europe-west1, monthly figures from steady days and the billing export