One OpenAI-compatible API key for every model
OpenCheap gives you one API key for 894 chat models from 40 labs, Anthropic, OpenAI, Google, DeepSeek, Moonshot and Qwen among them, behind one OpenAI-compatible API. Keep the OpenAI SDK you already use: set the base URL to https://api.opencheap.si/v1, use the OpenCheap key, and pass any model id. Each request goes to the cheapest healthy provider of that model, and one prepaid balance pays for all of them.
Switch in two lines
The base URL and the key change; your prompts, tools and parsing stay the same.
from openai import OpenAI
import os
client = OpenAI(
base_url="https://api.opencheap.si/v1",
api_key=os.environ["OPENCHEAP_API_KEY"],
)
for model in ["claude-sonnet-5", "gemini-3.5-flash", "deepseek-v4-flash", "kimi-k3"]:
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": "One line: who made you?"}],
)
print(model, r.choices[0].message.content, r.usage.cost)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.opencheap.si/v1",
apiKey: process.env.OPENCHEAP_API_KEY,
});
const r = await client.chat.completions.create({
model: "gpt-5.5",
messages: [{ role: "user", content: "Hello" }],
});usage.cost in every answer is what that request was charged, in USD. Setup for Cursor, Claude Code, Codex, LangChain, LiteLLM, the Vercel AI SDK and others is in the integrations.
Models by lab
Live from the catalog. Each name opens the model's page with every provider's price, speed and uptime.
| Lab | Models | For example |
|---|---|---|
| Anthropic | 26 | claude-sonnet-5claude-opus-5.5claude-4-opus |
| OpenAI | 103 | gpt-5.5gpt-oss-120bo1 |
| 103 | gemini-3.5-flashgemma-4-26b-a4bgemma-4-31b | |
| DeepSeek | 53 | deepseek-v4-flashdeepseek-v4-prodeepseek-v4.1-flash |
| Moonshot | 19 | kimi-k3kimi-k3.1-prokimi-k2.7-code |
| Qwen | 112 | qwen3.8-flashqwen3-coderqwen3-coder-next |
| Zhipu | 53 | glm-5.3-flashglm-5.3glm-5.2 |
| xAI | 42 | grok-4.7grok-3grok-4 |
| Meta | 26 | llama-3.3-70bllama-4-maverickllama-4-scout |
| Mistral | 48 | mistral-small-3.2-24bmistral-nemomistral-saba |
| MiniMax | 15 | minimax-m3minimax-m2.7minimax-01 |
| ByteDance | 23 | seed-2.1-proseed-oss-36bseed-2.0-code |
| NVIDIA | 19 | nemotron-3-super-120b-a12bnemotron-nano-9b-v2nemotron-nano-12b-v2 |
| Baidu | 13 | ernie-4.5ernie-5.0ernie-5.1 |
And 26 more labs. Every model is on one page.
What “OpenAI-compatible” covers here
| Endpoint | For |
|---|---|
POST /v1/chat/completions | Any OpenAI SDK or tool, streaming included. |
POST /v1/responses | Tools built on the Responses API, such as Codex. |
POST /v1/messages | Tools built on Anthropic's API, such as Claude Code: point them at the host without /v1. |
GET /v1/models | The model list. |
Model ids are the plain name: claude-sonnet-5, gpt-oss-120b. The vendor/model spelling and a provider's own id are aliases of the same model, and opencheap/ in front works everywhere (Cursor needs it for names that start with claude-).
Questions, answered
Is there one API key that works for Claude, Gemini, GPT and DeepSeek models?
Yes. One OpenCheap key calls 894 chat models from 40 labs, Anthropic, OpenAI, Google and DeepSeek among them, through one OpenAI-compatible API at https://api.opencheap.si/v1. You do not need an account with each model maker.
Can I keep using the OpenAI SDK?
Yes. Set the SDK's base URL to https://api.opencheap.si/v1, use your OpenCheap key as the API key, and pass any model id. Python, JavaScript and any other OpenAI client work the same way.
Which endpoints does it support?
Chat completions (with streaming), the Responses API for tools built on it such as Codex, and Anthropic's Messages API for tools built on that, such as Claude Code. The model list is at /v1/models.
How is this different from OpenRouter?
Both give you one OpenAI-compatible key for models from many labs. OpenCheap sends every request to the cheapest healthy provider of the model by default, and every answer reports what it cost in usage.cost.
Do OpenRouter-style model ids work?
Yes. The plain id (claude-sonnet-5) is the usual one; the vendor/model spelling (anthropic/claude-sonnet-5) and a provider's own id are accepted as aliases of the same model, and every id also works with opencheap/ in front.
What does it cost?
You pay per token, at the price of the provider that serves each request: every request goes to the cheapest healthy provider of the model. There is no monthly fee, and credits never expire. Each model's page shows its price.
Are there free models?
Yes, 3 right now, capped at 10 requests a minute and 200 a day per key.
More guides
OpenCheap is an LLM router that sends every request to the cheapest healthy provider of the model you name, fails over to the next one before the first byte, and bills you that provider's price.
An AI agent can pay OpenCheap for one completion in USDC on Base with x402: call with no key, read the 402 price, sign, and get the answer in the same request.
On OpenCheap every key can carry its own daily, weekly, monthly or lifetime limit that refuses requests once it is reached, so an agent left running overnight cannot spend more than you allow.
Point Claude Code at OpenCheap with three environment variables and pick the model per task: Claude at the provider's price, or open models that cost a fraction of it, all on one key with a spend limit.