# Models

> List and inspect every model in the AnyRouter catalog. Get pricing, context windows, capabilities, and live provider routing metadata.


# Models

AnyRouter exposes the full model catalog via REST. Every model is uniquely identified by a `provider/model` slug — the same format used in the chat completions `model` field.

## List models

```text
GET https://anyrouter.dev/api/v1/models
```

```bash
curl https://anyrouter.dev/api/v1/models \
  -H "Authorization: Bearer ar-your-key"
```

Response:

```json
{
  "object": "list",
  "data": [
    {
      "id": "openai/gpt-4-turbo",
      "object": "model",
      "provider": "OpenAI",
      "category": "text",
      "context_length": 128000,
      "pricing": { "input_per_1k": 10, "output_per_1k": 30 },
      "capabilities": ["chat", "tool_use", "vision"]
    }
  ]
}
```

## Get one model

```text
GET https://anyrouter.dev/api/v1/models/:id
```

`:id` is the URL-encoded model slug. For `anthropic/claude-sonnet-4.6`:

```bash
curl https://anyrouter.dev/api/v1/models/anthropic%2Fclaude-sonnet-4.6 \
  -H "Authorization: Bearer ar-your-key"
```

## Count

```text
GET https://anyrouter.dev/api/v1/models/count
```

Returns a lightweight JSON object with the current model count — useful for health checks and cache warming.

## Filtering

The list endpoint accepts the following query parameters:

| Param | Description |
|---|---|
| `provider` | Filter by provider id (`openai`, `anthropic`, `google`, …). |
| `category` | `text` / `image` / `audio` / `embedding`. |
| `min_context` | Minimum context window in tokens. |
| `capability` | Repeatable. E.g. `?capability=vision&capability=tool_use`. |

Example:

```bash
curl "https://anyrouter.dev/api/v1/models?provider=anthropic&min_context=200000" \
  -H "Authorization: Bearer ar-your-key"
```
