Skip to main content
Requests that consume read units or embedding tokens return a usage field alongside their results. Reading it tells you what a single request cost, so you can compare approaches before running them at scale.

Read units

Search, fetch, and list requests return a usage field with the read unit consumption of that request.
While Pinecone tracks read unit usage with decimal precision, the Pinecone API and SDKs round these values up to the nearest whole number in search, query, fetch, and list responses. For example, if a search uses 0.45 read units, the API and SDKs will report it as 1 read unit.For precise read unit reporting, see index-level metrics or the organization-wide Usage dashboard.
In the REST API and the Node.js and Go SDKs, usage also reports egress_bytes (egressBytes in Node.js), the size of the response that counts toward egress. The Python SDK doesn’t report egress_bytes, and its documents.list paginator doesn’t expose usage. For example, the following search scores documents by a 1536-dimension dense_vector field named embedding:
The response looks like this:

Embedding tokens

Requests that use one of Pinecone’s hosted embedding models return a usage field with the number of tokens embedded:
  • The Generate vectors operation reports total_tokens.
  • Upserts and searches on an index with integrated embedding report embed_total_tokens (embedTotalTokens in Node.js). A search reports it alongside read_units.
For example, the following request uses the llama-text-embed-v2 model to embed sentences related to the word “apple”:
The response looks like this: