Skip to main content

Models

Models are individual released versions of an AI model. Each model belongs to a family and has full lifecycle metadata including release dates, deprecation dates, parameter counts, and context windows.

List models

GET /api/v1/models

Returns a paginated, filterable list of models.

Query Parameters

ParameterTypeDefaultDescription
providerstringFilter by provider slug
familystringFilter by family slug
statusstringFilter by status: active, latest, deprecated, sunset
open_sourcebooleanFilter by open-source status
min_paramsintegerMinimum parameter count (e.g. 70000000000 for 70B+)
max_paramsintegerMaximum parameter count
sortstringrelease_dateSort field: release_date or parameter_count
pageinteger1Page number
per_pageinteger50Results per page (max 200)

Examples

# All models from Anthropic
curl "https://api.modelgraph.ai/api/v1/models?provider=anthropic"

# Only deprecated models
curl "https://api.modelgraph.ai/api/v1/models?status=deprecated"

# Open-source models with 70B+ parameters
curl "https://api.modelgraph.ai/api/v1/models?open_source=true&min_params=70000000000"

# Latest version of each family (the recommended model)
curl "https://api.modelgraph.ai/api/v1/models?status=latest"

Response

{
"models": [
{
"slug": "claude-sonnet-4-6",
"display_name": "Claude Sonnet 4.6",
"version": "4.6",
"status": "latest",
"model_type": "chat",
"family": {
"slug": "claude-sonnet",
"name": "Claude Sonnet"
},
"provider": {
"slug": "anthropic",
"name": "Anthropic"
},
"release_date": "2025-10-15",
"deprecation_date": null,
"sunset_date": null,
"parameter_count": null,
"parameter_label": null,
"input_context_window": 200000,
"output_context_window": 16384,
"is_open_source": false
}
],
"pagination": {
"page": 1,
"per_page": 50,
"total": 127,
"total_pages": 3
}
}

Response Fields

FieldTypeDescription
slugstringUnique identifier
display_namestringHuman-readable name
versionstringVersion string (e.g. "4.6", "2024-08-06")
statusstringOne of: active, latest, deprecated, sunset
model_typestring | nullOne of: chat, embedding, image, audio_generation, speech_to_text, realtime, moderation, video_generation, search, code, unknown
familyobjectFamily summary (slug, name)
providerobjectProvider summary (slug, name)
release_datestring | nullISO 8601 date
deprecation_datestring | nullAnnounced end-of-life date
sunset_datestring | nullDate model stops working
parameter_countinteger | nullTotal parameters (e.g. 70000000000)
parameter_labelstring | nullHuman-readable label (e.g. "70B")
input_context_windowinteger | nullMax input tokens
output_context_windowinteger | nullMax output tokens
is_open_sourcebooleanInherited from the family

Get a model

GET /api/v1/models/{slug}

Returns a single model with its aliases, family info, and successor chain.

Path Parameters

ParameterTypeDescription
slugstringModel slug (e.g. claude-sonnet-4-6, gpt-4o-2024-08-06)

Response

{
"slug": "claude-3-5-sonnet-20241022",
"display_name": "Claude 3.5 Sonnet",
"version": "3.5",
"status": "active",
"model_type": "chat",
"family": {
"slug": "claude-sonnet",
"name": "Claude Sonnet"
},
"provider": {
"slug": "anthropic",
"name": "Anthropic"
},
"release_date": "2024-10-22",
"deprecation_date": null,
"sunset_date": null,
"parameter_count": null,
"parameter_label": null,
"input_context_window": 200000,
"output_context_window": 8192,
"is_open_source": false,
"canonical_url": null,
"successor": {
"slug": "claude-sonnet-4-6",
"display_name": "Claude Sonnet 4.6"
},
"aliases": [
{
"alias": "claude-3-5-sonnet-20241022",
"source": "official",
"normalized": "claude-3-5-sonnet"
},
{
"alias": "anthropic.claude-3-5-sonnet-20241022-v2:0",
"source": "bedrock",
"normalized": "claude-3-5-sonnet"
},
{
"alias": "claude-3-5-sonnet-v2@20241022",
"source": "vertex",
"normalized": "claude-3-5-sonnet"
},
{
"alias": "anthropic/claude-3-5-sonnet-20241022",
"source": "litellm",
"normalized": "claude-3-5-sonnet"
}
],
"metadata": null,
"created_at": "2024-10-22T00:00:00Z",
"updated_at": "2025-11-01T12:00:00Z"
}

Errors

StatusCodeDescription
404not_foundModel with the given slug doesn't exist

Get a model's upgrade

GET /api/v1/models/{slug}/upgrade

Returns the recommended upgrade for a model. The upgrade is determined by:

  1. Following the explicit successor_model_id chain if set
  2. Otherwise, returning the latest model in the same family

Response

{
"current": {
"slug": "claude-3-5-sonnet-20241022",
"display_name": "Claude 3.5 Sonnet",
"status": "active"
},
"upgrade": {
"slug": "claude-sonnet-4-6",
"display_name": "Claude Sonnet 4.6",
"status": "latest",
"release_date": "2025-10-15"
},
"is_latest": false
}

If the model is already the latest version, is_latest is true and upgrade is null.


Get a model's history

GET /api/v1/models/{slug}/history

Returns all models in the same family, ordered chronologically. This is a convenience shortcut for fetching the family timeline scoped to one model's lineage.

Response

{
"model": {
"slug": "claude-3-5-sonnet-20241022",
"display_name": "Claude 3.5 Sonnet"
},
"family": {
"slug": "claude-sonnet",
"name": "Claude Sonnet"
},
"history": [
{
"slug": "claude-3-sonnet-20240229",
"display_name": "Claude 3 Sonnet",
"status": "deprecated",
"release_date": "2024-02-29"
},
{
"slug": "claude-3-5-sonnet-20241022",
"display_name": "Claude 3.5 Sonnet",
"status": "active",
"release_date": "2024-10-22"
},
{
"slug": "claude-sonnet-4-6",
"display_name": "Claude Sonnet 4.6",
"status": "latest",
"release_date": "2025-10-15"
}
]
}