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.
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
| Operation | Rate (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.
Related posts
- GCP Cloud Build cost: you pay per build-minute
Cloud Build bills per build-minute by machine type, with a daily free allowance. Slow builds and oversized machines drive the cost. Caching, parallelism, and right-sized machines are the levers. Here is how the per-minute model works.
- GCP Cloud Logging cost: you pay per GB ingested
Cloud Logging charges about $0.50 per GB ingested after a 50 GB monthly free allowance, plus retention beyond the default. Exclusion filters and sampling are the main levers. Here is how the ingestion-based model works and where cost hides.
- GCP Cloud Workstations cost: pay per hour a workstation runs
Cloud Workstations bills a management fee plus the underlying Compute Engine VM and storage while a workstation runs, with auto-shutdown when idle. Idle workstations left running are the classic waste. Here is the model and how to control it.
- GCP Memorystore cost: you pay for provisioned capacity per hour
Memorystore for Redis bills per GB of provisioned capacity by the hour, by tier (Basic or Standard with a replica). Capacity, not usage, sets the bill, so right-sizing the instance and choosing the tier are the levers. Here is how it prices.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.