> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-fix-issues-on-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Range Vectors

> This endpoint returns a range of vectors starting with(including) cursor until the end of the vectors in the index or given limit.

## Request

<ParamField body="cursor" type="string" required>
  The offset to the last retrieved vector. Should be set to `"0"` in the initial
  range.
</ParamField>

<ParamField body="limit" type="number" required>
  The number of maximum vectors that you want in the response of range. (page
  size)
</ParamField>

<ParamField body="includeMetadata" type="boolean">
  Whether to include the metadata of the vectors in the response. Setting this
  `true` would be the best practice, since it will make it easier to identify
  the vectors.
</ParamField>

<ParamField body="includeVectors" type="boolean">
  The metadata of the vector. This is used to make it easier to identify the
  vector on queries.
</ParamField>

## Response

<ResponseField name="nextCursor" type="string" required>
  The offset for the next range. You should place this in the `cursor` field for
  the next range.Empty if there are no other vectors in the index.
</ResponseField>

<ResponseField name="vectors" type="Object[]" required>
  <Expandable defaultOpen="true">
    <ResponseField name="id" type="string" required>
      The ID of the vector
    </ResponseField>

    <ResponseField name="vector" type="number[]" required>
      The embedding data
    </ResponseField>

    <ResponseField name="metadata" type="Object">
      Whether to include the vector data of the resulting vectors.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```sh curl
  curl https://hardy-cricket-48359-us1-vector.upstash.io/range \
    -H "Authorization: Bearer ABcFMGhhcmR5LWNyaWNrZXQtNDgzNTktdXMxYWRtaW5PREE0TkdVME5XUXRaV0poTWkwME9UVTFMVGxrTm1NdE9USTROR0ppWkRsak56ZGs=" \
    -d '{ "cursor": "0",
    "limit" : 2,
    "includeVectors": false,
    "includeMetadata": true }'
  ```

  ```js Node
  const url = "https://better-dodo-20522-us1-vector.upstash.io/fetch"; // Replace with your index endpoint.
  const token = "YOUR_TOKEN"; // Replace with your actual token
  const data = {
    cursor: "0",
    limit: 2,
    includeVectors: false,
    includeMetadata: true,
  };

  fetch(url, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${token}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  })
    .then((response) => response.json())
    .then((data) => console.log(data))
    .catch((error) => console.error("Error:", error));
  ```

  ```python Python
  import requests
  import json

  url = 'https://better-dodo-20522-us1-vector.upstash.io/fetch' # Replace with your index endpoint.
  token = 'YOUR_TOKEN' # Replace with your actual token
  headers = {
      'Authorization': f'Bearer {token}',
      'Content-Type': 'application/json'
  }
  data = {
      'cursor': "0",
      'limit': 2,
      'includeVectors': False,
      'includeMetadata': True
  }

  response = requests.post(url, headers=headers, data=json.dumps(data))
  print(response.json())
  ```
</RequestExample>

<ResponseExample>
  ```json Response
  {
    "result" : {
      "nextCursor" : "2",
      "vectors" : [ 
  		{
  	      "id" : "1",
  	      "metadata" : {"genre":"comedy","year":2020}
      	}, 
  		{
  	      "id" : "2",
  	      "metadata" : {"genre":"comedy","year":2020}
      	} 
  	]
    }
  }
  ```
</ResponseExample>
