OpenRouter: what the service is and who it suits in 2026
OpenRouter offers one API and one balance for many models from different providers. We cover how it works, its fees and limits, and when another gateway is more convenient.
6 min · · сравнение · API keys
OpenRouter is an intermediary service: one API and one balance through which you can reach many models from different providers. If you searched "what is openrouter ai" and want to understand how it works and whether it fits, below is a breakdown based on OpenRouter's documentation at the time of checking, without advertising and without a "who is better" comparison. The service's terms and fees change, so check their FAQ and Pricing pages before paying.
What OpenRouter is
According to its documentation, OpenRouter gives access to hundreds of models through a single API endpoint. The service chooses a provider for the request itself, switches to another one on error, and keeps shared spend accounting. You top up one dollar balance and spend it on different models.
The main idea: instead of separate accounts and keys at OpenAI, Anthropic, Google and others, you use one key. Such services are called API gateways or aggregators, and Zukko is built on the same principle. A general view of the topic is in how to choose a gateway to models.
What the API looks like
The request format is OpenAI-compatible: the same chat/completions, the same Authorization: Bearer header. So ordinary OpenAI SDKs and tools that accept their own base address work. The example in OpenRouter's documentation shows the address https://openrouter.ai/api/v1/chat/completions, and the model list is served by the GET /api/v1/models endpoint.
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="openrouter_key",
)
r = client.chat.completions.create(
model="<provider>/<model>", # take the exact name from the model catalog
messages=[{"role": "user", "content": "Hello"}],
)
print(r.choices[0].message.content)Model identifiers look like "provider/model"; find the exact values in the catalog on the site or in the /models response. For Claude Code OpenRouter has a separate Anthropic-compatible entry point (the service documentation calls it the "Anthropic Skin"), and its setup and the difference from our gateway are covered in a separate blog article about Claude Code.
What the service can do
From the documentation and FAQ:
- Routing and fallback providers. If a provider returns an error, the request moves to the next one. The order can be configured.
- Model variants. You can add suffixes to the name:
:freefor free versions,:nitroto sort providers by speed,:floorto sort by price. - Your own provider keys (BYOK). You can connect your own keys; per the FAQ, above a free allowance a 5% fee applies to such requests.
- Free models with tight limits. Per the FAQ, without purchased credits their limit is 50 requests per day, and with at least 10 credits purchased it is 1000. For work tasks such models usually do not fit.
- Accounting and analytics. The Activity page shows spend by model, provider and key.
- Privacy. The service states that by default it does not store request and response texts and logs only metadata: time, model, token count. Storing texts is enabled by an option in the settings.
Prices and fees
According to the OpenRouter FAQ, provider prices are passed through with no markup, and the service earns from a fee when credits are purchased. At the time of checking that is 5.5% for card payment (minimum $0.80) and 5% for crypto payment. The balance is in dollars, and payment is accepted by cards, through Alipay and in USDC. Credit validity is governed by the service terms, which reserve the right to expire unused credits one year after purchase.
Here is what "minimum $0.80" means in practice. The fee is the larger of two values: 5.5% of the amount or $0.80.
- A $5 top-up: 5.5% gives $0.275, which is below the minimum, so the fee is $0.80, or 16% of the amount.
- A $20 top-up: 5.5% gives $1.10, which is above the minimum, so the fee is $1.10.
Practical advice follows: small top-ups are unfavorable with such a service, so top up less often and with a larger amount.
Who OpenRouter suits
- You have a payment method the service accepts and you need a very wide model catalog.
- Fallback providers and automatic switching on failures matter to you.
- You compare many models from different providers and want unified accounting.
- A team needs a shared budget and analytics by member.
Who finds it inconvenient
The main question here is payment. The service accepts cards, Alipay and USDC, but whether a specific card goes through is decided by the payment provider and your bank. If you pay from Russia, check in advance which payment method works for you and do not top up "just in case". We are not claiming that payment is impossible: we do not verify it for you, it depends on your bank and the country where the card was issued.
The second consideration is format. With Zukko, the cache discount for Claude comes only with the Anthropic format (/v1/messages, Claude Code, the Anthropic SDK): in the OpenAI format all Claude input is billed at the input price. For long agent sessions that is a noticeable difference. How OpenRouter accounts for the cache in each format, check in its documentation.
How Zukko differs
Without saying "better or worse", here are the differences that affect the choice:
| OpenRouter | Zukko | |
|---|---|---|
| Catalog | hundreds of models | Claude, GPT, Gemini, DeepSeek, Qwen, GLM |
| Balance | dollars | dollars, top-up from $1 |
| Payment | cards, Alipay, USDC, fee when buying | SBP (the payment page adds 8.5% on top), cryptocurrency, MasterCard cards (fee about 13%, amounts $2-$594) |
| Prices | provider prices without markup | prices below official ones per the model table |
| Per-key limits | see the service documentation | each key has a daily and monthly limit in $ and a list of allowed models |
A price example. Take claude-sonnet-5-5: official input and output 2 / 10 per million, at Zukko 0.4 / 2. For a session of 3M input tokens and 0.3M output, cache ignored, that is 3 × 2 + 0.3 × 10 = $9 at the official price and 3 × 0.4 + 0.3 × 2 = $1.80 at the Zukko price, prices as of October 18, 2026. What this model costs on OpenRouter, check on the model page, since the price may depend on the provider. The current list and Zukko prices: GET https://api.zukko.pro/v1/models or the "Models" page in your account.
If you decide to switch, step-by-step instructions are in moving from OpenRouter, and a direct comparison is in Zukko vs OpenRouter. Connecting to Zukko in the OpenAI format: address https://api.zukko.pro/v1, the fetch_... key from your account, parameters in the chat completions reference. Payment from Russia: SBP, MasterCard or cryptocurrency.
FAQ
Is OpenRouter a separate neural network?
No. It is an intermediary that sends requests to models of other providers. It does not train models of its own in that sense.
Is the OpenRouter API compatible with the OpenAI SDK?
Yes, according to the service documentation any library that supports OpenAI works with it too: just set their base address and your key.
Does OpenRouter have free access?
There are free models with tight daily request limits. They usually do not fit work tasks, and the terms may change, so check the service's current FAQ.
Can I use both services?
Yes. Both accept the OpenAI format, so switching comes down to changing the address, key and model name.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- Gemini API vs Vertex API: the difference and which one to pickGoogle offers two doors to Gemini: an AI Studio key or a Google Cloud project. We compare them and show a third route through a gateway.
- OpenAI API vs Anthropic API: the format differences and what to pick for your codeTwo request formats solve the same task but differ in details that break code when porting. A comparison of structure, tools, streaming, cache and headers.
- OpenAI API Keys in the Open: Why You Should Not Use ThemWhere free keys on GitHub come from, why using them is dangerous for you and for the owner, and how to protect your own key from the same leak.
- GLM API Errors: Why the Request Fails and How to Fix ItA wrong model id, an overflowing 128K context, the key, the balance, limits: the typical causes of GLM API errors and a quick way to find yours.