Pricing

Pay as you go. The first $3 each month is free.

One plan, no tiers. Usage is metered per request across every service, and the first $3.00 of usage every month is on us. Stay under $3 and you pay nothing — most side projects never do.

$3/mo free

Free under $3, then only the difference

Every organization gets the first $3.00 of metered usage free, every month. Go over and you're billed only for the amount above $3 — not the whole bill. No seats, no minimums, no plan to pick.

Start free
Metered usage

What each unit costs

These are the rates your monthly total is built from, one card per service. Usage is measured precisely and shown live in the console. There's no always-on cluster: nothing bills while idle, and an index or namespace you aren't touching costs only its storage. The one standing charge is a deployed function, which costs its ten cents a month whether or not anyone calls it.

Docs

Queries, plus the same three axes as Datastore. An index you aren't querying costs only its storage.

Queries per 10,000 queries
$0.50
Reads per 100,000 reads (1 read = up to 100 rows examined)
$0.10
Writes per 100,000 rows written
$0.25
Stored data per GB-month
$0.80

Channel

Docs

Deliveries and connection time. A channel with no open connections costs nothing.

Message deliveries per 100,000 deliveries
$0.25
Connection time per 100,000 connection-seconds
$0.002

Datastore

Docs

Writes, reads and stored data. A namespace you aren't using costs only its stored data.

Writes per 100,000 writes
$0.20
Reads per 100,000 reads (1 read = up to 100 rows examined)
$0.05
Stored data per GB-month
$0.80

Auth

Docs

Sign-ups, sign-ins and the users you keep. Verifying a token on another service's request bills there, not here.

Sign-ups per 1,000 accounts created
$0.10
Sign-ins per 10,000 sign-ins (a token refresh counts as one)
$0.10
Stored users per 1,000 users, averaged over the month
$0.01

Functions

Docs

Invocations and CPU time, plus the one standing charge on this page: a deployed function costs its ten cents whether or not anyone calls it.

Invocations per 100,000 invocations
$0.20
CPU time per 1 million CPU-milliseconds
$0.10
Deployed functions per function per month, prorated
$0.10

Blob

Docs

The bytes you keep and the operations you perform. A public file served from cache isn't even a read.

Stored files per GB-month, averaged over the month
$0.04
Uploads per 1,000 upload links used
$0.02
Writes & lists per 1 million operations
$12.00
Reads per 1 million operations (a cached read is free)
$1.00
Bandwidth not metered
$0.00

Static

Docs

Served requests and the bytes a build keeps. Storage is deduplicated across builds, so keeping deploy history is close to free.

Requests per 1 million served requests (a cache hit is still a request)
$1.00
Stored files per GB-month, deduplicated across builds
$0.04
Uploads & deletes per 1 million operations
$12.00
Bandwidth not metered
$0.00

Containers

Docs

The time a machine actually ran, plus a fee per job. Nothing accrues while an instance is idle.

Machine time per 1,000 machine-seconds (a second on a large counts as 12)
$0.02
Jobs per 1,000 jobs started
$1.00

Automation

Docs

Connected time for your own machines, plus the runs they execute. Setting a machine up is not billed.

Connected agents per 1 million agent-seconds (≈ $13/month for an always-on machine)
$5.00
Runs per 1,000 runs started
$1.00
Run time per 1,000 seconds a run spent executing
$0.02

MCP server

Docs

Tool calls an agent makes. Work a tool does bills to its own service as well, exactly as the same call over REST would.

Tool calls per 1,000 tool calls (connecting and listing tools are free)
$0.02

How the free tier plays out

  • A small app — ~20K searches, tiny index≈ $1.05 → free
  • Growing — 100K searches, 500K writes, 2 GB stored≈ $8.00 → you pay $5.00
  • A datastore app — 200K writes, 2M reads, 1 GB stored≈ $2.20 → free
  • An app with sign-in — 10K users, 2K new sign-ups, 100K sign-ins≈ $1.30 → free
  • Search + Datastore on one org — the $3 is shared≈ $5.00 → you pay $2.00
  • A quiet month with almost no traffic$0.00 → free

Rates shown in USD. Your live usage and current total are always visible in the console.

FAQ

Questions, answered

How does the free tier work?

There are no per-metric allowances to track. Usage is metered per request, and the first $3.00 of usage every month is free for every organization. Stay under $3 and you pay nothing; go over and you pay only the amount above $3.

Is it really just pay-as-you-go?

Yes. There's one plan: pay-as-you-go. No tiers, seats, or minimums to choose between — you pay for the usage you incur, minus the first $3 each month.

How is Search billed?

