One API for every model.Route with confidence.
Reliable routing, budgets, and request logs.Your keys. Any model. No code rewrites.
Production traffic
Built-in adapters for the providers you already use
The provider layer your app does not have to own.
BerryRouter puts routing, credentials, usage policy, and request data behind one API, so application code stays simple while operators keep control.
Send one request. BerryRouter finds a healthy path.
Each call passes project access, budget, rate-limit, and guardrail checks. BerryRouter then scores eligible providers with live health data and records every attempt.
Apply policy
Reject requests that exceed access, budget, or rate-limit rules.
Select a provider
Honor explicit routes or choose from the eligible fallback order.
Record the result
Tie attempts, tokens, cost, latency, and payload retention to one request ID.
Keep your client. Change the base URL.
Use the OpenAI client you already know. BerryRouter keeps provider selection, credentials, policy, and telemetry out of application code.
from openai import OpenAI
client = OpenAI(
base_url="https://api.berryrouter.ai/v1",
api_key="brk_live_..."
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Hello"}],
stream=True
)Use the service. Or own the stack.
Start on BerryRouter’s hosted platform or run the gateway and control plane in your infrastructure. The API surface stays the same.
Straight answers before you route traffic.
The product is one gateway, with different operating models for teams that want a managed service or their own deployment.
Put one clear control point between your app and every model.
Create a project, add a provider key, issue an API key, and trace the first request from the same console.
