The unified model gateway

One key for every model

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.

quickstart.py
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

OpenAIAnthropicGooglexAIDeepSeek
Why Openbase

Infrastructure that gets out of the way

A gateway should be invisible until something breaks, and useful the moment it does.

01

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.

02

Fail over automatically

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.

03

Pay for tokens, not seats

One prepaid balance covers every provider. Usage is metered per request at published per-million rates, including the reasoning tokens other gateways quietly omit.

04

See where it went

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.

How it works

Four steps, none of them a migration

If your code already talks to OpenAI, the only thing that changes is where it points.

  1. 01

    Create a key

    Sign up and issue an API key from the dashboard. Name it per environment so you can revoke one without touching the others.

  2. 02

    Point your client at us

    Set the base URL to https://api.openbase.ai/v1 and pass your Openbase key. Nothing else in your code changes.

  3. 03

    Name any model

    Use provider-prefixed slugs like anthropic/claude-sonnet-5 or google/gemini-3.7-flash. The router picks a healthy provider for you.

  4. 04

    Watch the meter

    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
  }'
Direct APIs vs Openbase

The same call, minus the integration work

Nothing here is impossible to build yourself. It is just work that has nothing to do with your product.

Direct provider APIs
Openbase
Accounts and keys
One account, one key and one invoice per provider
One account, one key, one invoice
Adding a model
New SDK, new request shape, new error handling
Change the model string
Provider outage
Your requests fail until you ship a fallback
Retried against the next provider mid-flight
Spend
Reconciled across separate dashboards after the fact
One balance, metered per request as it happens
Usage data
Whatever each provider chooses to expose
Model, provider, tokens, latency and cost on every call
Rate limits
Per provider, discovered in production
Pooled across providers serving the same model
Failover

One model, several providers, in priority order

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.

Retried on
429, 408, 5xx and connection timeouts
Never retried on
400 and 404, which would fail the same way anywhere
POST /v1/chat/completions
  • AnthropicPriority 10
  • BedrockPriority 20
  • VertexPriority 30

Request received

anthropic/claude-sonnet-5

Model catalog

Frontier models, one namespace

Every model is addressed by a provider-prefixed slug. Prices are per million tokens and include the platform fee.

Browse all models
Questions

Answers before you sign up

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.

Ship on every model without rewriting anything

Create an account, generate a key, and send your first request in under two minutes. Signup credit is on us.