gcpfirestoredatabasecost-optimization

GCP Firestore cost: you pay per read, write, and delete

Firestore bills per document operation (reads about $0.06 per 100k, writes about $0.18, deletes about $0.02) plus storage and egress, with a daily free tier. Query patterns, not data size, drive the bill. Here is how to keep operations down.

The C3X Team··5 min read

Quick answer

Firestore charges per document operation: reads about $0.06 per 100k, writes about $0.18 per 100k, deletes about $0.02 per 100k, plus storage (~$0.18/GB-month) and egress, with a daily free tier. Operation count, not data size, drives the bill, so caching, query design, and avoiding over-reads are the levers.

Firestore is a serverless document database billed by the operation. You pay for every document read, write, and delete, so the shape of your queries and access patterns, not how much data you store, determines the cost.

Operations are the bill

OperationRate (approximate)
Document reads~$0.06 / 100k
Document writes~$0.18 / 100k
Document deletes~$0.02 / 100k
Storage~$0.18 / GB-month

A query that returns 100 documents is 100 reads. Listing a large collection on every page load, or reading a document repeatedly, multiplies reads fast. There is a daily free tier that covers small apps entirely, but busy apps pass it quickly.

Reads are usually the problem

Writes and deletes are deliberate, but reads sneak up: listeners that re-read on every change, queries without limits, and fetching whole documents to use one field. Cache frequently read documents in your app or a cache layer, paginate with limits, and denormalize so a screen needs fewer reads, the caching lever applied to the database.

Reducing Firestore cost

Design queries to read only what a view needs, cache hot documents, avoid unbounded list operations, and batch writes where possible. Keep clients and Firestore in the same region to avoid egress. Because the model is per operation, the entire optimization is doing fewer, more targeted operations.

FAQ

How is Firestore priced?

Per document operation: reads about $0.06 per 100,000, writes about $0.18 per 100,000, deletes about $0.02 per 100,000, plus storage at about $0.18 per GB-month and egress. A daily free tier covers small apps. Operation count drives the bill.

Why is my Firestore read cost high?

Usually query patterns: listeners that re-read on every change, queries without limits, listing large collections on every page load, or fetching whole documents to use one field. Each returned document is a billed read, so these multiply fast.

How do I reduce Firestore cost?

Cache frequently read documents, paginate queries with limits, denormalize so a screen needs fewer reads, batch writes, and design queries to return only what a view needs. Keep clients and Firestore in the same region to avoid egress.

Does Firestore charge for storage or operations?

Both, but operations usually dominate. Storage is about $0.18 per GB-month, while reads, writes, and deletes are charged per operation. For most apps the operation count, driven by query and access patterns, is the larger and more variable cost.

Is Firestore cheaper than DynamoDB?

They price differently: Firestore per document operation, DynamoDB per read and write capacity or per request. Which is cheaper depends on access patterns and whether DynamoDB is on-demand or provisioned. Both reward reading and writing less, so efficient access matters more than the platform.

Does C3X estimate Firestore cost?

Firestore cost is driven by operation counts, a usage input. C3X prices the surrounding GCP infrastructure, and you model read, write, and delete volume to estimate the per-operation charge.

What to do next

Estimate the infrastructure around your database before you build it. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.