Search is billed on queries plus the same three axes as Datastore: reads, writes, and stored data. Queries are a flat $0.50 per 10,000 search requests. Reads meter the work a query does on top of that — one read covers up to 100 rows examined, so a selective query costs a read or two while a broad scan pays for the rows it touches — and a repeated query served from cache bills no reads at all, just its query. Writes are metered by rows written: putting a document writes its row plus its index rows, so bigger documents with more indexed fields cost more writes (deletes bill the same way, as the rows they remove; deleting an index is free). Storage covers your documents and their index together. There's no always-on cluster, so an index you aren't querying costs only its storage.

How is Channel billed?

Channel is billed on two things: message deliveries, and connection time — the total time your subscribers stay connected (about five cents a month per always-on connection). A channel with no open connections costs nothing.

How is Datastore billed?

Datastore is billed on writes, reads, and stored data. Every index you declare adds a write per document, so indexing more fields costs more writes — indexing is the cost lever you control, and a field you never query costs nothing extra. Reads are metered by rows examined — one read covers up to 100 rows scanned, so a get or a small page is a single read, while a large query or aggregate pays for the rows it touches (a repeated read served from cache costs one read). There's no always-on capacity: a namespace you aren't using costs only its stored data.

How is Auth billed?

Auth is billed on three things: sign-ups, sign-ins, and stored users. A sign-up is a one-time charge per account created ($0.10 per 1,000). A sign-in is charged per issued token pair — every successful sign-in and every token refresh — at $0.10 per 10,000, so keeping identity tokens short-lived costs almost nothing. Stored users is your account count sampled hourly and averaged over the month ($0.01 per 1,000), so dormant accounts you never prune still count. Verifying an identity token on a Datastore or Channel request isn't an auth charge — that request bills on its own service's rates.

How are Functions billed?

Functions are billed on invocations ($0.20 per 100,000), CPU time ($0.10 per million CPU-milliseconds), and a flat $0.10 per deployed function per month, prorated from the day you deploy it. That last one is the only charge on this page that accrues while nothing is happening — a deployed function stays live and callable whether or not anything calls it, so delete the ones you have finished with. Calls your function makes to Datastore, Search, Auth or Channel bill on those services at their normal rates: running work inside a function is neither a discount on them nor a second charge on top.

How is Blob billed?

Blob is billed on two things: the bytes you keep and the operations you perform. Storage is sampled hourly and averaged over the month, so a file uploaded on the 20th costs a third of a month rather than a whole one. Uploads are a small flat fee per link used; writes and lists are the expensive operation and reads are the cheap one. Bandwidth isn't metered at all — and a public file served from cache isn't even a read. A file that goes viral costs close to nothing to keep serving.

How is Static billed?

Requests and stored bytes. Bandwidth isn't metered, which is the entire cost of hosting a website almost anywhere else. Every served request is billed, cache hit included — a million page views is about a dollar — because a request to your site runs our code either way; it is priced to bound a runaway rather than to be noticed.

Storage is deduplicated across builds: a deploy only stores the files that changed, so ten deployments of a 40 MB site that changed one page cost about 40 MB, not 400. It is sampled hourly and averaged over the month, so deploying on the 20th costs a third of a month. Keeping your deploy history is close to free, which is why a rollback is always available.

How is Automation billed?

Three things: the time each enrolled machine spends connected, a small fee per run started, and the time runs actually spent executing. A machine idling all day between two nightly jobs pays for being connected and almost nothing else — which is the honest shape, because your PC costs us nothing and our end of its connection does. Files a run keeps are objects in a Blob instance and appear on Blob's lines, not on an automation line of their own. Each instance carries a per-run cost ceiling, and the machine itself stops a run when its budget is spent — so a script with no time limit still cannot spend more than you allowed.

Setting a machine up is not billed. A run pays nothing for the time it spends installing VirtualBox, fetching and verifying Windows installation media, or building a guest, and that time is not charged against its cost ceiling either — so a ninety-minute Windows install cannot eat the budget for the nightly export it was preparing for. The line is once per machine, not once per run: booting a guest and copying the agent into it happen every time and are the job. A run's record shows its credited seconds beside its billed ones.

How are Containers billed?

Containers are billed on the time a machine actually ran, plus a small fee per job that covers starting and watching it. Machine time is scaled by size — a second on a large counts as twelve on a small — so one rate covers every size. A job is never billed for longer than the timeout it was started with, and nothing accrues while an instance is idle, because there's no machine when there's no job. Each instance carries a per-job cost ceiling checked before the machine starts, so a job that could cost more than you meant is refused rather than run.

How is the MCP server billed?

Tool calls an AI agent makes are metered at $0.02 per 1,000. Connecting, listing tools and reading resources are free — they count against the rate limit but never appear on a bill. Work a tool does bills to its own service as well, exactly as the same operation over REST would: a datastore_query costs the datastore reads it performs, plus the per-call fee.

Do I need a credit card to start?

No. Create an organization, add API keys, and use every service with no card. Add a payment method only if you expect to go past $3 a month.