OpenRouter API: Get model details
Looks up an OpenRouter model by name, slug or model link and returns its prices, limits, supported inputs, release date and hosting providers.
Unofficial. Not affiliated with or endorsed by OpenRouter.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Model, required
model Model name, OpenRouter model link, or model slug, for example Claude Sonnet 4.5.
Llama 3.3 70B
Input as JSON
{ "model": "Llama 3.3 70B"}Output
{ "provider": "Meta", "providers": [ { "provider_name": "DeepInfra", "uptime_percent": 98.18941504178274, "context_length_tokens": 131072, "input_price_usd_per_million_tokens": 0.1, "output_price_usd_per_million_tokens": 0.32 }, { "provider_name": "Novita", "uptime_percent": 100, "context_length_tokens": 12288, "input_price_usd_per_million_tokens": 0.135, "output_price_usd_per_million_tokens": 0.4 }, { "provider_name": "AkashML", "uptime_percent": 99.8589562764457, "context_length_tokens": 131072, "input_price_usd_per_million_tokens": 0.2, "output_price_usd_per_million_tokens": 0.52 } ], "model_name": "Meta: Llama 3.3 70B Instruct", "model_slug": "meta-llama/llama-3.3-70b-instruct" , "description": "The Meta Llama 3.3 multilingual large language model (LLM) is a pretrained and instruction tuned generative model in 70B (text in/text out). The Llama 3.3 instruction tuned text only model..." , "release_date": "2024-12-06", "model_page_link": "https://openrouter.ai/models/meta-llama/llama-3.3-70b-instruct" , "supported_inputs": [ "text" ], "context_length_tokens": 131072, "maximum_output_tokens": 16384, "input_price_usd_per_million_tokens": 0.1, "output_price_usd_per_million_tokens": 0.32}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"openrouter.ai/get_model","input":{"model":"Llama 3.3 70B"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "openrouter.ai/get_model" , "input": { "model": "Llama 3.3 70B" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "openrouter.ai/get_model" , "input": { "model": "Llama 3.3 70B" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run openrouter.ai/get_model# with {"model":"Llama 3.3 70B"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "model" ], "properties": { "model": { "type": "string", "description": "Model name, OpenRouter model link, or model slug, for example Claude Sonnet 4.5." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "model_name", "provider", "description", "context_length_tokens", "maximum_output_tokens", "input_price_usd_per_million_tokens", "output_price_usd_per_million_tokens", "supported_inputs", "release_date", "model_page_link", "model_slug", "providers" ], "properties": { "provider": { "type": "string", "description": "Organization offering the model." }, "providers": { "type": "array", "items": { "type": "object", "required": [ "provider_name", "input_price_usd_per_million_tokens", "output_price_usd_per_million_tokens", "context_length_tokens", "uptime_percent" ], "properties": { "provider_name": { "type": "string" }, "uptime_percent": { "type": [ "number", "null" ] }, "context_length_tokens": { "type": [ "integer", "null" ] }, "input_price_usd_per_million_tokens": { "type": [ "number", "null" ] }, "output_price_usd_per_million_tokens": { "type": [ "number", "null" ] } }, "additionalProperties": false }, "description": "Available hosting options and their prices, context windows, and one-day uptime where reported. A host may have multiple options." }, "model_name": { "type": "string", "description": "Model’s display name." }, "model_slug": { "type": "string", "description": "OpenRouter model identifier.", "x-fous-developer": true }, "description": { "type": [ "string", "null" ], "description": "Published model summary." }, "release_date": { "type": [ "string", "null" ], "format": "date", "description": "Model listing release date (YYYY-MM-DD)." }, "model_page_link": { "type": "string", "description": "OpenRouter model page." }, "supported_inputs": { "type": "array", "items": { "type": "string" }, "description": "Supported input types." }, "context_length_tokens": { "type": [ "integer", "null" ], "description": "Maximum context window in tokens." }, "maximum_output_tokens": { "type": [ "integer", "null" ], "description": "Maximum output in tokens." }, "input_price_usd_per_million_tokens": { "type": [ "number", "null" ], "description": "Base input price in USD per million tokens." }, "output_price_usd_per_million_tokens": { "type": [ "number", "null" ], "description": "Base output price in USD per million tokens." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
openrouter.ai/get_model- Returns
- model name, provider, description, context and output limits, USD prices per million tokens, supported inputs, release date, slug, page link, hosting providers
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method openrouter.ai/get_model with the inputs above.
Ask your agent
- What is the context window and max output for Claude Sonnet 4.5?
- How much does GPT-4o cost per million input and output tokens on OpenRouter?
- Show me the hosting providers serving the Llama 3.1 70B Instruct model.
- When was the Mistral Large model released and what inputs does it accept?
- Get the slug, description and pricing for the Gemini 2.5 Flash model on openrouter.ai.
See more
All OpenRouter methodsLists public OpenRouter models with per-million-token prices, context size, input types, release date and model page. Results can be sorted by newest, input price or popularity.
openrouter.ai/list_modelsLooks up one Hugging Face model by name, repository ID or link and returns its public details, model card summary and file sizes. For a name, the first matching model is returned.
huggingface.co/get_modelFinds public Hugging Face models by search words, with an optional task and sort order. License is null when the model does not publish one.
huggingface.co/search_modelsGets a book's catalog details from Open Library by its title, with an optional author or ISBN to identify the right book. Reading availability reflects listed editions; details may be missing when the catalog has none.
openlibrary.org/get_bookGet one AliExpress product’s prices, variants, reviews, shipping to a chosen country, seller and specifications from its link or the best-selling name match. Sold counts may be rounded, and shipping options are those shown for the displayed variant.
aliexpress.com/get_productLists Hugging Face models in trending order this week, optionally filtered to one task. Downloads cover the last 30 days.
huggingface.co/list_trending_modelsGets a restaurant's public OpenTable profile by name or OpenTable link and city, including ratings, details, menu and photo links. Ratings and other fields can be missing when the restaurant does not publish them.
opentable.com/get_restaurantCompares a product's prices across shops on PriceRunner in the United Kingdom, Sweden or Denmark: finds the best-matching product, lists its default new-condition national shop offers sorted by total price, and adds the three-month low when available.
pricerunner.com/compare_prices