Skip to main content
Pinecone Docs
current

Search documentation

Type to search this documentation.

List available models

List the embedding and reranking models hosted by Pinecone.

You can use hosted models as an integrated part of Pinecone operations or for standalone embedding and reranking. For more details, see Vector embedding and Rerank results.

GET /models

cURL
curl --request GET \
  --url https://api.pinecone.io/models \
  --header 'Api-Key: <api-key>' \
  --header 'X-Pinecone-Api-Version: <x-pinecone-api-version>'
Python
import requests

url = "https://api.pinecone.io/models"

headers = {
    "Api-Key": "<api-key>",
    "X-Pinecone-Api-Version": "<x-pinecone-api-version>"
}

response = requests.get(url, headers=headers)

print(response.text)
JavaScript
const options = {method: "GET", headers: {"Api-Key": "<api-key>", "X-Pinecone-Api-Version": "<x-pinecone-api-version>"}};

fetch("https://api.pinecone.io/models", options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
PHP
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.pinecone.io/models",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Api-Key: <api-key>",
    "X-Pinecone-Api-Version: <x-pinecone-api-version>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
Go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.pinecone.io/models"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Api-Key", "<api-key>")
	req.Header.Add("X-Pinecone-Api-Version", "<x-pinecone-api-version>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
Java
HttpResponse<String> response = Unirest.get("https://api.pinecone.io/models")
  .header("Api-Key", "<api-key>")
  .header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
  .asString();
Ruby
require 'uri'
require 'net/http'

url = URI("https://api.pinecone.io/models")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Api-Key"] = '<api-key>'
request["X-Pinecone-Api-Version"] = '<x-pinecone-api-version>'

response = http.request(request)
puts response.read_body
200
{
  "models": [
    {
      "default_dimension": 256,
      "max_batch_size": 96,
      "max_sequence_length": 512,
      "modality": "text",
      "model": "example-embedding-model",
      "provider_name": "Embedding Model Provider",
      "short_description": "An example embedding model.",
      "supported_dimensions": [
        256,
        512
      ],
      "supported_metrics": [
        "cosine",
        "euclidean"
      ],
      "supported_parameters": [
        {
          "allowed_values": [
            "value1",
            "value2"
          ],
          "parameter": "example_required_param",
          "required": true,
          "type": "one_of",
          "value_type": "string"
        },
        {
          "allowed_values": [
            "value1",
            "value2"
          ],
          "default": "value1",
          "parameter": "example_param_with_default",
          "required": false,
          "type": "one_of",
          "value_type": "string"
        },
        {
          "default": 5,
          "max": 10,
          "min": 0,
          "parameter": "example_numeric_range",
          "required": false,
          "type": "numeric_range",
          "value_type": "integer"
        }
      ],
      "type": "embed",
      "vector_type": "dense"
    },
    {
      "max_batch_size": 100,
      "max_sequence_length": 1024,
      "modality": "text",
      "model": "example-reranking-model",
      "provider_name": "Reranking Model Provider",
      "short_description": "An example reranking model.",
      "supported_parameters": [
        {
          "default": true,
          "parameter": "example_any_value",
          "required": false,
          "type": "any",
          "value_type": "boolean"
        }
      ],
      "type": "rerank"
    }
  ]
}
401
{
  "error": {
    "code": "UNAUTHENTICATED",
    "message": "Invalid API key."
  },
  "status": 401
}
404
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Model example-model not found."
  },
  "status": 404
}
500
{
  "error": {
    "code": "UNKNOWN",
    "message": "Internal server error"
  },
  "status": 500
}
Api-Keystringrequired

An API Key is required to call Pinecone APIs. Get yours from the console.

X-Pinecone-Api-Versionstringrequired

Required date-based version header

Typestring
Default2026-07
type?string

Filter models by type ('embed' or 'rerank').

Typestring
vector_type?string

Filter embedding models by vector type ('dense' or 'sparse'). Only relevant when type=embed.

Typestring

200 — The list of available models.

The list of available models.

models?object[]

List of available models.

Typeobject[]
Show child attributes
modelstringrequired

The name of the model.

Example: multilingual-e5-large

Typestring
short_descriptionstringrequired

A summary of the model.

Example: multilingual-e5-large

Typestring
typestringrequired

The type of model (e.g. 'embed' or 'rerank').

Example: embed

Typestring
vector_type?string

Whether the embedding model produces 'dense' or 'sparse' embeddings.

Typestring
default_dimension?integer

The default embedding model dimension (applies to dense embedding models only).

Required range: 1 <= x <= 20000. Example: 1024

Typeinteger
modality?string

The modality of the model (e.g. 'text').

Example: text

Typestring
max_sequence_length?integer

The maximum tokens per sequence supported by the model.

Required range: 1 <= x. Example: 512

Typeinteger
max_batch_size?integer

The maximum batch size (number of sequences) supported by the model.

Required range: 1 <= x. Example: 96

Typeinteger
provider_name?string

The name of the provider of the model.

Example: NVIDIA

Typestring
supported_dimensions?integer[]

The list of supported dimensions for the model (applies to dense embedding models only).

Typeinteger[]
supported_metrics?string[]

The distance metrics supported by the model for similarity search.

Typestring[]
supported_parametersobject[]required

List of parameters supported by the model.

Typeobject[]
Show child attributes
parameterstringrequired

The name of the parameter.

Example: input_type

Typestring
typestringrequired

The parameter type e.g. 'one_of', 'numeric_range', or 'any'. If the type is 'one_of', then 'allowed_values' will be set, and the value specified must be one of the allowed values. 'one_of' is only compatible with value_type 'string' or 'integer'. If 'numeric_range', then 'min' and 'max' will be set, then the value specified must adhere to the value_type and must fall within the [min, max] range (inclusive). If 'any' then any value is allowed, as long as it adheres to the value_type.

Example: one_of

Typestring
value_typestringrequired

The type of value the parameter accepts, e.g. 'string', 'integer', 'float', or 'boolean'.

Example: string

Typestring
requiredbooleanrequired

Whether the parameter is required (true) or optional (false).

Example: true

Typeboolean
allowed_values?string[]

The allowed parameter values when the type is 'one_of'.

Typestring[]
min?number

The minimum allowed value (inclusive) when the type is 'numeric_range'.

Example: 1

Typenumber
max?number

The maximum allowed value (inclusive) when the type is 'numeric_range'.

Example: 1

Typenumber
default?string
Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu