Pinecone Upsert Failing: Batch and Size Limits
Quick answer
Pinecone accepts up to 1,000 vector records and 2 MB per upsert request (96 text records with integrated embedding). Split larger loads into smaller batches or use bulk import.
Most likely fix: Batch the upsert
How to fix it
Try these in order — the most common fix is first.
1. Batch the upsert
- Send batches of 100 to 500 records, staying under 2 MB
- Run a few batches in parallel, paced to avoid 429s
Did this fix it?2. Shrink the records
- Keep metadata small; store full text in your own database and keep only an ID
- Shorten IDs to under 512 characters
Did this fix it?3. Use import for big loads
- For very large datasets use import from object storage (up to 1 TB for on-demand indexes)
Did this fix it?
Symptoms
Upsert returns a 400 or request-too-large style error on big batches or records with large metadata.
Why it happens
- More than 1,000 records or over 2 MB in one request
- More than 96 text records with integrated embedding
- Filterable metadata over 40 KB per record
- Record ID longer than 512 characters
This guide also covers
- pinecone upsert batch size limit
- pinecone upsert too large
- pinecone metadata size limit 40kb
Still not working?
If Pinecone keeps failing, you're not alone. See every Pinecone problem users report or the alternatives people switch to.
Have an app idea? Our small team builds any software: web and mobile apps, games, desktop, AI tools. Price agreed together.
Talk to usThe same problem in other apps
Other Pinecone errors
- Pinecone Vector Dimension Does Not Match the Dimension of the Index
- Pinecone 429 Too Many Requests Error
- Pinecone Query Returns No Results or Empty Matches
- Pinecone Upsert Not Showing Up After Writing
- Pinecone Starter Index Paused, Archived or Deleted for Inactivity
- Pinecone Starter Plan Limits Reached
- Why Is My Pinecone Bill So High
- How to Cancel Pinecone or Downgrade to Starter