Use this guide to understand Cloud Firestore limits, and see Cloud Firestore Pricing for a full, detailed explanation of Cloud Firestore costs, including things to watch out for.
Monitor your usage
To monitor your Cloud Firestore usage, open the Cloud Firestore Usage tab in the Firebase console. Use the dashboard to gauge your usage over different time periods.
Detailed usage in the Google Cloud Console
When you create a Firebase project, you're also creating a Google Cloud project. The App Engine Quotas page in the Google Cloud Console tracks Cloud Firestore usage and quota information.
Cloud Firestore offers free quota that allows you to get started at no cost. The free quota amounts are listed below. If you need more quota, you must enable billing for your Cloud Platform project.
Quotas are applied daily and reset around midnight Pacific time.
|Stored data||1 GiB|
|Document reads||50,000 per day|
|Document writes||20,000 per day|
|Document deletes||20,000 per day|
|Network egress||10 GiB per month|
The following tables show the limits that apply to Cloud Firestore. These are hard limits unless otherwise noted.
Collections, documents, and fields
|Constraints on collection IDs||
|Maximum depth of subcollections||100|
|Constraints on document IDs||
|Maximum size for a document name||6 KiB|
|Maximum size for a document||1 MiB (1,048,576 bytes)|
|Constraints on field names||Must be valid UTF-8 characters|
|Maximum size of a field name||1,500 bytes|
|Constraints on field paths||
|Maximum size of a field path||1,500 bytes|
|Maximum size of a field value||1 MiB - 89 bytes (1,048,487 bytes)|
|Maximum depth of fields in a map or array||20|
Writes and transactions
|Maximum writes per second per database||10,000 (up to 10 MiB per second)*. This limit will be removed in the future, contact support for early access.|
|Maximum API request size||10 MiB|
|Maximum number of writes that can be passed to a
|Maximum number of field transformations that can be performed on a
single document in a
|Time limit for a transaction||270 seconds, with a 60-second idle expiration time|
Cloud Firestore does not stop you from exceeding the thresholds below, but doing so affects performance.
|Maximum sustained write rate to a document||
1 per second
Sustaining a write rate above once per second increases latency and causes contention errors. This is not a hard limit, and you can surpass the limit in short bursts.
|Maximum write rate to a collection in which documents contain sequential values in an indexed field||500 per second|
|Maximum concurrent connections for mobile/web clients per database||
Cloud Firestore does not stop you from exceeding this soft limit but doing so greatly affects latency and error rate.
|Maximum number of composite indexes for a database||200|
|Maximum number of single-field index exemptions for a database||200|
Maximum number of index entries for each document
The number of index entries is the sum of the following for a document:
To see how Cloud Firestore turns a document and a set of indexes into index entries, see this index entry count example.
|Maximum size of an index entry||
To see how Cloud Firestore calculates index entry size, see index entry size.
|Maximum sum of the sizes of a document's index entries||
The total size is the sum of the following for a document:
|Maximum size of an indexed field value||
Field values over 1500 bytes are truncated. Queries involving truncated field values may return inconsistent results.
The following limits apply to managed import and export operations:
|Maximum total number of both export and import requests for a project allowed per minute||20|
|Maximum number of concurrent exports and imports||50|
|Maximum number of collection ID filters for export and import requests||100|
|Maximum number of
Exceeding either limit results in a permission denied error.
Some document access calls may be cached, and cached calls do not count towards the limits.
|Maximum path length, in path segments, allowed within a set of nested
|Maximum number of path capture variables allowed within a set of
|Maximum function call depth||20|
|Maximum number of function arguments||7|
|Maximum number of
|Maximum number of recursive or cyclical function calls||0 (not permitted)|
|Maximum number of expressions evaluated per request||1,000|
|Maximum size of a ruleset||Rulesets must obey two size limits:
To help avoid unexpected charges on your bill, set monthly budgets and alerts.
Set a monthly budget
To track your Cloud Firestore costs, create a monthly budget in the Google Cloud Console. Budgets won't limit your usage, but you can set alerts to notify you when you're approaching or exceeding your planned costs for the month.
To set a budget, go to the Billing section in the Google Cloud Console and create a budget for your Cloud Billing account. You can use the default alert settings or modify the alerts to send notifications at different percentages of your monthly budget.
Learn more about setting up budgets and budget alerts.
Set a daily spending limit
To cap your Cloud Firestore usage, set a daily spending limit through App Engine. App Engine allows you to set a daily spending limit on App Engine associated resources, including Cloud Firestore. The App Engine limit does not apply to any other Firebase products.