Overview
TokRouter is an OpenAI-compatible model gateway — one base URL and one key for models from many vendors, with separate input / output / cache pricing.
In one line: point your SDK's base_url at https://api.tokrouter.dev/v1 and call models from any
vendor with the same sk- API key.
curl https://api.tokrouter.dev/v1/chat/completions \
-H "Authorization: Bearer $TOKROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"messages": [{"role": "user", "content": "Explain a model gateway in one sentence"}]
}'First time here
Start with the quickstart: create a key, run the curl, then swap your SDK's base_url. There is no TokRouter-specific dependency to install.
What is in these docs
- Getting started: quickstart, authentication, billing and quota
- SDKs and frameworks: OpenAI Python / Node, Anthropic, LangChain, Vercel AI SDK
- Tool integrations: Claude Code, Cursor, Cline, Cherry Studio, LibreChat
- Guides: streaming, tool calling, vision input, structured output, protocol bridging
- API reference: endpoints, request and response fields for each protocol
- Models: context window and per-component pricing for every model
Supported protocols
The same base URL accepts four inbound protocols and routes by the model field in the request body —
so you can call an OpenAI model with the Anthropic SDK, or Claude with the OpenAI SDK.
| Protocol | Endpoint | Typical client |
|---|---|---|
| OpenAI Chat Completions | /v1/chat/completions | OpenAI SDK, most third-party clients |
| OpenAI Responses | /v1/responses | OpenAI's newer Responses API |
| Anthropic Messages | /v1/messages | @anthropic-ai/sdk, Claude Code |
| Gemini | /v1beta/models/{model}:generateContent | google-genai |
| DashScope | /v1/services/aigc/text-generation/generation | Alibaba DashScope SDK (drop the official /api prefix) |
System One is not a chat protocol
/v1/systemone is a passthrough endpoint for the Jev decision model: the request body is
{state, questions} and the response is a typed decision with probabilities. It does not support
streaming and does not participate in protocol bridging.