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
  • 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
  • Hosting
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
Firebase
  • 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
      • Create a Reference
      • Upload Files
      • Download Files
      • Use File Metadata
      • Delete Files
      • List Files
      • Handle Errors
    • Web
      • Get Started
      • Create a Reference
      • Upload Files
      • Download Files
      • Use File Metadata
      • Delete Files
      • List Files
      • Handle Errors
    • Flutter
      • Get Started
      • Create a Reference
      • Upload Files
      • Download Files
      • Use File Metadata
      • Delete Files
      • List Files