For guidance and examples, see [Fetch data](/guides/manage-data-fetch-data).

```shell curl theme={null}
# To get the unique host for an index,
# see https://docs.pinecone.io/guides/manage-data/target-an-index
PINECONE_API_KEY="YOUR_API_KEY"
INDEX_HOST="INDEX_HOST"

curl -X POST "https://$INDEX_HOST/vectors/fetch_by_metadata" \
  -H "Api-Key: $PINECONE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Pinecone-Api-Version: 2026-07" \
  -d '{
    "namespace": "__default__",
    "filter": {"genre": {"$eq": "Action/Adventure"}},
    "limit": 2
  }'
```

`POST /vectors/fetch_by_metadata`

:::code-group
```bash title="cURL"
curl --request POST \
  --url https://{index_host}/vectors/fetch_by_metadata \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "namespace": "example-namespace",
  "filter": {
    "genre": {
      "$in": [
        "comedy",
        "documentary",
        "drama"
      ]
    },
    "year": {
      "$eq": 2019
    }
  },
  "limit": 12,
  "paginationToken": "Tm90aGluZyB0byBzZWUgaGVyZQo="
}'
```

```json title="200"
{
  "namespace": "example-namespace",
  "pagination": {
    "next": "Tm90aGluZyB0byBzZWUgaGVyZQo="
  },
  "usage": {
    "readUnits": 5
  },
  "vectors": {
    "id-1": {
      "id": "id-1",
      "metadata": {
        "genre": "documentary",
        "year": 2019
      },
      "values": [
        1,
        1.5
      ]
    },
    "id-2": {
      "id": "id-2",
      "metadata": {
        "genre": "comedy",
        "year": 2019
      },
      "values": [
        2,
        1
      ]
    }
  }
}
```
:::

## Authorizations

- `Authorization` (header, string, required) — Bearer authentication header of the form `Bearer <token>`.

## Headers

- `X-Pinecone-Api-Version` (header, string, required) — Required date-based version header

## Body

- `namespace` (body, string) — The namespace to fetch records from.
- `filter` (body, object, required) — Metadata filter expression to select vectors. See [Understanding metadata](/guides/index-data-indexing-overview#metadata).
- `limit` (body, integer) — The maximum number of records to return per page. Defaults to 100.
- `paginationToken` (body, string) — Pagination token to continue a previous listing operation.

## Response

- `200` — A successful response.
- `400` — Bad request. The request body included invalid request parameters.
- `401` — Unauthorized. Possible causes: missing or invalid API key.
- `4XX` — An unexpected error response.
- `5XX` — An unexpected error response.

## Related pages

- [Search with a vector](./database-2026-07-data-plane-query.md)
- [Search with text](./database-2026-07-data-plane-search-records.md)
- [Upsert records](./database-2026-07-data-plane-upsert.md)
- [Upsert text](./database-2026-07-data-plane-upsert-records.md)
- [Fetch records](./database-2026-07-data-plane-fetch.md)
- [Update a record](./database-2026-07-data-plane-update.md)
- [Delete records](./database-2026-07-data-plane-delete.md)
- [List record IDs](./database-2026-07-data-plane-list.md)
- [Search with a vector](./database-2026-04-data-plane-query.md)
- [Search with text](./database-2026-04-data-plane-search-records.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
