Returns up to 100 IDs at a time by default in sorted order (bitwise "C" collation). If the `limit` parameter is set, `list` returns up to that number of IDs instead. Whenever there are additional IDs to return, the response also includes a `pagination_token` that you can use to get the next batch of IDs. When the response does not include a `pagination_token`, there are no more IDs to return.

For guidance and examples, see [List record IDs](/guides/manage-data-list-record-ids).

**Note:** `list` is supported only for serverless indexes.

```python Python theme={null}
# pip install "pinecone[grpc]"
from pinecone.grpc import PineconeGRPC as Pinecone

pc = Pinecone(api_key='YOUR_API_KEY')

# To get the unique host for an index, 
# see https://docs.pinecone.io/guides/manage-data/target-an-index
index = pc.Index(host="INDEX_HOST")

# Implicit pagination using a generator function
for ids in index.list(prefix="doc1#", namespace="example-namespace"):
    print(ids)

# Manual pagination
results = index.list_paginated(
    prefix="doc1#",
    limit=3,
    namespace="example-namespace",
    pagination_token="eyJza2lwX3Bhc3QiOiIxMDEwMy0="
)

print(results)
```

```javascript JavaScript theme={null}
// npm install @pinecone-database/pinecone
import { Pinecone } from '@pinecone-database/pinecone';
const pc = new Pinecone();

// To get the unique host for an index, 
// see https://docs.pinecone.io/guides/manage-data/target-an-index
const index = pc.index("INDEX_NAME", "INDEX_HOST").namespace("example-namespace");

const results = await index.listPaginated({ prefix: 'doc1#', limit: 3 });
console.log(results);

// Fetch the next page of results
await index.listPaginated({ prefix: 'doc1#', paginationToken: results.pagination.next});
```

```java Java theme={null}
import io.pinecone.clients.Index;
import io.pinecone.configs.PineconeConfig;
import io.pinecone.configs.PineconeConnection;
import io.pinecone.proto.ListResponse;

public class ListExample {
    public static void main(String[] args) {
        PineconeConfig config = new PineconeConfig("YOUR_API_KEY");
        // To get the unique host for an index, 
        // see https://docs.pinecone.io/guides/manage-data/target-an-index
        config.setHost("INDEX_HOST");
        PineconeConnection connection = new PineconeConnection(config);
        Index index = new Index(connection, "INDEX_NAME");
        ListResponse listResponse = index.list("example-namespace", "doc1#", 3);
        System.out.println(listResponse);
    }
}
```

```go Go theme={null}
package main

import (
	"context"
	"encoding/json"
	"fmt"
	"log"

	"github.com/pinecone-io/go-pinecone/v4/pinecone"
)

func prettifyStruct(obj interface{}) string {
	bytes, _ := json.MarshalIndent(obj, "", "  ")
	return string(bytes)
}

func main() {
    ctx := context.Background()

    pc, err := pinecone.NewClient(pinecone.NewClientParams{
        ApiKey: "YOUR_API_KEY",
    })
    if err != nil {
        log.Fatalf("Failed to create Client: %v", err)
    }

    // To get the unique host for an index, 
    // see https://docs.pinecone.io/guides/manage-data/target-an-index
    idxConnection, err := pc.Index(pinecone.NewIndexConnParams{Host: "INDEX_HOST", Namespace: "example-namespace"})
    if err != nil {
        log.Fatalf("Failed to create IndexConnection for Host: %v", err)
  	}

    limit := uint32(3)
    prefix := "doc1#"

    res, err := idxConnection.ListVectors(ctx, &pinecone.ListVectorsRequest{
        Limit:  &limit,
        Prefix: &prefix,
    })
    if len(res.VectorIds) == 0 {
        fmt.Println("No vectors found")
    } else {
        fmt.Printf(prettifyStruct(res))
    }
}
```

```csharp C# theme={null}
using Pinecone;

var pinecone = new PineconeClient("YOUR_API_KEY");

// To get the unique host for an index, 
// see https://docs.pinecone.io/guides/manage-data/target-an-index
var index = pinecone.Index(host: "INDEX_HOST");

var listResponse = await index.ListAsync(new ListRequest {
    Namespace = "example-namespace",
    Prefix = "doc1#",
    Limit = 3,
});

Console.WriteLine(listResponse);
```

