List available models
curl --request GET \
--url https://api.pinecone.io/models \
--header 'Api-Key: <api-key>' \
--header 'X-Pinecone-Api-Version: <x-pinecone-api-version>'import requests
url = "https://api.pinecone.io/models"
headers = {
"X-Pinecone-Api-Version": "<x-pinecone-api-version>",
"Api-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Pinecone-Api-Version': '<x-pinecone-api-version>', 'Api-Key': '<api-key>'}
};
fetch('https://api.pinecone.io/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pinecone.io/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pinecone.io/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
req.Header.Add("Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pinecone.io/models")
.header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
.header("Api-Key", "<api-key>")
.asString();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["X-Pinecone-Api-Version"] = '<x-pinecone-api-version>'
request["Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"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"
}
]
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Invalid API key."
},
"status": 401
}{
"error": {
"code": "NOT_FOUND",
"message": "Model example-model not found."
},
"status": 404
}{
"error": {
"code": "UNKNOWN",
"message": "Internal server error"
},
"status": 500
}Inference
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
List available models
curl --request GET \
--url https://api.pinecone.io/models \
--header 'Api-Key: <api-key>' \
--header 'X-Pinecone-Api-Version: <x-pinecone-api-version>'import requests
url = "https://api.pinecone.io/models"
headers = {
"X-Pinecone-Api-Version": "<x-pinecone-api-version>",
"Api-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Pinecone-Api-Version': '<x-pinecone-api-version>', 'Api-Key': '<api-key>'}
};
fetch('https://api.pinecone.io/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pinecone.io/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pinecone.io/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
req.Header.Add("Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pinecone.io/models")
.header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
.header("Api-Key", "<api-key>")
.asString();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["X-Pinecone-Api-Version"] = '<x-pinecone-api-version>'
request["Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"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"
}
]
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Invalid API key."
},
"status": 401
}{
"error": {
"code": "NOT_FOUND",
"message": "Model example-model not found."
},
"status": 404
}{
"error": {
"code": "UNKNOWN",
"message": "Internal server error"
},
"status": 500
}Authorizations
Headers
Required date-based version header
Query Parameters
Filter models by type ('embed' or 'rerank').
Filter models by type.
Possible values: embed or rerank.
Filter embedding models by vector type ('dense' or 'sparse'). Only relevant when type=embed.
Filter models by vector type.
Possible values: dense or sparse.
Response
The list of available models.
The list of available models.
List of available models.
Show child attributes
Show child attributes
Was this page helpful?