Firestore client libraries
This page describes the SDKs and client libraries available for the Firestore API. While you can make direct HTTP and RPC calls to the Firestore API, the Firestore client libraries implement best practices for you and make it easier to access your database.
Firestore supports mobile or web SDKs and server client libraries.
Mobile and web SDKs
Firestore supports SDKs for Android, iOS, and web. Combined with Firestore security rules and Firebase Auth, the mobile and web SDKs support serverless app architectures where clients connect directly to your Firestore database. With a serverless architecture, you don't need to maintain an intermediary server between your clients and your Firestore database.
The mobile and web SDKs also support realtime updates and offline data persistence.
To get started with the Android or Apple platforms, or Web SDK, see Create a Firestore database by using a web or mobile client library.References and resources
For more information about each SDK, see the following resources:
Web
In addition to the standard client SDK, Firebase offers Firestore Lite, a lightweight, REST-only SDK.
iOS+
Android
Flutter
Server client libraries
Firestore supports server client libraries for C#, Go, Java, Node.js, PHP, Python, and Ruby. Use these client libraries to set up privileged server environments.
Server client libraries create a privileged Firestore environment with full access to your database. In this environment, requests are not evaluated against your Firestore security rules. Privileged Firestore servers are secured using Identity and Access Management (IAM), see Security for server client libraries.
Use the server client libraries for administrative database tasks or if you prefer an architecture with an intermediary server between your users and your Firestore database.
Firestore server client libraries are available as Firebase Admin SDKs and as Google Cloud client libraries. Both sets of libraries provide the same Firestore features. The Firebase Admin SDKs bundle access to Firestore and several other Firebase products, like Firebase Auth and Firebase Cloud Messaging, in a single library.
Firebase Admin SDKs
The Firebase Admin SDKs bundle the Google Cloud client libraries for Firestore alongside client libraries and SDKs for several other Firebase features. Using one of the Admin SDKs, you can initialize access to Firestore and several other services from a single SDK. The Firebase Admin SDKs support Firestore access in Java, Python, Node.js, and Go.
To get started with a Firebase Admin SDK, see Add the Firebase Admin SDK to Your Server.
References and resources
For more information about Firebase Admin SDKs, see the following resources:
Java
Python
Node.js
Go
Google Cloud client libraries
The Google Cloud client libraries support Firestore access in Java, Python, Node.js, Go, PHP, C#, and Ruby. To get started with one of the Google Cloud client libraries, see the Quickstart using a Server Client Library.
References and resources
For more information about Google Cloud client libraries for Firestore, see the following resources:
Java
Python
Node.js
Go
PHP
C#
Ruby
Third-party library integrations
In addition to the mobile or web SDKs and server client libraries, Firestore offers a number of integrations with open-source libraries. For more information, see Library and framework integrations.
What's next
- Learn about authentication.
- Learn about security rules for client libraries.