---
title: "List all models and their properties"
method: GET
path: "/models"
tags: ["Models"]
---

# List all models and their properties

`GET /models`

## Query parameters

- `category` 'programming' | 'roleplay' | 'marketing' | 'marketing/seo' | 'technology' | 'science' | 'translation' | 'legal' | 'finance' | 'health' | 'trivia' | 'academia' — Filter models by use case category
- `supported_parameters` string — Filter models by supported parameter (comma-separated)
- `output_modalities` string — Filter models by output modality. Accepts a comma-separated list of modalities (text, image, audio, embeddings) or "all" to include all models. Defaults to "text".
- `sort` 'most-popular' | 'newest' | 'top-weekly' | 'pricing-low-to-high' | 'pricing-high-to-low' | 'context-high-to-low' | 'throughput-high-to-low' | 'latency-low-to-high' — Sort the returned models server-side. Prefer this over fetching the full list and sorting client-side. Options: pricing-low-to-high, pricing-high-to-low (average prompt/completion price), context-high-to-low (context length), throughput-high-to-low, latency-low-to-high (recent median performance), most-popular, top-weekly (tokens processed in the last week), newest (creation date). When omitted, the existing default ordering is preserved.
- `use_rss` string — Return results as RSS feed
- `use_rss_chat_links` string — Use chat links in RSS feed items
- `q` string — Free-text search by model name or slug.
- `input_modalities` string — Filter models by input modality. Comma-separated list of: text, image, audio, file.
- `context` integer — Minimum context length (tokens). Models with smaller context are excluded.
- `min_price` number, nullable — Minimum prompt price in $/M tokens.
- `max_price` number, nullable — Maximum prompt price in $/M tokens.
- `arch` string — Filter models by architecture/model family (e.g. GPT, Claude, Gemini, Llama).
- `model_authors` string — Filter models by the organization that created the model. Comma-separated list of author slugs.
- `providers` string — Filter models by hosting provider. Comma-separated list of provider names.
- `distillable` 'true' | 'false' — Filter by distillation capability. "true" returns only distillable models, "false" excludes them.
- `zdr` 'true' — When set to "true", return only models with zero data retention endpoints.
- `region` 'eu' — Filter to models with endpoints in the given data region. Currently only "eu" is supported.

## Response `200`

Returns a list of models or RSS feed

