List models
Returns available models in an OpenAI-compatible format. Filters are limited to facts derivable from the catalog and enabled route pricing; category and arch are conservative derived mappings, so an unknown value is not treated as a match.
capability?stringFilter by catalog capability (tool_call, reasoning, vision, streaming, etc.).
modality?stringFilter by input or output modality (text, image, audio, video).
service?stringFilter by service type (llm, embedding, tts, stt, image, rerank).
lifecycle?stringFilter by lifecycle status (active, deprecated, sunset).
q?stringFree-text search across model ID, name, and description.
provider?stringComma-separated provider filter. providers is accepted as an alias.
providers?stringComma-separated provider filter alias; merged with provider.
input_modalities?stringComma-separated input modalities.
output_modalities?stringComma-separated output modalities.
context?integerMinimum context length in tokens. Alias of min_context; conflicting values are rejected.
0 <= valuemin_context?integerMinimum context length in tokens. Alias of context; conflicting values are rejected.
0 <= valuemin_price?numberMinimum input price in USD per 1M tokens, converted once to int64 Credits.
0 <= valuemax_price?numberMaximum input price in USD per 1M tokens, converted once to int64 Credits.
0 <= valuemin_output_price?numberMinimum output price in USD per 1M tokens, converted once to int64 Credits.
0 <= valuemax_output_price?numberMaximum output price in USD per 1M tokens, converted once to int64 Credits.
0 <= valuearch?stringFilter by derived model family (GPT, Claude, Gemini, DeepSeek, Mistral, Qwen, Other).
category?stringFilter by conservative derived category. Only programming and technology are currently classifiable; other categories return no matches.
"programming""roleplay""marketing""marketing/seo""technology""science""translation""legal""finance""health""trivia""academia"min_age_days?integerMinimum age in days from lifecycle.effective_since; models without that fact do not match.
0 <= valuemax_age_days?integerMaximum age in days from lifecycle.effective_since; models without that fact do not match.
0 <= valuesort?stringSupported sorts: pricing-low-to-high, pricing-high-to-low, context-high-to-low, newest. Unknown values are ignored; other OpenRouter data-backed sorts are not available in this catalog.
Successful response
application/json- response
data*array<>object*"list""list"curl -X GET 'https://api.ohmygpt.com/v1/models'{ "data": [ { "api": "string", "architecture": { "input_modalities": [ "string" ], "modality": "string", "output_modalities": [ "string" ] }, "available": true, "capability": { "as_of": "string", "ci_high": 0, "ci_low": 0, "score": 0 }, "context_length": 0, "created": 0, "description": "string", "fidelity": { "routes": { "property1": { "lossy_fields": [ { "degradation": "string", "field": "string", "impact": "string" } ], "score": 0 }, "property2": { "lossy_fields": [ { "degradation": "string", "field": "string", "impact": "string" } ], "score": 0 } } }, "id": "string", "knowledge_cutoff": "string", "lifecycle": { "deprecated_at": "string", "status": "string", "successor": "string", "sunset_at": "string" }, "limits": { "max_completion_tokens": 0, "max_prompt_tokens": 0, "stream_idle_timeout": 0 }, "managed_routing": true, "modalities": { "input": [ "string" ], "output": [ "string" ] }, "name": "string", "object": "model", "owned_by": "string", "preference": { "as_of": "string", "rating": 0, "rating_lower": 0, "rating_upper": 0, "votes": 0 }, "pricing": { "flat": [ { "kind": "string", "list_price_credits": 0, "params": { "property1": "string", "property2": "string" }, "price_credits": 0 } ], "mode": "string", "rules": [ { "condition": { "exclude_ranges": [ { "end": "2019-08-24T14:15:22Z", "start": "2019-08-24T14:15:22Z" } ], "max_input": 0, "min_input": 0, "params": { "property1": "string", "property2": "string" }, "service_tier": "string", "time_windows": [ { "end": "string", "start": "string" } ], "usage_kind": "llm", "valid_from": "2019-08-24T14:15:22Z", "valid_until": "2019-08-24T14:15:22Z", "weekdays": [ "monday" ] }, "kind": "string", "list_price_credits": 0, "price_credits": 0 } ], "tiered": [ { "items": [ { "kind": "string", "list_price_credits": 0, "params": { "property1": "string", "property2": "string" }, "price_credits": 0 } ], "up_to": 0 } ], "variants": [ { "items": [ { "kind": "string", "list_price_credits": 0, "params": { "property1": "string", "property2": "string" }, "price_credits": 0 } ], "name": "string" } ] }, "protocols": [ { "id": "string", "label": "string", "method": "GET", "model": "string", "native": true, "path": "string", "transport": "http" } ], "providers": [ { "context": 0, "data_policy": { "moderation": "string", "retention": "string", "training": true }, "display_name": "string", "location": "string", "max_completion_tokens": 0, "max_prompt_tokens": 0, "pricing": { "flat": [ { "kind": "string", "list_price_credits": 0, "params": { "property1": "string", "property2": "string" }, "price_credits": 0 } ], "mode": "string", "rules": [ { "condition": { "exclude_ranges": [ { "end": "2019-08-24T14:15:22Z", "start": "2019-08-24T14:15:22Z" } ], "max_input": 0, "min_input": 0, "params": { "property1": "string", "property2": "string" }, "service_tier": "string", "time_windows": [ { "end": "string", "start": "string" } ], "usage_kind": "llm", "valid_from": "2019-08-24T14:15:22Z", "valid_until": "2019-08-24T14:15:22Z", "weekdays": [ "monday" ] }, "kind": "string", "list_price_credits": 0, "price_credits": 0 } ], "tiered": [ { "items": [ { "kind": "string", "list_price_credits": 0, "params": { "property1": "string", "property2": "string" }, "price_credits": 0 } ], "up_to": 0 } ], "variants": [ { "items": [ { "kind": "string", "list_price_credits": 0, "params": { "property1": "string", "property2": "string" }, "price_credits": 0 } ], "name": "string" } ] }, "provider": "string", "quantization": "string", "supports_implicit_caching": true } ], "service": "string" } ], "object": "list"}Get weekly model usage GET
Each public model's share of the tokens served in each ISO week (Monday 00:00 UTC start) for a stacked "top models" chart, plus this week's leaderboard. The chart draws the 10 models with the most tokens over the window and folds every other public model into other_share. The leaderboard lists the 20 models with the most tokens this week so far, with their rank and share, each compared with last week over the same span (Monday 00:00 UTC up to as_of), so a week in progress is not mistaken for a decline. change_pct is null until both spans have at least 20 requests. Same scope as /v1/rankings/models. Refreshed about once an hour.
Exchange Realtime WebRTC SDP POST
Exchanges a WebRTC SDP offer for an OpenAI Realtime SDP answer. Set the model in `session.model` of the multipart `session` field, or in the `model` query parameter.