One endpoint for every model.

Put every model your company uses behind one gateway, with one API for your teams and agents, and access, spend, data and failover you control.

Without a gatewayWith Surogate

AI use is spreading faster than anyone can govern it.

Every team picks its own models and keys. Spend shows up on the invoice, prompts go to providers nobody approved, and one provider outage stops the work. With a gateway, every call goes through one place you control.

Every call goes where you decide.

The gateway maps each model name to a model and provider, holds the cost against the caller's budget, checks the request, and moves the call to the next provider when one fails.

Change the base URL. Keep your code.

The OpenAI and Anthropic SDKs, Codex, opencode and any OpenAI-compatible client work as they are.

from openai import OpenAI

client = OpenAI(
    base_url="https://gateway.example.com/api/v1",
    api_key="sk-...",
)
client.chat.completions.create(model="opus-5", messages=[...])

APIs

Chat Completions

Responses, with the WebSocket Codex uses

Anthropic Messages, with token counting

Embeddings and images

The OpenRouter API

Providers

OpenAI, Anthropic and Gemini

Azure OpenAI and Foundry

Amazon Bedrock and Vertex AI

OpenRouter

vLLM, Ollama and any OpenAI-compatible host

Your ChatGPT and Claude plans

Control every call.

Who can call which model, what they can spend, where prompts may go, and what happens when a provider fails.

Access

Every caller gets its own key.

Issue a key per person, team or agent, and grant each one only the models it should use.

Spend

Spending stops at the limit.

Monthly limits per key, a reservation on every request, and exact accounting for every call.

Safety

Guardrails read the answer first.

Redact emails, card numbers, API keys and your own patterns, and run your injection and safety classifiers. Answers are checked too, and a blocked one never reaches the caller.

Data

Prompts go only where you allow.

Keep an organisation on providers that neither train on prompts nor keep them, or on EU-hosted ones, and decide whether prompts are logged at all.

Reliability

When a provider fails, the call moves on.

Route by health, price, speed or a fixed order. Slow or failing providers drop back, and a failed call moves on to the next one.

Visibility

See every call and what it cost.

Spend, tokens, latency and errors by model, provider and app, and each request's route from the first attempt to the answer.

Run it in our cloud or in yours.

Use it hosted on llm.buzz, or run it on your own Kubernetes so keys, budgets and logs stay in your infrastructure, and prompts go only to the providers you allow.

llm.buzz

Our hosted gateway, open to anyone. Sign up, buy credits and call every model with one key.

Go to llm.buzz

Your Kubernetes

One image per release, on your cluster and your network, with your own provider accounts.

One console for every team

The model catalog, a playground, activity and request logs, and keys and budgets. Prompt logs are kept seven days, or turned off.

Put one gateway in front of every model.

Tell us which models and providers your teams use, and we'll set one up for a pilot.