List Models
curl --request GET \
--url https://api.example.com/modelsimport requests
url = "https://api.example.com/models"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/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.example.com/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/models"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/models")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"models_list": [
{
"provider": "OpenAI",
"available_models": [
{
"name": "GPT-4o",
"model_id": "gpt-4o-2024-11-20"
},
{
"name": "GPT-5",
"model_id": "gpt-5-2025-04-14"
},
{
"name": "o4-mini",
"model_id": "o4-mini-2025-04-16"
}
]
},
{
"provider": "Anthropic",
"available_models": [
{
"name": "Claude Sonnet 4",
"model_id": "claude-sonnet-4-2025-03-10"
},
{
"name": "Sonnet Opus 4.1",
"model_id": "claude-opus-4.1-2025-05-20"
}
]
},
{
"provider": "Google",
"available_models": [
{
"name": "Gemini 2.5 Pro",
"model_id": "gemini-2.5-pro-002"
},
{
"name": "Gemini 2.5 Flash",
"model_id": "gemini-2.5-flash-002"
}
]
},
{
"provider": "xAI",
"available_models": [
{
"name": "Grok 4",
"model_id": "grok-4-2025-01-15"
},
{
"name": "Grok 3 Mini",
"model_id": "grok-3-mini-2024-12-10"
}
]
},
{
"provider": "Together AI",
"available_models": [
{
"name": "Llama 3.3 70B",
"model_id": "meta-llama/llama-3.3-70b-instruct"
},
{
"name": "Deepseek R1 Distill Llama 70B",
"model_id": "deepseek-ai/deepseek-r1-distill-llama-70b"
}
]
}
]
}
Endpoints
List Available Models
GET
/
models
List Models
curl --request GET \
--url https://api.example.com/modelsimport requests
url = "https://api.example.com/models"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/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.example.com/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/models"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/models")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"models_list": [
{
"provider": "OpenAI",
"available_models": [
{
"name": "GPT-4o",
"model_id": "gpt-4o-2024-11-20"
},
{
"name": "GPT-5",
"model_id": "gpt-5-2025-04-14"
},
{
"name": "o4-mini",
"model_id": "o4-mini-2025-04-16"
}
]
},
{
"provider": "Anthropic",
"available_models": [
{
"name": "Claude Sonnet 4",
"model_id": "claude-sonnet-4-2025-03-10"
},
{
"name": "Sonnet Opus 4.1",
"model_id": "claude-opus-4.1-2025-05-20"
}
]
},
{
"provider": "Google",
"available_models": [
{
"name": "Gemini 2.5 Pro",
"model_id": "gemini-2.5-pro-002"
},
{
"name": "Gemini 2.5 Flash",
"model_id": "gemini-2.5-flash-002"
}
]
},
{
"provider": "xAI",
"available_models": [
{
"name": "Grok 4",
"model_id": "grok-4-2025-01-15"
},
{
"name": "Grok 3 Mini",
"model_id": "grok-3-mini-2024-12-10"
}
]
},
{
"provider": "Together AI",
"available_models": [
{
"name": "Llama 3.3 70B",
"model_id": "meta-llama/llama-3.3-70b-instruct"
},
{
"name": "Deepseek R1 Distill Llama 70B",
"model_id": "deepseek-ai/deepseek-r1-distill-llama-70b"
}
]
}
]
}
Retrieve a list of all AI models available for use with the CheckThat AI platform. This endpoint helps you discover which models you can specify in chat and completion requests.
This endpoint is also available at
/v1/models for compatibility with OpenAI-style integrations.Use Cases
- Model discovery: Find out which AI models are available for your requests
- Capability planning: Choose the right model based on your specific use case
- Integration setup: Configure your application with the correct model names
- Cost optimization: Select models based on performance vs. cost trade-offs
Authentication
This endpoint requires authentication. Include your API key in the Authorization header.
Response Format
The endpoint returns a structured list of all available models organized by provider:{
"models_list": [
{
"provider": "OpenAI",
"available_models": [
{
"name": "GPT-4o",
"model_id": "gpt-4o-2024-11-20"
},
{
"name": "GPT-5",
"model_id": "gpt-5-2025-04-14"
},
{
"name": "o4-mini",
"model_id": "o4-mini-2025-04-16"
}
]
},
{
"provider": "Anthropic",
"available_models": [
{
"name": "Claude Sonnet 4",
"model_id": "claude-sonnet-4-2025-03-10"
},
{
"name": "Sonnet Opus 4.1",
"model_id": "claude-opus-4.1-2025-05-20"
}
]
},
{
"provider": "Google",
"available_models": [
{
"name": "Gemini 2.5 Pro",
"model_id": "gemini-2.5-pro-002"
},
{
"name": "Gemini 2.5 Flash",
"model_id": "gemini-2.5-flash-002"
}
]
},
{
"provider": "xAI",
"available_models": [
{
"name": "Grok 4",
"model_id": "grok-4-2025-01-15"
},
{
"name": "Grok 3 Mini",
"model_id": "grok-3-mini-2024-12-10"
}
]
},
{
"provider": "Together AI",
"available_models": [
{
"name": "Llama 3.3 70B",
"model_id": "meta-llama/llama-3.3-70b-instruct"
},
{
"name": "Deepseek R1 Distill Llama 70B",
"model_id": "deepseek-ai/deepseek-r1-distill-llama-70b"
}
]
}
]
}
array
required
Array of provider objects, each containing their available models.
Show Provider object properties
Show Provider object properties
string
required
Name of the AI provider (e.g., “OpenAI”, “Anthropic”, “Google”, “xAI”, “Together AI”).
Example Usage
curl -X GET 'https://api.checkthat-ai.com/v1/models' \
-H 'Content-Type: application/json' \
-d '{"api_key": "your-provider-api-key"}'
from checkthat_ai import CheckThatAI
# Initialize with your provider API key
client = CheckThatAI(api_key="your-openai-key")
# List available models
models = client.models.list()
for provider in models.models_list:
print(f"\n{provider['provider']} Models:")
for model in provider['available_models']:
print(f" - {model['name']} ({model['model_id']})")
import requests
response = requests.get(
'https://api.checkthat-ai.com/v1/models',
json={'api_key': 'your-provider-api-key'}
)
models_data = response.json()
for provider in models_data['models_list']:
print(f"{provider['provider']}:")
for model in provider['available_models']:
print(f" {model['name']}")
Model Selection Guidelines
- High Accuracy
- Speed & Volume
- Specialized Tasks
For complex claims requiring detailed analysis:
- GPT-4: Best for nuanced fact-checking and complex reasoning
- Higher cost but superior accuracy
- Ideal for sensitive or controversial claims
For high-volume processing or simple claims:
- GPT-3.5 Turbo: Faster processing with good accuracy
- Lower cost per request
- Suitable for basic claim extraction
Task-specific model recommendations:
- Scientific claims: Use GPT-4 for better source evaluation
- Political statements: GPT-4 for bias detection
- Health information: GPT-4 for medical accuracy
Start with the
default_model returned by this endpoint if you’re unsure which model to choose. You can always switch models based on your specific requirements.Response
200 - application/json
Successful Response
⌘I

