This page describes different types of limits for Pinecone Database.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.
Looking for a specific limit?
- To compare monthly included usage by plan, start with read units, write units, and model usage limits.
- If you received a
429error, check rate limits, especially request-per-second limits for query, upsert, update, delete, fetch, and list. - For projects, users, indexes, namespaces, storage, backups, and collections, see object limits.
- For batch sizes, metadata filters, and identifier lengths, see operation limits and identifier limits.
Rate limits
Rate limits help protect your applications from misuse and maintain the health of our shared serverless infrastructure. These limits are designed to support typical production workloads while ensuring reliable performance for all users. Most rate limits can be adjusted upon request. If you need higher limits to scale your application, contact Support with details about your use case. Pinecone is committed to supporting your growth and can often accommodate higher throughput requirements. Rate limits vary based on pricing plan and apply to serverless indexes only.Indexes built on Dedicated Read Nodes are not subject to read unit limits for query, fetch, and list operations. For sizing and capacity planning guidance, see the Dedicated Read Nodes guide.
Data plane operations: request-per-second limits
Pinecone enforces rate limits on the number of API requests per second at the namespace level for data plane operations (query, upsert, delete, and update). These limits provide protection against excessive request rates.Affected operations
The following operations are subject to request-per-second rate limiting:| Operation | Scope | Limit |
|---|---|---|
| Query | Per namespace | 100 |
| Upsert | Per namespace | 100 |
| Delete | Per namespace | 100 |
| Update | Per namespace | 100 |
Error response
When you exceed the request-per-second limit, you’ll receive an HTTP429 - TOO_MANY_REQUESTS response. The error message indicates which operation exceeded the limit and includes the namespace name and limit value. See the individual limit sections below for specific error message formats.
How request-per-second limits work with limits on read and write units
Request-per-second limits are enforced in addition to existing read unit and write unit limits. Requests must not exceed any applicable limits:- Index-level limits - read and write unit limits, per index
- Namespace-level limits - read and write unit limits, per namespace
- Request-per-second limits - requests per second, per namespace
Recommendations
If you’re hitting request-per-second limits:- Implement retry logic. Use exponential backoff to handle rate limit errors gracefully. See Error Handling Guide.
- Pace your requests. Add client-side rate limiting to stay under limits.
- Consider Dedicated Read Nodes, which don’t have request-per-second limits and provide dedicated capacity for high-throughput workloads.
- If you need higher limits, contact Support with details about your use case.
All rate limits
Monthly usage limits
| Metric | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|
| Read units per month per org | 1,000,000 | 2,000,000 | Unlimited | Unlimited |
| Write units per month per org | 2,000,000 | 5,000,000 | Unlimited | Unlimited |
| Embedding tokens per month per model | 5,000,000 | 10,000,000 | Unlimited | Unlimited |
| Rerank requests per month per model | Model-specific | Model-specific | Model-specific | Model-specific |
Data operation throughput limits
| Metric | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|
| Upsert size per second per namespace | 50 MB | 50 MB | 50 MB | 50 MB |
| Query read units per second per index | 2,000 | 2,000 | 2,000 | 2,000 |
| Query requests per second per namespace | 100 | 100 | 100 | 100 |
| Update records per second per namespace | 100 | 100 | 100 | 100 |
| Update requests per second per namespace | 100 | 100 | 100 | 100 |
| Update by metadata requests per second per namespace | 5 | 5 | 5 | 5 |
| Update by metadata requests per second per index | 500 | 500 | 500 | 500 |
| Upsert requests per second per namespace | 100 | 100 | 100 | 100 |
| Fetch requests per second per index | 100 | 100 | 100 | 100 |
| List requests per second per index | 200 | 200 | 200 | 200 |
| Describe index stats requests per second per index | 100 | 100 | 100 | 100 |
| Delete requests per second per namespace | 100 | 100 | 100 | 100 |
| Delete records per second per namespace | 5,000 | 5,000 | 5,000 | 5,000 |
| Delete records per second per index | 5,000 | 5,000 | 5,000 | 5,000 |
| Delete by metadata requests per second per namespace | 5 | 5 | 5 | 5 |
| Delete by metadata requests per second per index | 500 | 500 | 500 | 500 |
Model throughput limits
| Metric | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|
| Embedding tokens per minute per model | Model-specific | Model-specific | Model-specific | Model-specific |
| Rerank requests per minute per model | Model-specific | Model-specific | Model-specific | Model-specific |
Read units per month per org
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 1,000,000 | 2,000,000 | Unlimited | Unlimited |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
- Open the Pinecone console.
- Select the project.
- Select any index in the project.
- Look under Usage.
Indexes built on Dedicated Read Nodes are not subject to read unit limits for query, fetch, and list operations. For sizing and capacity planning guidance, see the Dedicated Read Nodes guide.
Write units per month per org
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 2,000,000 | 5,000,000 | Unlimited | Unlimited |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
- Open the Pinecone console.
- Select the project.
- Select any index in the project.
- Look under Usage.
Upsert size per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 50 MB | 50 MB | 50 MB | 50 MB |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Query read units per second per index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 2,000 | 2,000 | 2,000 | 2,000 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Indexes built on Dedicated Read Nodes are not subject to read unit limits for query, fetch, and list operations. For sizing and capacity planning guidance, see the Dedicated Read Nodes guide.
Query requests per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 100 | 100 | 100 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Indexes built on Dedicated Read Nodes are not subject to read unit limits for query, fetch, and list operations. For sizing and capacity planning guidance, see the Dedicated Read Nodes guide.
Update records per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 100 | 100 | 100 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Update requests per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 100 | 100 | 100 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Update by metadata requests per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 5 | 5 | 5 | 5 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Update by metadata requests per second per index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 500 | 500 | 500 | 500 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Upsert requests per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 100 | 100 | 100 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Fetch requests per second per index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 100 | 100 | 100 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Indexes built on Dedicated Read Nodes are not subject to read unit limits for query, fetch, and list operations. For sizing and capacity planning guidance, see the Dedicated Read Nodes guide.
List requests per second per index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 200 | 200 | 200 | 200 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Indexes built on Dedicated Read Nodes are not subject to read unit limits for query, fetch, and list operations. For sizing and capacity planning guidance, see the Dedicated Read Nodes guide.
Describe index stats requests per second per index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 100 | 100 | 100 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete requests per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 100 | 100 | 100 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete records per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 5000 | 5000 | 5000 | 5000 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete records per second per index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 5000 | 5000 | 5000 | 5000 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete by metadata requests per second per namespace
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 5 | 5 | 5 | 5 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete by metadata requests per second per index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 500 | 500 | 500 | 500 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Embedding tokens per minute per model
| Embedding model | Input type | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|---|
llama-text-embed-v2 | Passage | 250,000 | 250,000 | 1,000,000 | 1,000,000 |
| Query | 50,000 | 50,000 | 250,000 | 250,000 | |
multilingual-e5-large | Passage | 250,000 | 250,000 | 1,000,000 | 1,000,000 |
| Query | 50,000 | 50,000 | 250,000 | 250,000 | |
pinecone-sparse-english-v0 | Passage | 250,000 | 250,000 | 3,000,000 | 3,000,000 |
| Query | 250,000 | 250,000 | 3,000,000 | 3,000,000 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Embedding tokens per month per model
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 5,000,000 | 10,000,000 | Unlimited | Unlimited |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Rerank requests per minute per model
| Reranking model | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|
cohere-rerank-3.5 | Not available | Not available | 300 | 300 |
bge-reranker-v2-m3 | 60 | 60 | 60 | 60 |
pinecone-rerank-v0 | 60 | Not available | 60 | 60 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Rerank requests per month per model
| Reranking model | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|
cohere-rerank-3.5 | Not available | Not available | Unlimited | Unlimited |
bge-reranker-v2-m3 | 500 | 1,000 | Unlimited | Unlimited |
pinecone-rerank-v0 | 500 | Not available | Unlimited | Unlimited |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Inference requests per second or minute, per project
| Metric | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|
| Inference requests per second | 100 | 100 | 100 | 100 |
| Inference requests per minute | 2000 | 2000 | 2000 | 2000 |
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
This error indicates per second or per minute, as applicable.
Object limits
Object limits are restrictions on the number or size of objects in Pinecone. Object limits vary based on pricing plan.| Metric | Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|---|
| Projects per organization | 1 | 5 | 20 | 100 |
| Users per organization | 2 | 5 | Unlimited | Unlimited |
| Serverless indexes per project 1 | 5 | 10 | 20 | 200 |
| Serverless index storage per org | 2 GB | 10 GB | N/A | N/A |
| Namespaces per serverless index | 100 | 1,000 | 100,000 | 100,000 |
| Serverless backups per project | N/A | N/A | 500 | 1000 |
| Collections per project | 100 | N/A | N/A | N/A |
us-east-1 region of AWS. Standard and Enterprise plans can create indexes in any supported region.
Projects per organization
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 1 | 5 | 20 | 100 |
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Users per organization
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 2 | 5 | Unlimited | Unlimited |
Serverless indexes per project
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 5 | 10 | 20 | 200 |
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Serverless index storage per org
This limit applies to organizations on the Starter and Builder plans only.
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 2 GB | 10 GB | N/A | N/A |
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Namespaces per serverless index
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | 1,000 | 100,000 | 100,000 |
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Namespaces per serverless index vary by plan. On the Standard and Enterprise plans, Pinecone can accommodate million-scale namespaces and beyond for specific use cases. If your application requires more than 100,000 namespaces, contact Support.
Serverless backups per project
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| N/A | N/A | 500 | 1000 |
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Collections per project
| Starter plan | Builder plan | Standard plan | Enterprise plan |
|---|---|---|---|
| 100 | N/A | N/A | N/A |
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Operation limits
Operation limits are restrictions on the size, number, or other characteristics of operations in Pinecone. Operation limits are fixed and do not vary based on pricing plan.Upsert limits
| Metric | Limit |
|---|---|
| Max batch size | 2 MB or 1000 records with vectors 96 records with text |
| Max documents per upsert request | 1000 |
| Max document upsert request size | 2 MB |
| Max document size | 2 MB |
Max full_text_search string fields per schema | 100 |
Max size per full_text_search string field | 100 KB |
Max tokens per full_text_search string field | 10,000 |
| Max bytes per token | 256 bytes |
| Max filterable metadata size per document | 40 KB |
| Max length for a record ID | 512 characters |
| Max dimensionality for dense vectors | 20,000 |
| Max non-zero values for sparse vectors | 2048 |
| Max dimensionality for sparse vectors | 4.2 billion |
full_text_search text fields.
Import limits
If your import exceeds these limits, you’ll get an error specifying the limit exceeded. See Troubleshooting for details.
| Metric | Limit |
|---|---|
| Max namespaces per import | 10,000 |
| Max size per namespace | 500 GB |
| Max total input data size (on-demand indexes) | 1 TB |
| Max files per import | 100,000 |
| Max size per file | 10 GB |
Query limits
| Metric | Limit |
|---|---|
Max top_k value | 10,000 |
| Max result size | 4MB |
Fetch limits
Fetch by ID limits:| Metric | Limit |
|---|---|
| Max record IDs per fetch request | 1,000 |
| Metric | Limit |
|---|---|
| Max records per response | 10,000 |
| Max response size | 4 MB |
| Max request rate | 10 requests per second per namespace |
paginationToken parameter. See Fetch records by metadata.
Delete limits
| Metric | Limit |
|---|---|
| Max record IDs per delete request | 1,000 |
Metadata filter limits
The following limits apply to metadata filter expressions used in query, delete, update, and fetch operations.| Limit | Value | Description |
|---|---|---|
Maximum values per $in or $nin operator | 10,000 | Each $in or $nin operator accepts up to 10,000 values in its array. This limit applies per operator—if you have multiple $in operators in a single filter, each is independently limited to 10,000 values. |
400 - BAD_REQUEST error.
Rationale
Large$in operators can impact query performance and cost. Filters with thousands of values increase request payload size and end-to-end latency. Additionally, using large filters typically indicates a shared namespace architecture, which increases query costs—queries scan the entire namespace regardless of filters.
Alternative approaches
If you need to filter by more than 10,000 values, consider these alternatives:- Use namespaces for tenant isolation: Instead of filtering by tenant IDs within a single namespace, create separate namespaces for each tenant or tenant group. This can also reduce query costs. See Design for multi-tenancy.
- Use broader access control groups: Instead of filtering by individual user IDs, filter by organization, project, or role. This reduces the number of values in your
$infilter. See Design for multi-tenancy. - Post-filter client-side: Retrieve a larger top K without filtering (for example, top 1000), then filter results client-side.
- Run multiple queries: Split your filter into multiple queries with smaller
$inoperators and combine the results client-side.
Identifier limits
An identifier is a string of characters used to identify “named” objects in Pinecone. The following Pinecone objects use strings as identifiers:| Object | Field | Max # characters | Allowed characters |
|---|---|---|---|
| Organization | name | 512 |
|
| Project | name | 512 |
|
| Index | name | 45 |
|
| Namespace | namespace | 512 |
|
| Record | id | 512 |
|