```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 GET "https://$INDEX_HOST/vectors/list?namespace=example-namespace&prefix=doc1#&limit=3" \
  -H "Api-Key: $PINECONE_API_KEY" \
  -H "X-Pinecone-Api-Version: 2025-04"
```

```python Python theme={null}
# Implicit pagination
['doc1#chunk1', 'doc1#chunk2', 'doc1#chunk3', 'doc1chunk4', ...]

# Manual pagination
{'namespace': 'example-namespace',
 'pagination': {'next': 'eyJza2lwX3Bhc3QiOiJkb2MxI2NodW5rMiIsInByZWZpeCI6ImRvYzEjIn0='},
 'usage': {'read_units': 1},
 'vectors': [{'id': 'doc1#chunk1'}, {'id': 'doc1#chunk2'}, {'id': 'doc1#chunk3'}]}
```

```javascript JavaScript theme={null}
{
  "vectors": [
    { "id": "doc1#chunk1" }, { "id": "doc1#chunk2" }, { "id": "doc1#chunk3" }
  ],
  "pagination": {
    "next": "eyJza2lwX3Bhc3QiOiJwcmVUZXN0LS04MCIsInByZWZpeCI6InByZVRlc3QifQ=="
  },
  "namespace": "example-namespace",
  "usage": { "readUnits": 1 }
}
```

```java Java theme={null}
vectors {
  id: "doc1#chunk1"
}
vectors {
  id: "doc1#chunk2"
}
vectors {
  id: "doc1#chunk3"
}
pagination {
  next: "eyJza2lwX3Bhc3QiOiJhbHN0cm9lbWVyaWEtcGVydXZpYW4iLCJwcmVmaXgiOm51bGx9"
}
namespace: "example-namespace"
usage {
  read_units: 1
}
```

```go Go theme={null}
{
  "vector_ids": [
    "doc1#chunk1",
    "doc1#chunk2",
    "doc1#chunk3"
  ],
  "usage": {
    "read_units": 1
  },
  "next_pagination_token": "eyJza2lwX3Bhc3QiOiIwMDBkMTc4OC0zMDAxLTQwZmMtYjZjNC0wOWI2N2I5N2JjNDUiLCJwcmVmaXgiOm51bGx9"
}
```

```csharp C# theme={null}
{
  "vectors": [
    {
      "id": "doc1#chunk1"
    },
    {
      "id": "doc1#chunk2"
    },
    {
      "id": "doc1#chunk3"
    }
  ],
  "pagination": "eyJza2lwX3Bhc3QiOiIwMDBkMTc4OC0zMDAxLTQwZmMtYjZjNC0wOWI2N2I5N2JjNDUiLCJwcmVmaXgiOm51bGx9",
  "namespace": "example-namespace",
  "usage": {
    "readUnits": 1
  }
}
```

```json curl theme={null}
{
  "vectors": [
    { "id": "doc1#chunk1" },
    { "id": "doc1#chunk2" },
    { "id": "doc1#chunk3" }
  ],
  "pagination": {
    "next": "c2Vjb25kY2FsbA=="
  },
  "namespace": "example-namespace",
  "usage": {
    "readUnits": 1
  }
}
```

`GET /vectors/list`

:::code-group
```bash title="cURL"
curl --request GET \
  --url https://{index_host}/vectors/list \
  --header 'Authorization: Bearer <token>'
```

```json title="200"
{
  "vectors": [
    {
      "id": "document1#abb"
    },
    {
      "id": "document1#abc"
    }
  ],
  "pagination": {
    "next": "Tm90aGluZyB0byBzZWUgaGVyZQo="
  },
  "namespace": "example-namespace",
  "usage": {
    "readUnits": 5
  }
}
```
:::

## Authorizations

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

## Query Parameters

- `prefix` (query, string) — The vector IDs to fetch. Does not accept values containing spaces.
- `limit` (query, integer) — Max number of IDs to return per page.
- `paginationToken` (query, string) — Pagination token to continue a previous listing operation.
- `namespace` (query, string)

## Response

- `200` — A successful response.
- `400` — Bad request. The request body included invalid request parameters.
- `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)
- [Fetch records by metadata](./database-2026-07-data-plane-fetch-by-metadata.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)

# 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.
