For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
ModelsChatRankingsDocs
DocsAPI ReferenceClient SDKsAgent SDKCookbookChangelog
DocsAPI ReferenceClient SDKsAgent SDKCookbookChangelog
    • Overview
    • Usage for Agents
  • TypeScript SDK
    • Overview
  • Python SDK
    • Overview
      • Analytics
      • APIKeys
      • Byok
      • Chat
      • Credits
      • Embeddings
      • Endpoints
      • Generations
      • Guardrails
        • Models
      • OAuth
      • Observability
      • Organization
      • Presets
      • Providers
      • Rerank
      • Beta.Responses
      • Transcriptions
      • Speech
      • VideoGeneration
      • Workspaces
  • Go SDK
  • DevTools
    • Overview
    • Migrating to @openrouter/agent
LogoLogo
ModelsChatRankingsDocs
On this page
  • Overview
  • Available Operations
  • list
  • Example Usage
  • Parameters
  • Response
  • Errors
  • count
  • Example Usage
  • Parameters
  • Response
  • Errors
  • list_for_user
  • Example Usage
  • Parameters
  • Response
  • Errors
Python SDKAPI ReferenceModels

Models - Python SDK

Models method reference
Was this page helpful?
Previous

OAuth - Python SDK

OAuth method reference
Next
Built with

The Python SDK and docs are currently in beta. Report issues on GitHub.

Overview

Model information endpoints

Available Operations

  • list - List all models and their properties
  • count - Get total count of available models
  • list_for_user - List models filtered by user provider preferences, privacy settings, and guardrails

list

List all models and their properties

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.models.list()
12
13 # Handle response
14 print(res)

Parameters

ParameterTypeRequiredDescriptionExample
http_refererOptional[str]➖The app identifier should be your app’s URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_titleOptional[str]➖The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]➖Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
categoryOptional[operations.Category]➖Filter models by use case categoryprogramming
supported_parametersOptional[str]➖Filter models by supported parameter (comma-separated)temperature
output_modalitiesOptional[str]➖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”.text
retriesOptional[utils.RetryConfig]➖Configuration to override the default retry behavior of the client.

Response

components.ModelsListResponse

Errors

Error TypeStatus CodeContent Type
errors.BadRequestResponseError400application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*

count

Get total count of available models

Example Usage

1from openrouter import OpenRouter
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8 api_key=os.getenv("OPENROUTER_API_KEY", ""),
9) as open_router:
10
11 res = open_router.models.count()
12
13 # Handle response
14 print(res)

Parameters

ParameterTypeRequiredDescriptionExample
http_refererOptional[str]➖The app identifier should be your app’s URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_titleOptional[str]➖The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]➖Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
output_modalitiesOptional[str]➖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”.text
retriesOptional[utils.RetryConfig]➖Configuration to override the default retry behavior of the client.

Response

components.ModelsCountResponse

Errors

Error TypeStatus CodeContent Type
errors.BadRequestResponseError400application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*

list_for_user

List models filtered by user provider preferences, privacy settings, and guardrails. If requesting through eu.openrouter.ai/api/v1/... the results will be filtered to models that satisfy EU in-region routing.

Example Usage

1from openrouter import OpenRouter, operations
2import os
3
4with OpenRouter(
5 http_referer="<value>",
6 x_open_router_title="<value>",
7 x_open_router_categories="<value>",
8) as open_router:
9
10 res = open_router.models.list_for_user(security=operations.ListModelsUserSecurity(
11 bearer=os.getenv("OPENROUTER_BEARER", ""),
12 ))
13
14 # Handle response
15 print(res)

Parameters

ParameterTypeRequiredDescription
securityoperations.ListModelsUserSecurity✔️N/A
http_refererOptional[str]➖The app identifier should be your app’s URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
x_open_router_titleOptional[str]➖The app display name allows you to customize how your app appears in OpenRouter’s dashboard.
x_open_router_categoriesOptional[str]➖Comma-separated list of app categories (e.g. “cli-agent,cloud-agent”). Used for marketplace rankings.
retriesOptional[utils.RetryConfig]➖Configuration to override the default retry behavior of the client.

Response

components.ModelsListResponse

Errors

Error TypeStatus CodeContent Type
errors.UnauthorizedResponseError401application/json
errors.NotFoundResponseError404application/json
errors.InternalServerResponseError500application/json
errors.OpenRouterDefaultError4XX, 5XX*/*