Change one line
Openbase speaks the OpenAI Chat Completions API exactly. Swap the base URL and the key, keep the SDK, the streaming code and the tool calls you already wrote.
Point your OpenAI client at Openbase and reach frontier models from five providers. One balance, one bill, per-token pricing, and automatic failover when an upstream goes down.
Free credit on signup. No card required.
from openai import OpenAI
client = OpenAI(
base_url="https://api.openbase.ai/v1",
api_key="sk-ob-...",
)
response = client.chat.completions.create(
model="anthropic/claude-sonnet-5",
messages=[{"role": "user", "content": "Explain routing."}],
)Routes to
A gateway should be invisible until something breaks, and useful the moment it does.
Openbase speaks the OpenAI Chat Completions API exactly. Swap the base URL and the key, keep the SDK, the streaming code and the tool calls you already wrote.
Each model can be served by several providers in priority order. A rate limit or an outage upstream moves the request to the next one mid-flight, before your user notices.
One prepaid balance covers every provider. Usage is metered per request at published per-million rates, including the reasoning tokens other gateways quietly omit.
Every call is logged with its model, provider, token counts, latency, time to first token and exact cost. Export it or watch it live in the dashboard.
If your code already talks to OpenAI, the only thing that changes is where it points.
Sign up and issue an API key from the dashboard. Name it per environment so you can revoke one without touching the others.
Set the base URL to https://api.openbase.ai/v1 and pass your Openbase key. Nothing else in your code changes.
Use provider-prefixed slugs like anthropic/claude-sonnet-5 or google/gemini-3.7-flash. The router picks a healthy provider for you.
Tokens, cost and latency land in your dashboard as requests complete, with daily rollups and monthly invoices.
curl https://api.openbase.ai/v1/chat/completions \
-H "Authorization: Bearer $OPENBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.6-luna",
"messages": [{"role": "user", "content": "Hello"}],
"stream": true
}'Nothing here is impossible to build yourself. It is just work that has nothing to do with your product.
Map a public model slug to as many upstreams as you like. When the first one rate limits or times out, the request moves down the list mid-flight. You are billed for the attempt that produced tokens, and never for the ones that failed.
Request received
anthropic/claude-sonnet-5
Every model is addressed by a provider-prefixed slug. Prices are per million tokens and include the platform fee.
For chat completions, yes. The request and response bodies, the streaming chunk format and the error envelope all match OpenAI, so official SDKs and anything built on them work without modification.
Create an account, generate a key, and send your first request in under two minutes. Signup credit is on us.