ONE API FOR YOUR AI MODELS

ONE API.
ALL YOUR
AI MODELS.

Add every provider API key to your private model registry. Then use one osRouter API key to call any available model, choose the exact connection, or set your own fallback order.

Provider inference stays on your provider account.

YOUR REQUESTYOUR MODEL
POST /v1/chat/completions
{
  "model": "openai/gpt-4.1",
  "connection": "openai-product",
  "fallbacks": ["anthropic/claude-sonnet-5"]
}
01Your app
02Your registry
03Your chosen key

One application key. Your provider connections.

ADD EVERY PROVIDER KEYBUILD YOUR MODEL REGISTRYUSE ONE APPLICATION KEYSET YOUR OWN FALLBACKS

THREE STEPS. ONE API.

ADD KEYS.
BUILD YOUR REGISTRY.
MAKE A REQUEST.

01

Connect every key

Add provider keys from every account. You can keep multiple keys from the same provider, each with its own name and permissions.

02

Build your registry

osRouter gathers the models available through your connected keys into one private catalog.

03

Call with one key

Your app uses one osRouter key. Name a model, select a connection when needed, and add fallback models in the order you want.

ONE PRIVATE REGISTRYMany provider keys in. One application key out.

Use a different key for each team, project, or environment—even when those keys belong to the same provider. Your model usage stays on each provider account.

YOUR PRIVATE MODEL REGISTRY

YOUR MODELS.
READY TO CALL.

A connection is one saved provider API key. Give every key a clear name—such as OpenAI · Product or OpenAI · Research. osRouter then shows which models each connection can call.

01
Add a provider key

Save each key as its own named connection.

02
See available models

Models appear only when a connected key can use them.

03
Name what to use

Your request can choose the exact connection.

EXAMPLE REGISTRY

What one app key can access

4 connections saved
anthropic/claude-sonnet-5Anthropic · Team

One available connection

google/gemini-2.5-proGoogle · Production

One available connection

mistral/mistral-largeNot connected yet

Add a Mistral key to make it available

Nothing is chosen silently. If you do not name a connection, osRouter uses the default you saved for that application key. A fallback chain is separate: it is an ordered list you explicitly create below.

FALLBACKS YOU CONTROL

SET THE ORDER.
KEEP THE CONTROL.

A fallback chain is off by default. When you create one, you name every model and connection osRouter may try.

PRIMARYopenai/gpt-4.1Product key
FALLBACK 01anthropic/claude-sonnet-5Team key
FALLBACK 02openai/gpt-4.1-miniBackup key

If a selected key is rate-limited or unavailable, osRouter follows only the order you saved. It never picks a new provider or model by itself.

MANAGE PARALLEL REQUESTS

KEEP PROVIDER LIMITS
UNDER CONTROL.

Set how many requests each connection can run at once. osRouter queues the rest at that same connection and sends them when capacity opens.

OPENAI · PRODUCT8 running
New requests wait here
ANTHROPIC · TEAM3 running
Separate limit, separate queue

A queued request keeps its selected model and connection. It only uses a fallback if your saved chain says to.

KNOW WHAT HAPPENED

YOUR USAGE,
IN ONE PLACE.

See which model was called, how long it took, and whether it worked—without retaining prompt or response content by default.

REQUESTS24,680This month
CONNECTIONS07Across 4 providers
FALLBACK CHAINS03Explicitly configured
CONTENT RETENTIONOFFBy default

SIMPLE GATEWAY PRICING

PAY FOR THE
CONNECTION.

Provider charges stay between you and the provider. Choose a workspace plan before creating your private registry.

STARTERMONTHLY / USD
$10/ month

Includes 100,000 direct provider calls.

  • One paid workspace
  • Multiple keys per provider
  • Private model registry
  • Explicit fallback chains
Choose Starter

BUILD WITHOUT THE MIDDLEMAN

ONE API. YOUR DECISION.

Create workspace