Skip to main content
Firebase
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
  • Data Connect
  • Extensions
  • Firebase ML
  • Firestore
  • Genkit
  • Hosting
  • Realtime Database
  • Firebase AI Logic client SDKs
  • 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
  • Events
  • 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 Studio Go to console Sign in
  • Documentation
  • Realtime Database
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
  • Use Emulator Suite
  • AI assistance with Gemini in Firebase
AI
  • Develop with AI
  • Firebase Studio
    Build and ship full-stack AI-infused apps right from your browser.
  • Gemini in Firebase
    Streamline development with this AI-powered assistant in the Firebase console.
  • 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
  • Emulator Suite
  • Authentication
  • App Check
  • Data Connect
  • Firestore
  • Realtime Database
  • Storage
  • Security Rules
  • App Hosting
  • Hosting
  • Cloud Functions
  • Extensions
  • ML
Run
  • Test Lab
  • App Distribution
  • Crashlytics
  • Performance Monitoring
  • Remote Config
  • A/B Testing
  • Analytics
  • Cloud Messaging
  • In-App Messaging
  • Dynamic Links
  • Google AdMob
  • Google Ads
Reference Samples
Firebase
  • Build
    • More
  • Run
    • More
  • Solutions
  • Pricing
  • Docs
    • More
    • Overview
    • Fundamentals
      • More
    • AI
      • More
    • Build
      • More
    • Run
      • More
    • Reference
    • Samples
  • Community
    • More
  • Support
  • Blog
  • Studio
  • 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
    • Customize the Email Action Handler
    • Extend with Cloud Functions
    • Extend with blocking functions
    • Email Custom Domains
    • Case Studies
    • Usage Limits
  • 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
  • Data Connect
    • Introduction
    • Pricing and billing
    • Get started
    • Get started (local development)
    • Design schemas and operations
    • Design Data Connect schemas
    • Implement Data Connect queries
    • Implement Data Connect mutations
    • Secure operations with authorization
    • Develop and test with Data Connect
    • Seed test data and perform bulk operations
    • Generate Web SDKs
    • Generate Android SDKs
    • Generate iOS SDKs
    • Generate Flutter SDKs
    • Use the Data Connect emulator for CI/CD
    • Manage Data Connect projects
    • Manage schemas and connectors
    • Manage services and databases
    • Run privileged operations with the Firebase Admin SDK
    • Data Connect solutions
    • Use AI assistance for schemas, queries and mutations
    • 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
    • Configuration and security reference
    • Common Expression Language (CEL) reference
    • Cloud Audit Logging reference
  • Cloud Firestore
    • Introduction
    • Cloud Firestore editions
    • Standard edition
    • Discover
      • Introduction
    • Understand Cloud Firestore
      • Compare Cloud Firestore and Realtime Database
      • Data model
      • Data types
      • SDKs and client libraries
      • Index types
      • Database locations
      • Data bundles
    • Get started
    • Manage databases
    • Add and manage data
      • Structure data
      • Add data
      • Transactions and batched writes
      • Data contention in transaction
      • Delete 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
      • Bulk delete data
    • Read data
      • 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
    • Secure and validate data
      • Overview
      • Get started
      • Structure Security Rules
      • Writing conditions for Security Rules
      • Fix insecure rules
      • Test your Security Rules
      • Securely query data
      • Control access per field
    • Solutions
      • Overview
      • Solutions using Firebase Extensions
      • Integrate with BigQuery
      • Implement an AI-driven chatbot
      • Enrich handling of text
      • Enhance value of media
      • Solutions using guided custom implementations
      • Develop generative AI features
      • Firestore Lite Web SDK
      • Write-time aggregations
      • Distributed counters
      • Full-text search
      • 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
    • 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
      • 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
    • Discover
      • MongoDB compatibility overview
    • Get started
      • Create a Firestore with MongoDB compatibility database and connect to it
      • 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
    • Manage databases
      • Create and manage databases
    • Connect to a database
      • Authenticate and connect to a database
    • Manage data
      • Bulk data delete
      • Import and export data
    • Migrate
      • Migrate to Firestore with MongoDB compatibility
      • Best practices for bulk data loading
    • Develop
      • Behavior differences
      • Indexes
        • Indexes overview
        • Manage indexes
      • Optimize query execution
        • Identify queries to optimize
        • Analyze query execution with Query Explain
        • Optimize query execution
      • Manage data retention with TTL policies
      • Understand reads and writes at scale
    • Secure data
      • Identity and Access Management (IAM)
      • VPC Service Controls
      • Server-side encryption
      • Secure data with customer-managed encryption keys (CMEK)
        • About CMEK
        • Use CMEK
    • Usage, limits, and pricing
      • Quotas and limits
      • Pricing examples
      • Storage size calculations
      • Query execution reference
      • Locations
    • Monitor and troubleshoot
      • Monitor database metrics
      • Audit logging
      • Resolve latency issues
      • Understand error codes
    • Backup and restore
    • 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