Models API

Search canonical model releases independently from the providers and API surfaces that deploy them.

List models

GET/v1/modelsAuthentication: Optional
cURL
curl "https://api.use-allm.com/v1/models?q=claude&provider=anthropic&capability=tool_calling&limit=2" \
  -H "Authorization: Bearer $ALLM_API_KEY"

Query parameters

q
string
Case-insensitive search over name, canonical ID, lab, and family.
provider
string
Return models with at least one deployment at this provider.
mode
string
chat, responses, embedding, rerank, and other provider modes.
capability
string
Return models with at least one deployment where this capability is supported.
limit
integer
Maximum number of records to return (1–500).Default: 100
offset
integer
Zero-based number of matching records to skip.Default: 0

Retrieve a model

GET/v1/models/{lab}/{model}Authentication: Optional
lab
stringrequired
anthropic in anthropic/claude-haiku-4.5.
model
stringrequired
claude-haiku-4.5 in the canonical model ID.
TypeScript · fetch
const response = await fetch(
  "https://api.use-allm.com/v1/models/anthropic/claude-haiku-4.5",
  { headers: { Authorization: `Bearer ${process.env.ALLM_API_KEY}` } },
);
const { data: model } = await response.json();

console.log(model.name);        // Claude Haiku 4.5
console.log(model.deployments); // Provider-specific options

Response

JSON · 200
{
  "data": {
    "id": "anthropic/claude-haiku-4.5",
    "name": "Claude Haiku 4.5",
    "family": "anthropic/claude-haiku",
    "lab": "Anthropic",
    "modalities": ["image", "pdf", "text"],
    "deployments": [/* deployment objects */]
  }
}

Response metadata

Every successful response includes x-allm-catalog-release, x-request-id, and an ETag. Store the request ID in logs and the catalog release beside any persisted decision.