List models

Ask the API what it currently serves instead of hard-coding a list.

GEThttps://clawrouter.com/v1/models

Returns every model your key is allowed to call. The catalogue changes as providers ship and retire models, so fetch this rather than shipping a static list that will quietly go stale.

curl https://clawrouter.com/v1/models \
  -H "Authorization: Bearer $CLAWROUTER_API_KEY"
200 OK
{
  "object": "list",
  "data": [
    { "id": "claude-sonnet-5-5", "object": "model", "owned_by": "custom" },
    { "id": "gpt-5.5", "object": "model", "owned_by": "custom" }
  ]
}

One model

GEThttps://clawrouter.com/v1/models/{model}

Returns the record for a single model, from the same catalogue as the list. A 404 means your key cannot call that name — code model_not_found in the OpenAI shape, not_found_error in Anthropic's — which is the quickest way to check a model string before you depend on it.

Anthropic format

Send an anthropic-version header and both endpoints answer in Anthropic's shape, which the Anthropic SDK's models.list() and models.retrieve() read directly. The key can be in x-api-key or a bearer token.

from anthropic import Anthropic

client = Anthropic(api_key=os.environ["CLAWROUTER_API_KEY"], base_url="https://clawrouter.com")

for m in client.models.list():
    print(m.id)

print(client.models.retrieve("claude-opus-5-5").display_name)

Gemini format

GEThttps://clawrouter.com/v1beta/models

The same catalogue in Gemini's own listing shape, for clients built against that SDK.