# Cloud Firestore API API

> Cloud Firestore API API on Apizie: 40 endpoints (Bulk deletes a subset of documents from Google Cloud Firestore. Documents created or updated after the…, Creates a new database by cloning an existing one. The new database must be in the same cloud region or…, List all the databases in the project., Create a database., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/analytics:googleapis-firestore/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-firestore`
- Category: Analytics
- Status: byok
- Source: https://cloud.google.com/firestore
- Page: https://zieapi.vercel.app/api/analytics/googleapis-firestore
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-firestore/openapi.json

Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.

## Endpoints

### Bulk deletes a subset of documents from Google Cloud Firestore. Documents created or updated after the…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-bulk-delete-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Database to operate. Should be of the form: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Creates a new database by cloning an existing one. The new database must be in the same cloud region or…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-clone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The project to clone the database in. Format is `projects/{project_id}`. |
| body | object | yes | JSON request body |

### List all the databases in the project.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. A parent name of the form `projects/{project_id}` |
| showDeleted | boolean | no | If true, also returns deleted resources. |

### Create a database.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| databaseId | string | no | Required. The ID to use for the database, which will become the final component of the database's resource name. This value should be 4-63… |
| parent | string | yes | Required. A parent name of the form `projects/{project_id}` |
| body | object | yes | JSON request body |

### Gets information about a backup.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-locations-backups-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Name of the backup to fetch. Format is `projects/{project}/locations/{location}/backups/{backup}`. |

### Updates or inserts a document.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| currentDocument.exists | boolean | no | When set to `true`, the target document must exist. When set to `false`, the target document must not exist. |
| currentDocument.updateTime | string | no | When set, the target document must exist and have been last updated at that time. Timestamp must be microsecond aligned. |
| mask.fieldPaths | string | no | The list of field paths in the mask. See Document.fields for a field path syntax reference. |
| name | string | yes | The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| requestOptions.requestTags | string | no | Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and… |
| updateMask.fieldPaths | string | no | The list of field paths in the mask. See Document.fields for a field path syntax reference. |
| body | object | yes | JSON request body |

### Deletes a backup.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-locations-backups-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Name of the backup to delete. format is `projects/{project}/locations/{location}/backups/{backup}`. |

### Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-export-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-import-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Creates a new database by restoring from an existing backup. The new database must be in the same cloud…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-restore` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The project to restore the database in. Format is `projects/{project_id}`. |
| body | object | yes | JSON request body |

### List backup schedules.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-backup-schedules-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent database. Format is `projects/{project}/databases/{database}`. |

### Creates a backup schedule on a database. At most two backup schedules can be configured on a database, one…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-backup-schedules-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent database. Format `projects/{project}/databases/{database}` |
| body | object | yes | JSON request body |

### Lists all change streams in a database.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-change-streams-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent database to list change streams from. Format is `projects/{project}/databases/{database}`. |

### Creates a new change stream for the database.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-change-streams-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| changeStreamId | string | no | Required. The ID to use for the change stream, which will become the final component of the change stream's resource name. This value… |
| parent | string | yes | Required. The parent database to create the change stream for. Format is `projects/{project}/databases/{database}`. |
| body | object | yes | JSON request body |

### Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-collection-groups-fields-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly… |
| pageSize | integer | no | The number of results to return. |
| pageToken | string | no | A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results. |
| parent | string | yes | Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` |

### Lists composite indexes.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-collection-groups-indexes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | The filter to apply to list results. |
| pageSize | integer | no | The number of results to return. |
| pageToken | string | no | A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results. |
| parent | string | yes | Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` |

### Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-collection-groups-indexes-creat` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}` |
| body | object | yes | JSON request body |

### Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-batch-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-batch-write` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Starts a new transaction.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-begin-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Commits a transaction, while optionally updating documents.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-commit` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Lists documents.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-list-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| collectionId | string | yes | Optional. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`. This is optional, and when not… |
| mask.fieldPaths | string | no | The list of field paths in the mask. See Document.fields for a field path syntax reference. |
| orderBy | string | no | Optional. The optional ordering of the documents to return. For example: `priority desc, __name__ desc`. This mirrors the `ORDER BY` used… |
| pageSize | integer | no | Optional. The maximum number of documents to return in a single response. Firestore may return fewer than this value. |
| pageToken | string | no | Optional. A page token, received from a previous `ListDocuments` response. Provide this to retrieve the subsequent page. When paginating,… |
| parent | string | yes | Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or… |
| readTime | string | no | Perform the read at the provided time. This must be a microsecond precision timestamp within the past one hour, or if Point-in-Time… |
| recursive | boolean | no | Optional. If the list should recursively include all documents nested under the parent at any level. If the request specifies a… |
| requestOptions.requestTags | string | no | Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and… |
| showMissing | boolean | no | If the list should show missing documents. A document is missing if it does not exist, but there are sub-documents nested underneath it.… |
| transaction | string | no | Perform the read as part of an already active transaction. |

### Creates a new document.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-create-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| collectionId | string | yes | Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`. |
| documentId | string | no | The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service. |
| mask.fieldPaths | string | no | The list of field paths in the mask. See Document.fields for a field path syntax reference. |
| parent | string | yes | Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or… |
| requestOptions.requestTags | string | no | Optional. The request tags for the request. Request tags are user-provided strings used for usage monitoring, cost management, and… |
| body | object | yes | JSON request body |

### Executes a pipeline query.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-execute-pipeline` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. Database identifier, in the form `projects/{project}/databases/{database}`. |
| body | object | yes | JSON request body |

### Lists all the collection IDs underneath a document.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-list-collection-ids` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example:… |
| body | object | yes | JSON request body |

### Listens to changes. This method is only available via gRPC or WebChannel (not REST).
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-listen` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Partitions a query by returning partition cursors that can be used to run the query in parallel. The…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-partition-query` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents`. Document resource names are… |
| body | object | yes | JSON request body |

### Rolls back a transaction.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-rollback` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. |
| body | object | yes | JSON request body |

### Runs an aggregation query. Rather than producing Document results like Firestore.RunQuery, this API allows…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-run-aggregation-query` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or… |
| body | object | yes | JSON request body |

### Runs a query.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-run-query` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or… |
| body | object | yes | JSON request body |

### Streams batches of document updates and deletes, in order. This method is only available via gRPC or…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-documents-write` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| database | string | yes | Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message. |
| body | object | yes | JSON request body |

### Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-operations-cancel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The name of the operation resource to be cancelled. |
| body | object | yes | JSON request body |

### Lists operations that match the specified filter in the request. If the server doesn't support this method,…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-operations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | The standard list filter. |
| name | string | yes | The name of the operation's parent resource. |
| pageSize | integer | no | The standard list page size. |
| pageToken | string | no | The standard list page token. |
| returnPartialSuccess | boolean | no | When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the… |

### List all user creds in the database. Note that the returned resource does not contain the secret value itself.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-user-creds-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. A parent database name of the form `projects/{project_id}/databases/{database_id}` |

### Create a user creds.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-user-creds-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. A parent name of the form `projects/{project_id}/databases/{database_id}` |
| userCredsId | string | no | Required. The ID to use for the user creds, which will become the final component of the user creds's resource name. This value should be… |
| body | object | yes | JSON request body |

### Disables a user creds. No-op if the user creds are already disabled.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-user-creds-disable` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. A name of the form `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}` |
| body | object | yes | JSON request body |

### Enables a user creds. No-op if the user creds are already enabled.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-user-creds-enable` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. A name of the form `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}` |
| body | object | yes | JSON request body |

### Resets the password of a user creds.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-user-creds-reset-password` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. A name of the form `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}` |
| body | object | yes | JSON request body |

### Lists information about the supported locations for this service. This method lists locations based on the…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-locations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| extraLocationTypes | string | no | Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. |
| filter | string | no | A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is… |
| name | string | yes | The resource that owns the locations collection, if applicable. |
| pageSize | integer | no | The maximum number of results to return. If not set, the service selects a default. |
| pageToken | string | no | A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. |

### Lists all the backups.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-locations-backups-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | An expression that filters the list of returned backups. A filter expression consists of a field name, a comparison operator, and a value… |
| parent | string | yes | Required. The location to list backups from. Format is `projects/{project}/locations/{location}`. Use `{location} = '-'` to list backups… |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-bulk-delete-documents" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Cloud Firestore API API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/analytics:googleapis-firestore/firestore-projects-databases-bulk-delete-documents with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Cloud Firestore API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Cloud Firestore API itself also needs your own key from googleapis.com.

### Can AI agents use the Cloud Firestore API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-firestore.

### What is the status of the Cloud Firestore API API?
Needs your own provider key (bring your own key)
