Normalized per-token pricing for 2,000+ models across 70+ providers — input, output, cache, and batch rates in one JSON table, cross-checked against two sources and refreshed hourly. No account. No API key. Your agent pays $0.01 in USDC per call and gets the data.
GET /llm/price/{model}$0.003
One model's current price by id — the cheapest way to answer "what does claude-sonnet-5 cost right now?" inside a routing loop. Fuzzy-matches ids; misses return suggestions.
GET /llm/limit/{model}$0.003
One model's context window, max output, and modality support. "Can this model handle my task?" in one call.
GET /llm/cheapest$0.01
Cheapest models matching your constraints — ?min_context=200000&vision=true&max_input_per_mtok=1. One call, ranked answer.
GET /llm/prices$0.02
Per-token prices for every model: input / output / cache read & write / batch, in USD per 1M tokens, with a second-source cross-check flag.
free preview →GET /llm/limits$0.02
Capability table: context window, max output tokens, vision / audio / function-calling / reasoning support per model.
free preview →GET /llm/price-changes$0.03
Structured diff feed: who changed which model's price, when, old vs new, percent delta — plus models added and removed.
free preview →Same hourly data, already narrowed and sorted cheapest-first with context windows and capability flags joined in. Half the price of the full table when you only care about one vendor, one host, or one constraint. Every board has a free preview.
GET /{family}-pricing$0.01
One vendor's whole line-up, priced across every host that serves it: claude, gpt, gemini, llama, deepseek, mistral, grok, qwen, kimi, glm, minimax, gemma, command, phi, jamba.
GET /llm/prices/{provider}$0.01
Everything one host serves, priced: openai, anthropic, google, vertex-ai, bedrock, azure, fireworks, together, deepinfra, openrouter, novita, replicate, xai, mistral, cloudflare, databricks, nebius, watsonx, oracle, vercel, sambanova, snowflake.
GET /llm/cheapest/{constraint}$0.01
Pre-ranked shortlists, 50 rows, cheapest first — no query building: overall, vision, reasoning, function-calling, 128k-context, long-context (200k+), million-token-context. Plus /llm/context-windows — the 100 biggest context windows, ranked, with what those tokens cost.
| model | provider | in $/Mtok | out $/Mtok | cache read | verified |
|---|---|---|---|---|---|
| loading… | |||||
Endpoints answer with HTTP 402 Payment Required and a price quote. An x402-capable client pays the quote in USDC on Base and retries — one round trip, settled by Coinbase's facilitator. No signup exists because none is needed.
# humans: look first, free curl https://modelprices.xyz/preview/llm/prices # agents: pay-per-call with any x402 client import { wrapFetchWithPayment } from "x402-fetch"; const paidFetch = wrapFetchWithPayment(fetch, wallet); await paidFetch("https://modelprices.xyz/llm/prices");
Using Claude or Cursor? There's an MCP server that exposes these tables as native tools — your agent checks prices mid-conversation and pays from its own wallet. Install it straight from this domain: modelprices.xyz/mcp.