- ModelsListResponse — List of available models
  - `data` Model[], required — List of available models
    - `architecture` ModelArchitecture, required — Model architecture information
      - `input_modalities` InputModality[], required — Supported input modalities
      - `instruct_type` 'none' | 'airoboros' | 'alpaca' | 'alpaca-modif' | 'chatml' | 'claude' | 'code-llama' | 'gemma' | 'llama2' | 'llama3' | 'mistral' | 'nemotron' | 'neural' | 'openchat' | 'phi3' | 'rwkv' | 'vicuna' | 'zephyr' | 'deepseek-r1' | 'deepseek-v3.1' | 'qwq' | 'qwen3' | 'null', nullable — Instruction format type
      - `modality` string, nullable, required — Primary modality of the model
      - `output_modalities` OutputModality[], required — Supported output modalities
      - `tokenizer` 'Router' | 'Media' | 'Other' | 'GPT' | 'Claude' | 'Gemini' | 'Gemma' | 'Grok' | 'Cohere' | 'Nova' | 'Qwen' | 'Yi' | 'DeepSeek' | 'Mistral' | 'Llama2' | 'Llama3' | 'Llama4' | 'PaLM' | 'RWKV' | 'Qwen3' — Tokenizer type used by the model
    - `benchmarks` ModelBenchmarks — Third-party benchmark rankings for this model. Omitted when no benchmark data is available.
      - `artificial_analysis` AABenchmarkEntry — Artificial Analysis benchmark index scores.
        - `agentic_index` number, double, nullable, required — Artificial Analysis Agentic Index score
        - `coding_index` number, double, nullable, required — Artificial Analysis Coding Index score
        - `intelligence_index` number, double, nullable, required — Artificial Analysis Intelligence Index score
      - `design_arena` DABenchmarkEntry[], required — Design Arena ELO rankings across arena+category pairs.
        - `arena` string, required — Arena type (e.g. models, builders, agents)
        - `category` string, required — Category within the arena (e.g. website, gamedev, uicomponent)
        - `elo` number, double, required — ELO rating from head-to-head arena battles
        - `rank` integer, required — Rank position within this arena+category among models available on OpenRouter (1 = highest ELO)
        - `win_rate` number, double, required — Win rate percentage in arena battles
    - `canonical_slug` string, required — Canonical slug for the model
    - `context_length` integer, nullable, required — Maximum context length in tokens
    - `created` integer, required — Unix timestamp of when the model was created
    - `default_parameters` DefaultParameters, nullable, required — Default parameters for this model
      - `frequency_penalty` number, double, nullable
      - `presence_penalty` number, double, nullable
      - `repetition_penalty` number, double, nullable
      - `temperature` number, double, nullable
      - `top_k` integer, nullable
      - `top_p` number, double, nullable
    - `description` string — Description of the model
    - `expiration_date` string, nullable — The date after which the model may be removed. ISO 8601 date string (YYYY-MM-DD) or null if no expiration.
    - `hugging_face_id` string, nullable — Hugging Face model identifier, if applicable
    - `id` string, required — Unique identifier for the model
    - `knowledge_cutoff` string, nullable — The date up to which the model was trained on data. ISO 8601 date string (YYYY-MM-DD) or null if unknown.
    - `links` ModelLinks, required — Related API endpoints and resources for this model.
      - `details` string, required — URL for the model details/endpoints API
    - `name` string, required — Display name of the model
    - `per_request_limits` PerRequestLimits, nullable, required — Per-request token limits
      - `completion_tokens` number, required — Maximum completion tokens per request
      - `prompt_tokens` number, required — Maximum prompt tokens per request
    - `pricing` PublicPricing, required — Pricing information for the model
      - `audio` string — A number or string value representing a large number
      - `audio_output` string — A number or string value representing a large number
      - `completion` string, required — A number or string value representing a large number
      - `discount` number, double
      - `image` string — A number or string value representing a large number
      - `image_output` string — A number or string value representing a large number
      - `image_token` string — A number or string value representing a large number
      - `input_audio_cache` string — A number or string value representing a large number
      - `input_cache_read` string — A number or string value representing a large number
      - `input_cache_write` string — A number or string value representing a large number
      - `internal_reasoning` string — A number or string value representing a large number
      - `prompt` string, required — A number or string value representing a large number
      - `request` string — A number or string value representing a large number
      - `web_search` string — A number or string value representing a large number
    - `reasoning` ModelReasoning — Reasoning effort configuration. Omitted for non-reasoning models and dynamic router models.
      - `default_effort` 'max' | 'xhigh' | 'high' | 'medium' | 'low' | 'minimal' | 'none' | 'null', nullable — Default reasoning effort when the client enables reasoning without specifying effort. Maps to `reasoning.effort` in chat requests. When `"none"`, prefer omitting effort unless the user explicitly disables reasoning.
      - `default_enabled` boolean — Default reasoning enabled state when the client does not set `reasoning.enabled`.
      - `mandatory` boolean, required — When true, reasoning cannot be disabled and effort "none" is rejected.
      - `supported_efforts` ReasoningEffort[], nullable — Allowed reasoning effort values for this model, in descending effort order (highest first). Null means no allowlist — all gateway effort values are accepted.
      - `supports_max_tokens` boolean — Present and `true` when the model accepts `reasoning.max_tokens` in requests (Anthropic-style) instead of or in addition to `reasoning.effort`. Omitted otherwise.
    - `supported_parameters` Parameter[], required — List of supported parameters for this model
    - `supported_voices` string[], nullable, required — List of supported voice identifiers for TTS models. Null for non-TTS models.
    - `top_provider` TopProviderInfo, required — Information about the top provider for this model
      - `context_length` integer, nullable — Context length from the top provider
      - `is_moderated` boolean, required — Whether the top provider moderates content
      - `max_completion_tokens` integer, nullable — Maximum completion tokens from the top provider

## Other responses

- `400` — Bad Request - Invalid request parameters or malformed input
- `500` — Internal Server Error - Unexpected server error

## Changes

- **2026-06-22** `8d4d6fd85671` — 2 warning
  - added the new `max` enum value to the `data/items/reasoning/default_effort/allOf[#/components/schemas/ReasoningEffort]/` response property for the response status `200`
  - added the new `max` enum value to the `data/items/reasoning/supported_efforts/items/` response property for the response status `200`
- **2026-06-17** `4e640c1a2370` — 1 info
  - added the optional property `data/items/reasoning` to the response with the `200` status

[Change history](https://skmtc.dev/openrouterteam/apis/openrouter-api/changes/models/get.md)

---

[API](https://skmtc.dev/openrouterteam/apis/openrouter-api.md) · [All operations](https://skmtc.dev/openrouterteam/apis/openrouter-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openrouterteam/openrouter-api/revisions/619a2678ecee/schema)
