Quickstart
From zero to a working API call in about five minutes.
How UnoRouter works
UnoRouter puts 200+ models from OpenAI, Anthropic, Google, DeepSeek, Qwen and 50+ other providers behind one OpenAI-compatible endpoint. Integrate once, then swap models by changing a single string. Many models are completely free, no credit card required.
You can also skip the API entirely: the built-in chat runs free models without signup, and your conversations stay in your browser.
Base URL
Point any OpenAI-compatible client at these two values:
| Variable | Value |
|---|---|
BASE_URL | https://api.unorouter.com/v1 |
API_KEY | The key you create on the Tokens page |
Tools that speak a native wire protocol use the bare domain instead: Claude Code sets ANTHROPIC_BASE_URL and Gemini CLI sets GOOGLE_GEMINI_BASE_URL without the /v1 suffix. Each integration guide shows the exact value.
Create an API key
Sign up, then open the Tokens page and create a key. Give it a name; you can also set an expiry date, a spending limit, allowed models and an IP allowlist. The key is shown once, store it safely.
Without a key you can still use the built-in chat as a guest on free models. API requests always need a key.
Make your first request
Replace YOUR_API_KEY with the key you just created (if you are logged in, it is already filled in below):
curl https://api.unorouter.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-oss-120b:free",
"messages": [{ "role": "user", "content": "Hello!" }]
}'Models with the :free suffix cost nothing. Pick any other model from the catalog to use your balance.
Use the official SDKs
Any OpenAI SDK works unchanged, just set the base URL and your key:
Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.unorouter.com/v1",
api_key="YOUR_API_KEY",
)
completion = client.chat.completions.create(
model="gpt-oss-120b:free",
messages=[{"role": "user", "content": "Hello!"}],
)
print(completion.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.unorouter.com/v1",
apiKey: "YOUR_API_KEY",
});
const completion = await client.chat.completions.create({
model: "gpt-oss-120b:free",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(completion.choices[0].message.content);Next steps
The Integrations tab has copy-paste setup for 30+ apps: SillyTavern, JanitorAI, Claude Code, Cline and more. The Chat tab documents the built-in roleplay chat.
Browse all models and live prices on the Models page, community-tested free-model reliability on Rankings, and provider health on Status.