LLM gateway, your own keys
One endpoint for every model provider.
With fallback, rate limits and logs.
Switchyard gives your apps a single OpenAI-compatible API. Behind it, model aliases route to Anthropic, OpenAI or any OpenAI-compatible provider using your own keys.
- Free plan, no card
- No markup on tokens
- Prompts not stored by default
Why it works
Switch providers without touching app code.
Your apps call an alias like fast or smart. You decide in the dashboard which provider and model answer, and what happens when one fails.
Bring your own keys
Your provider bills you directly. Keys are encrypted at rest and never shown again. We add no markup on tokens.
Aliases with fallback
Up to five targets per alias, tried in order. If one errors, rate-limits or times out, the next one answers.
Limits per key
Issue a gateway key per app or environment, cap its requests per minute, and revoke it without touching provider keys.
Logs without the content
Every request logs model, provider, status, latency and tokens. Prompt and response content is stored only if you turn it on.
Streaming for every provider
Set stream: true to get OpenAI-style server-sent events from any provider. Anthropic streams are translated for you.
Usage you can export
See monthly requests and tokens per key and model. Download any filtered log view as CSV.
Routing
Call fast, not a vendor model id.
An alias is an ordered list of provider and model targets. The gateway tries them in turn and tells you which one answered.
- Moves on after a 5xx, a 429 or a timeout
- A bad request (4xx) comes straight back to you
- Or skip aliases and name a provider and model
Drop-in
Point your OpenAI SDK at it.
Set the base URL to your gateway and the API key to a gateway key. The request and response shapes stay the same.
- POST /v1/chat/completions, with streaming
- GET /v1/models
- Tool calls and images are not supported yet
curl https://switchyard.kapturisemedia.com/v1/chat/completions \ -H "Authorization: Bearer gw_..." \ -H "content-type: application/json" \ -d '{"model":"fast", "messages":[{"role":"user", "content":"Hello"}]}'
How it works
First request in a few minutes.
Connect
Add an Anthropic, OpenAI or OpenAI-compatible key and check the connection.
Alias
Create an alias such as fast with one or more provider and model targets.
Key
Create a gateway key for your app. It is shown once.
Call
Send a request and watch it appear under Logs and Usage.
Pricing
Start free. Upgrade when it pays off.
Free
$0 /month
- 1,000 requests / month
- 1M tokens / month
- 2 provider connections
- 5 model aliases
- 7-day request logs
- Bring your own provider keys
Pro
$49 /month
- 200,000 requests / month
- 200M tokens / month
- 20 provider connections
- 200 model aliases
- 30-day request logs
- Everything in Free
FAQ
Questions, answered.
Do you charge for tokens?
Do you store my prompts?
Which providers work?
What happens at my plan limit?
Can I export or delete my data?
One endpoint. Your keys. Your rules.
Connect a provider, create an alias and send your first request.