# Pinecone

> A fully managed, serverless vector database for similarity search and RAG — no nodes to run, indexes to tune, or infrastructure to operate.

Pinecone is a fully managed, serverless vector database: you call an API to upsert and query embeddings and never run a node, tune an index, or page yourself at 3am. It supports metadata filtering, hybrid search, and integrated embedding/reranking — the zero-ops choice when engineering time is the scarce resource.

Website: https://www.pinecone.io

Pinecone is a fully managed, **serverless** vector database. You create an index, upsert your embeddings, and query for nearest neighbours through an API — Pinecone handles the storage, scaling, replication, and index maintenance. There is no node to provision, no HNSW parameter to tune, and no on-call rotation for the search tier. That managed-by-default posture is the whole value proposition.

It is aimed at teams who want retrieval to be a **dependency they call**, not infrastructure they own. Pinecone scales storage and throughput automatically and bills by usage, which suits applications where engineering time is more expensive than per-query cost and a self-host escape hatch isn't a requirement.

## Highlights

- **Serverless & fully managed** — no clusters to size or operate; capacity scales with your data and traffic.
- **Metadata filtering** — attach metadata to each vector and filter on it at query time (per-tenant, per-document-type, date ranges).
- **Namespaces** — partition an index into isolated namespaces for multi-tenant apps without standing up separate indexes.
- **Hybrid search** — combine dense and sparse vectors for keyword-aware retrieval alongside semantic similarity.
- **Integrated inference** — optional hosted embedding and reranking models so you can retrieve without wiring a separate embedding provider.

## In an AI-assisted workflow

Upsert embeddings with metadata, then query with a filter:

```python
from pinecone import Pinecone

pc = Pinecone(api_key="...")
index = pc.Index("docs")

index.upsert(vectors=[
    {"id": "doc-1", "values": embed(text), "metadata": {"product": "billing"}},
])

res = index.query(
    vector=embed("How do I rotate API keys?"),
    top_k=20,                                   # over-retrieve, then rerank
    filter={"product": {"$eq": "billing"}},
    include_metadata=True,
)
```

> [!TIP]
> Over-retrieve (top-20–50) from Pinecone and rerank with a cross-encoder before sending the top few passages to the model — see [Hybrid Search & Reranking](/guides/concepts/hybrid-search-reranking).

## Good to know

Pinecone is a hosted service with a free **starter** tier to begin and usage-based pricing beyond it. Because it is fully managed and proprietary, you trade the control and self-host option of an open-source store (like [Qdrant](/tools/qdrant) or [pgvector](/tools/pgvector)) for not having to operate anything. Weigh that trade in [Best Vector Database in 2026](/guides/database/best-vector-database-2026).

---

_Source: https://agentscamp.com/tools/pinecone — Tool on AgentsCamp._
