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: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
Data operation throughput limits
Model throughput limits
Read units per month per org
Read units measure the compute, I/O, and network resources used by fetch, query, and list requests to serverless indexes. When you reach the monthly read unit limit for an organization, fetch, query, and list requests to serverless indexes in the organization will fail and return a
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
Write units measure the storage and compute resources used by upsert, update, and delete requests to serverless indexes. When you reach the monthly write unit limit for an organization, upsert, update, and delete requests to serverless indexes in the organization will fail and return a
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
When you reach the per second upsert size for a namespace in an index, additional upserts will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Query read units per second per index
Pinecone measures query usage in read units. When you reach the per second limit for queries across all namespaces in an index, additional queries will fail and return a
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
When you reach the per second query limit for a namespace in an index, additional queries will fail and return a
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
When you reach the per second update limit for a namespace in an index, additional updates will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Update requests per second per namespace
When you reach the per second update request limit for a namespace in an index, additional update requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Update by metadata requests per second per namespace
When you reach the per second update by metadata request limit for a namespace in an index, additional update by metadata requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Update by metadata requests per second per index
When you reach the per second update by metadata request limit across all namespaces in an index, additional update by metadata requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Upsert requests per second per namespace
When you reach the per second upsert request limit for a namespace in an index, additional upsert requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Fetch requests per second per index
When you reach the per second fetch limit across all namespaces in an index, additional fetch requests will fail and return a
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
When you reach the per second list limit across all namespaces in an index, additional list requests will fail and return a
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
When you reach the per second describe index stats limit across all namespaces in an index, additional describe index stats requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete requests per second per namespace
When you reach the per second delete request limit for a namespace in an index, additional delete requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete records per second per namespace
When you reach the per second delete limit for a namespace in an index, additional deletes will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete records per second per index
When you reach the per second delete limit across all namespaces in an index, additional deletes will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete by metadata requests per second per namespace
When you reach the per second delete by metadata request limit for a namespace in an index, additional delete by metadata requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Delete by metadata requests per second per index
When you reach the per second delete by metadata request limit across all namespaces in an index, additional delete by metadata requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Embedding tokens per minute per model
When you reach the per minute token limit for an embedding model hosted by Pinecone, additional embeddings will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Embedding tokens per month per model
When you reach the monthly token limit for an embedding model hosted by Pinecone, additional embeddings will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Rerank requests per minute per model
When you reach the per minute request limit for a reranking model hosted by Pinecone, additional reranking requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Rerank requests per month per model
When you reach the monthly request limit for a reranking model hosted by Pinecone, additional reranking requests will fail and return a
429 - TOO_MANY_REQUESTS status with the following error:
Error response
Error response
Inference requests per second or minute, per project
When you reach the per second or per minute request limit, inference requests will fail and return a
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.
1 On the Starter plan, all serverless indexes must be in the
us-east-1 region of AWS. Builder, Standard, and Enterprise plans can create indexes in any supported region.
Projects per organization
When you reach this quota for an organization, trying to create projects will fail and return a
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Users per organization
When you reach this quota for an organization, trying to add users to the organization will fail. To increase this quota, upgrade your plan.
Serverless indexes per project
When you reach this quota for a project, trying to create serverless indexes in the project will fail and return a
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.
When you’ve reached this quota for an organization, updates and upserts into serverless indexes will fail and return a
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Namespaces per serverless index
When you reach this quota for a serverless index, trying to upsert records into a new namespace in the index will fail and return a
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
Backups are not available on the Starter or Builder plans. On the Standard and Enterprise plans, when you reach this quota for a project, trying to create serverless backups in the project will fail and return a
403 - QUOTA_EXCEEDED status with the following error:
Error response
Error response
Collections per project
When you reach this quota for a project, trying to create collections in the project will fail and return 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
The 40 KB filterable metadata limit does not apply to
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.
The total input data size limit does not apply to indexes with dedicated read nodes.
Bulk import supports indexes without a schema definition (Parquet files) and indexes with document schemas (JSONL files). Semantic-text (auto-embedded) fields are not yet supported in document schemas.
Query limits
The query result size is affected by the dimension of the dense vectors and whether or not dense vector values and metadata are included in the result.
Fetch limits
Fetch by ID limits:
Fetch by metadata limits:
To retrieve more than 10,000 matching records, paginate through results using the
paginationToken parameter. See Fetch records by metadata.
Delete limits
Metadata filter limits
The following limits apply to metadata filter expressions used in query, delete, update, and fetch operations.
When you exceed this limit, the request will fail and return a
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.