Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.pinecone.io/llms.txt

Use this file to discover all available pages before exploring further.

Create a backup

You can create a backup from a serverless index as follows.
Backups are supported for indexes without a schema definition and for integrated embedding indexes that use the records API. They are not supported for full-text search indexes with document schemas that include full_text_search string fields, dense_vector fields, or sparse_vector fields. Indexes with document schemas also do not support semantic_text fields.
from pinecone import Pinecone

pc = Pinecone(api_key="YOUR_API_KEY")

backup = pc.create_backup(
    index_name="docs-example", 
    backup_name="example-backup", 
    description="Monthly backup of production index"
)

print(backup)
The example returns a response like the following:
{'backup_id': '8c85e612-ed1c-4f97-9f8c-8194e07bcf71',
 'cloud': 'aws',
 'created_at': '2025-05-15T00:52:10.809305882Z',
 'description': 'Monthly backup of production index',
 'dimension': 1024,
 'name': 'example-backup',
 'namespace_count': 3,
 'record_count': 98,
 'region': 'us-east-1',
 'size_bytes': 1069169,
 'source_index_id': 'f73b36c9-faf5-4a2c-b1d6-4013d8b1cc74',
 'source_index_name': 'docs-example',
 'status': 'Ready',
 'tags': {}}
You can create a backup using the Pinecone console.

Describe a backup

You can view the details of a backup as follows.
from pinecone import Pinecone

pc = Pinecone(api_key="YOUR_API_KEY")

backup = pc.describe_backup(backup_id="8c85e612-ed1c-4f97-9f8c-8194e07bcf71")

print(backup)
The example returns a response like the following:
{'backup_id': '8c85e612-ed1c-4f97-9f8c-8194e07bcf71',
 'cloud': 'aws',
 'created_at': '2025-05-15T00:52:10.809354Z',
 'description': 'Monthly backup of production index',
 'dimension': 1024,
 'name': 'example-backup',
 'namespace_count': 3,
 'record_count': 98,
 'region': 'us-east-1',
 'size_bytes': 1069169,
 'source_index_id': 'f73b36c9-faf5-4a2c-b1d6-4013d8b1cc74',
 'source_index_name': 'docs-example',
 'status': 'Ready',
 'tags': {}}
You can view backup details using the Pinecone console.

List backups for an index

You can list backups for a specific index as follows. Up to 100 backups are returned at a time by default, in sorted order (bitwise “C” collation). If the limit parameter is set, up to that number of backups are returned instead. Whenever there are additional backups to return, the response also includes a pagination_token that you can use to get the next batch of backups. When the response does not include a pagination_token, there are no more backups to return.
from pinecone import Pinecone

pc = Pinecone(api_key="YOUR_API_KEY")

index_backups = pc.list_backups(index_name="docs-example")

print(index_backups)
The example returns a response like the following:
[{
    "backup_id": "8c85e612-ed1c-4f97-9f8c-8194e07bcf71",
    "source_index_name": "docs-example",
    "source_index_id": "f73b36c9-faf5-4a2c-b1d6-4013d8b1cc74",
    "status": "Ready",
    "cloud": "aws",
    "region": "us-east-1",
    "tags": {},
    "name": "example-backup",
    "description": "Monthly backup of production index",
    "dimension": 1024,
    "record_count": 98,
    "namespace_count": 3,
    "size_bytes": 1069169,
    "created_at": "2025-05-15T00:52:10.809305882Z"
}]
You can view the backups for a specific index from either the Backups tab or the Indexes tab in the Pinecone console.

List backups in a project

You can list backups for all indexes in a project as follows. Up to 100 backups are returned at a time by default, in sorted order (bitwise “C” collation). If the limit parameter is set, up to that number of backups are returned instead. Whenever there are additional backups to return, the response also includes a pagination_token that you can use to get the next batch of backups. When the response does not include a pagination_token, there are no more backups to return.
from pinecone import Pinecone

pc = Pinecone(api_key="YOUR_API_KEY")

project_backups = pc.list_backups()

print(project_backups)
The example returns a response like the following:
[{
    "backup_id": "8c85e612-ed1c-4f97-9f8c-8194e07bcf71",
    "source_index_name": "docs-example",
    "source_index_id": "f73b36c9-faf5-4a2c-b1d6-4013d8b1cc74",
    "status": "Ready",
    "cloud": "aws",
    "region": "us-east-1",
    "tags": {},
    "name": "example-backup",
    "description": "Monthly backup of production index",
    "dimension": 1024,
    "record_count": 98,
    "namespace_count": 3,
    "size_bytes": 1069169,
    "created_at": "2025-05-15T20:26:21.248515Z"
}, {
    "backup_id": "95707edb-e482-49cf-b5a5-312219a51a97",
    "source_index_name": "docs-example2",
    "source_index_id": "b49f27d1-1bf3-49c6-82b5-4ae46f00f0e6",
    "status": "Ready",
    "cloud": "aws",
    "region": "us-east-1",
    "tags": {},
    "name": "example-backup2",
    "description": "Monthly backup of production index",
    "dimension": 1024,
    "record_count": 97,
    "namespace_count": 2,
    "size_bytes": 1069169,
    "created_at": "2025-05-15T00:52:10.809354Z"
}, {
    "backup_id": "8c85e612-ed1c-4f97-9f8c-8194e07bcf71",
    "source_index_name": "docs-example3",
    "source_index_id": "f73b36c9-faf5-4a2c-b1d6-4013d8b1cc74",
    "status": "Ready",
    "cloud": "aws",
    "region": "us-east-1",
    "tags": {},
    "name": "example-backup3",
    "description": "Monthly backup of production index",
    "dimension": 1024,
    "record_count": 98,
    "namespace_count": 3,
    "size_bytes": 1069169,
    "created_at": "2025-05-14T16:37:25.625540Z"
}]
You can view all backups in a project using the Pinecone console.

Delete a backup

You can delete a backup as follows.
from pinecone import Pinecone

pc = Pinecone(api_key="YOUR_API_KEY")

pc.delete_backup(backup_id="9947520e-d5a1-4418-a78d-9f464c9969da")
You can delete a backup using the Pinecone console.

Schedule automated backups

Scheduled backups require X-Pinecone-API-Version: unstable.
Instead of creating backups manually, you can define a recurring schedule that automatically creates backups at a daily, weekly, or monthly frequency. Each schedule requires a retention policy (expire_after_days) that automatically deletes old backups, keeping storage costs predictable. Each index supports one active schedule at a time. To create a backup schedule:
curl
curl -sS -X POST "https://api.pinecone.io/indexes/${INDEX_NAME}/backup-schedules" \
  -H "api-key: ${PINECONE_API_KEY}" \
  -H "X-Pinecone-API-Version: unstable" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-nightly-backup",
    "schedule": {
      "type": "time-based",
      "frequency": "daily"
    },
    "retention": {
      "expire_after_days": 7
    }
  }'
Use "frequency": "weekly" or "monthly" as needed. You can also list schedules, update a schedule (e.g., to pause it or change the frequency), delete a schedule, and view the backup history for a schedule. Deleting a schedule does not delete any backups that were previously created by it. For more details, see Scheduled backups.