Skip to main content
Build
Build
Get to market quickly and securely with products that can scale globally
Go to Build
Build Products
App Check
App Hosting
Authentication
Cloud Functions
Cloud Storage
SQL Connect
Extensions
Firebase ML
Firestore
Genkit
Hosting
Phone Number Verification
Realtime Database
Firebase AI Logic
Generative AI
Run
Run
Run your app with confidence and deliver the best experience for your users
Go to Run
Run Products
A/B Testing
App Distribution
Cloud Messaging
Crashlytics
Google Analytics
In-App Messaging
Performance Monitoring
Remote Config
Test Lab
Solutions
Pricing
Docs
Overview
Fundamentals
AI
Build
Run
Reference
Samples
Community
Learn
Stories
Support
/
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Polski
Português – Brasil
Tiếng Việt
Türkçe
Русский
עברית
العربيّة
فارسی
हिंदी
বাংলা
ภาษาไทย
中文 – 简体
中文 – 繁體
日本語
한국어
Blog
Go to console
Sign in
Documentation
SQL Connect
Overview
Fundamentals
Add Firebase - Apple platforms (iOS+)
Add Firebase - Android
Add Firebase - Web
Add Firebase - Flutter
Add Firebase - C++
Add Firebase - Unity
Add Firebase - Server environments
Manage Firebase projects
Supported platforms & frameworks
AI
Develop with AI assistance
Overview
Gemini in Firebase
Streamline development with an AI-powered assistant in Firebase interfaces and tools.
MCP, Gemini CLI, & agents
Access agentive development tools, like our MCP server and Gemini CLI extension.
Firebase Studio (deprecated)
Build and ship full-stack AI-infused apps right from your browser.
Build AI-powered apps
Firebase AI Logic
Build AI-powered mobile and web apps and features with the Gemini and Imagen models using Firebase AI Logic.
Genkit
Build full-stack AI-powered applications using this open-source framework.
Build
Authentication
Simplify user authentication and sign-in on a secure, all-in-one identity platform.
Phone Number Verification
Obtain the phone number of a device directly from the carrier, without SMS.
App Check
Protect your backend resources from abuse and unauthorized access.
Security Rules
Define granular, server-enforced rules to protect your database and storage data.
SQL Connect
Build and scale your apps using a fully-managed PostgreSQL relational database service.
Firestore
Store and sync data using a scalable NoSQL cloud database with rich data models and queryability.
Realtime Database
Store and sync data in realtime with a NoSQL cloud database.
Storage
Store and serve content like images, audio, video with a secure cloud-hosted solution.
App Hosting
Deploy your modern, full-stack web apps with server-side rendering and AI features.
Hosting
Deploy your static and single-page web apps to a global CDN with a single command.
Cloud Functions
Run backend code in response to events without provisioning or managing a server.
Extensions
Deploy pre-built integrations and solutions for common tasks.
Emulator Suite
Test your app in real-world conditions without affecting live data.
Run
Test Lab
Test your Android and iOS apps on a wide range of real and virtual devices, all in the cloud.
App Distribution
Streamline delivery of pre-release Android and iOS apps to trusted testers.
Crashlytics
Track, prioritize, and fix app stability issues.
Performance Monitoring
Gain real-time insight into your app's performance and fix issues.
Remote Config
Instantly change your app's behavior and appearance, without publishing an update.
A/B Testing
Test variants to make data-driven decisions about changes, features, and campaigns.
Cloud Messaging
Send notifications and messages to your users on Android, iOS, and the Web.
In-App Messaging
Engage your active users with targeted, contextual messages within your app.
Google Analytics
Gain insights into user behavior, and optimize your app's marketing and performance.
Google Admob
Monetize your app, gain user insights, and tailor the ad experience.
Google Ads
Run smarter campaigns, find high-value users, and measure in-app conversions.
Reference
Samples
Build
More
Run
More
Solutions
Pricing
Docs
More
Overview
Fundamentals
More
AI
More
Build
More
Run
More
Reference
Samples
Community
More
Support
Blog
Go to console
Overview
Emulator Suite
Introduction
Connect your app and prototype
Get started
Connect to the Authentication emulator
Connect to the Realtime Database emulator
Connect to the Firestore emulator
Connect to the Cloud Storage for Firebase emulator
Use the Hosting emulator
Use the App Hosting emulator
Connect to the Cloud Functions emulator
Use the Extensions emulator
Install, configure and integrate
Authentication
Introduction
Where do I start?
Users in Firebase Projects
iOS+
Sign in with a pre-built UI
Get Started
Manage Users
Password Authentication
Email Link Authentication
Email Link Migration
Sign in with Google
Facebook Login
Sign in with Apple
Twitter Login
GitHub
Microsoft
Yahoo
Game Center Sign-in
Phone Number
OpenID Connect
Use a Custom Auth System
Anonymous Authentication
Enabling cross-app authentication with shared Keychain
Link Multiple Auth Providers
SMS Multi-factor Auth
TOTP Multi-factor Auth
Passing State in Email Actions
Handle Errors
Android
Sign in with a pre-built UI
Get Started
Manage Users
Password Authentication
Email Link Authentication
Email Link Migration
Sign in with Google
Facebook Login
Sign in with Apple
Twitter
GitHub
Microsoft
Yahoo
Play Games Sign-in
Phone Number
OpenID Connect
Use a Custom Auth System
Anonymous Authentication
SMS Multi-factor Auth
TOTP Multi-factor Auth
Link Multiple Auth Providers
Passing State in Email Actions
Flutter
Get Started
Manage Users
Password Authentication
Email Link Authentication
Federated Identity & Social
Phone Number
Use a Custom Auth System
Anonymous Authentication
Multi-factor Auth
Link Multiple Auth Providers
Passing State in Email Actions
Handle Errors
Web
Sign in with a pre-built UI
Get Started
Manage Users
Password Authentication
Email Link Authentication
Sign in with Google
Facebook Login
Sign in with Apple
Twitter
GitHub
Microsoft
Yahoo
Phone Number
OpenID Connect
SAML
Use a Custom Auth System
Anonymous Authentication
SMS Multi-factor Auth
TOTP Multi-factor Auth
Link Multiple Auth Providers
Customize Dependencies
OAuth Sign-In for Cordova
Sign in users from a Chrome extension
Auth State Persistence
Passing State in Email Actions
Service Worker Sessions
Best practices for signInWithRedirect flows
C++
Get Started
Manage Users
Password Authentication
Sign in with Google
Play Games Sign-in
GitHub
Facebook Login
Sign in with Apple
Twitter Login
Microsoft
Yahoo
Phone Number
Use a Custom Auth System
Anonymous Authentication
Link Multiple Auth Providers
Unity
Get Started
Manage Users
Password Authentication
Sign in with Google
Play Games Sign-in
GitHub Authentication
Facebook Login
Sign in with Apple
Twitter Login
Microsoft
Yahoo
Phone Number
Use a Custom Auth System
Anonymous Authentication
Link Multiple Auth Providers
Admin
Introduction
Manage Users
Import Users
Create Custom Tokens
Verify ID Tokens
Manage Multi-factor Users
Manage User Sessions
Manage Session Cookies
Control Access with Custom Claims
Generating Email Action Links
Errors
Configure OAuth identity providers programmatically
Configure Auth providers using the Firebase CLI
Customize the Email Action Handler
Extend with Cloud Functions
Extend with blocking functions
Email Custom Domains
Case Studies
Usage Limits
Phone Number Verification
Introduction
Codelab
Get started on Android
Upgrade to production
Verify tokens on your server
Customize the flow
Sign in with phone numbers
Observability
Pricing
App Check
Introduction
Get started
Default providers
iOS+ (DeviceCheck)
iOS+ (App Attest)
Android (Play Integrity)
Web (reCAPTCHA Enterprise)
Web (reCAPTCHA v3)
Flutter
Unity
C++
Custom providers
Server implementation
iOS+ client implementation
Android client implementation
Web client implementation
Unity client implementation
C++ client implementation
Debug & test providers
Use the debug provider in iOS+
Use the debug provider in Android
Use the debug provider in web apps
Use the debug provider with Flutter
Use the debug provider in Unity apps
Use the debug provider with C++
Monitor request metrics
Standard Google services
Cloud Functions for Firebase
Enable enforcement
Standard Google services
Cloud Functions for Firebase
Protect custom resources
Send tokens from the client
iOS+
Android
Web
Flutter
Unity
C++
Verify tokens on the backend
SQL Connect
Introduction
Pricing and billing
Get started
Quickstarts
React
Flutter
Design schemas and operations
Design SQL Connect schemas
Implement SQL Connect queries
Implement SQL Connect mutations
Secure operations with authorization
Implement operations using native SQL
Develop and test with SQL Connect
Seed test data and perform bulk operations
Generate Web SDKs
Generate Android SDKs
Generate iOS SDKs
Generate Flutter SDKs
Get real-time updates
Generate Admin SDKs
Use the SQL Connect emulator for CI/CD
Manage SQL Connect projects
Manage schemas and connectors
Manage services and databases
Run privileged operations with the Firebase Admin SDK
SQL Connect solutions
Use AI assistance for schemas, queries and mutations
Extend with Cloud Functions
Extend data source support with custom resolvers
Perform vector similarity search
Perform full-text search
GraphQL language reference guides
Directives reference
Queries reference
Mutations reference
Objects reference
Input objects reference
Scalars reference
Enums reference
Additional reference guides
CLI reference
SQL Connect configuration file reference
IAM configuration for SQL Connect projects
Common Expression Language (CEL) reference
Cloud Audit Logging reference
Cloud Firestore
Introduction
Cloud Firestore editions
Overview
Firestore Native mode in Standard and Enterprise editions
Standard edition
Discover
Overview of Core operations
Understand Firestore Standard edition
Compare Cloud Firestore and Realtime Database
Data model
Data types
SDKs and client libraries
Index types
Database locations
Data bundles
Get started with Core operations
Get started with mobile and web SDKs
Get started with server client libraries
Manage databases
Manage data
Add data
Structure data
Add data
Transactions and batched writes
Data contention in transaction
Query data with Core operations
Get data
Get real-time updates
Perform simple and compound queries
Order and limit data
Query with range & inequality filters on multiple fields
Overview
Optimize your queries
Summarize data with aggregation queries
Paginate data with query cursors
Access data offline
Search with vector embeddings
Manage indexes
Process and move data
Manage Cloud Firestore with the Firebase console
Export and import data
Manage data retention with time-to-live policies
Process data in bulk with Dataflow
Move data between projects
Delete data
Delete data
Bulk delete data
Secure and validate data
Overview
Get started
Identity and Access Management (IAM)
Structure Security Rules
Writing conditions for Security Rules
Fix insecure rules
Test your Security Rules
Securely query data
Control access per field
Configure data locality with regional endpoints
Solutions
Overview
Solutions using Firebase Extensions
Integrate with BigQuery
Enhance value of media
Solutions using guided custom implementations
Develop generative AI features
Firestore Lite Web SDK
Write-time aggregations
Distributed counters
Build presence
Secure data access for users and groups
Secure data with customer-managed encryption keys (CMEK)
About CMEK
Use CMEK
Delete data with a callable Cloud Function
Schedule data exports
Sharded timestamps
Geo queries
Serve bundled Firestore content from a CDN
Usage, limits, and pricing
Usage and limits
Monitor usage
Explain query performance
Query Explain report reference
Understand Cloud Firestore billing
Committed use discounts
Example Cloud Firestore costs
Understand storage size calculations
Monitor and troubleshoot
Analyze usage patterns with Key Visualizer
Overview
Get started
Exploring heatmaps
Heatmap patterns for document keys
Heatmap patterns for index keys
Backups and point-in-time recovery
Disaster recovery planning
Scheduled backups
Create a backup schedule and restore data
Perform an in-place restore
Point-in-time recovery (PITR)
PITR overview
Work with PITR
Techniques and best practices
Best practices for Cloud Firestore
Map data with Swift Codable
Understand reads and writes at scale
Understand real-time queries at scale
Cloud Firestore integrations
Use the Cloud Firestore REST API
Use Cloud Firestore and Realtime Database
Extend with Cloud Functions for Firebase (2nd gen)
Extend with Cloud Functions for Firebase (1st gen)
Third-party library integrations
API & SDK reference
Swift
Objective-C
Android (Kotlin)
Android (Java)
Web
Flutter
Unity
C++
Cloud Functions
Node.js
Java
Python
Go
C#
PHP
Ruby
REST
RPC
Samples
iOS
Android
Web
Enterprise edition
Overview of Enterprise edition modes
Native mode with Core and Pipeline operations
Overview of Native mode on Enterprise edition
Get started with Native mode
Get started with mobile and web SDKs
Get started with server client libraries
Supported data types
Manage databases
Create and manage databases
Manage data
Add data using Firestore Core operations
Indexing data
Indexing overview
Manage indexes
Data behaviour and lifecycle management
Manage data retention with TTL policies
Understand reads and writes at scale
Understand real-time queries at scale
Extend with Cloud Functions for Firebase (2nd gen)
Import and export data
Query data with Firestore Core operations
Get data
Get realtime updates
Access data offline
Perform simple and compound queries
Query data with Firestore Pipeline operations
Get started with Pipeline operations
Perform joins with subqueries
Functions
Aggregate Functions
Arithmetic Functions
Array Functions
Comparison Functions
Debugging Functions
Generic Functions
Logical Functions
Map Functions
Reference Functions
String Functions
Timestamp Functions
Type Functions
Vector Functions
Stages
Input Stages
Collection
Collection Group
Database
Documents
Literals
Subcollection
Transformation Stages
Add Fields
Aggregate
Distinct
Find Nearest
Let
Limit
Offset
Remove Fields
Replace With
Sample
Search
Select
Sort
Unnest
Union
Where
Output Stages
Delete
Update
Modify data with Firestore Pipeline operations
Use text search with Firestore Pipeline operations
Use geospatial queries with Firestore Pipeline operations
Delete data
Delete data
Bulk data delete
Optimize query and usage performance
Identify queries to optimize
Analyze query execution with Query Explain
Optimize query execution
Query execution reference
Secure and validate data
Security Rules
Overview
Get started
Security Rules for Pipeline queries
Structure Security Rules
Writing conditions for Security Rules
Fix insecure rules
Test your Security Rules
Securely query data
Control access per field
Identity and Access Management (IAM)
VPC Service Controls
Configure data locality with regional endpoints
Server-side encryption
Secure data with customer-managed encryption keys (CMEK)
About CMEK
Use CMEK
Usage, locations, and pricing
Quotas and limits
Analyze usage insights
Pricing
Pricing overview
Read/Write operation pricing examples
Query and real-time pricing examples
Storage size calculations
Locations for Native mode
Monitor and troubleshoot
Monitor database metrics
Audit logging
Resolve latency issues
Understand error codes
Backups and point-in-time recovery
Disaster recovery planning
Scheduled backups
Create a backup schedule and restore data
Perform an in-place restore
Point-in-time recovery (PITR)
PITR overview
Work with PITR
Firestore with MongoDB compatibility
Overview of MongoDB compatibility
Get started with MongoDB compatibility
Create a Firestore with MongoDB compatibility database and connect to it
Manage databases
Create and manage databases
Connect to a database
Authenticate and connect to a database
Manage data
Indexing data
Indexing overview
Manage indexes
Read real-time data with change streams
Data behaviour and lifecycle management
Behavior differences
Understand reads and writes at scale
Extend with Cloud Functions for Firebase (2nd gen)
Import and export data
Supported MongoDB data types, drivers, and features
Supported data types and drivers
Supported features: 8.0
Supported features: 7.0
Supported features: 6.0
Supported features: 5.0
Supported features: 4.0
Supported features: 3.6
Delete data
Bulk data delete
Optimize query performance
Identify queries to optimize
Analyze query execution with Query Explain
Optimize query execution
Query execution reference
Write MQL with Gemini assistance
Use text search
Use geospatial queries
Use saved queries
Overview
Create and manage saved queries
Migrate
Migrate to Firestore with MongoDB compatibility
Best practices for bulk data loading
Secure and validate data
Identity and Access Management (IAM)
Configure Private Google Access with MongoDB compatibility
VPC Service Controls
Server-side encryption
Secure data with customer-managed encryption keys (CMEK)
About CMEK
Use CMEK
Usage, locations, and pricing
Quotas and limits
Analyze usage insights
Pricing
Read/Write operation pricing examples
Storage size calculations
Locations for MongoDB compatibility
Monitor and troubleshoot
Monitor database metrics
Audit logging
Resolve latency issues
Understand error codes
Backups and point-in-time recovery
Disaster recovery planning
Scheduled backups
Create a backup schedule and restore data
Perform an in-place restore
Point-in-time recovery (PITR)
PITR overview
Work with PITR
Realtime Database
Introduction
Choose a Database
iOS+
Get Started
Structure Data
Read and Write Data
Work with Lists of Data
Enable Offline Capabilities
Android
Get Started
Structure Data
Read and Write Data
Work with Lists of Data
Enable Offline Capabilities
Web
Get Started
Structure Data
Read and Write Data
Work with Lists of Data
Enable Offline Capabilities
Flutter
Get Started
Structure Data
Read and Write Data
Work with Lists of Data
Enable Offline Capabilities
Admin
Get Started
Structure Data
Save Data
Retrieve Data
REST
Get Started
Structure Data
Save Data
Retrieve Data
Authenticate REST Requests
C++
Get Started
Structure Data
Save Data
Retrieve Data
Unity
Get Started
Structure Data
Save Data
Retrieve Data
Security & Rules
Understand Rules
Get Started
Structure Security Rules
Write Conditions for Security Rules
Index Data
Manage Rules via REST
Usage and Performance
Understand Billing
Realtime Database Limits
Monitor Database Usage
Monitor Database Performance
Scale with Multiple Databases
Profile Your Database
Optimize Database Performance
Locations
Automated Backups
View & edit data in console
Extend with Cloud Functions
Video series: Firebase for SQL Developers
Storage
Introduction
iOS+
Get Started
Create a Reference
Upload Files
Download Files
Use File Metadata
Delete Files
List Files
Handle Errors
Android
Get Started