Gateway

One API key. One base URL. Every model.

Point Claude Code, Codex, Cursor, or any OpenAI-compatible client at the zerouter gateway. Create a key, set the base URL, and call Claude, GPT, Gemini, Grok, and Kimi.

Last updated 7 September 2026.

base_url

How to set a custom base URL

The gateway origin is the same for every client. Claude Code uses ANTHROPIC_BASE_URL. Codex, GPT, and OpenAI SDKs use base_url on /v1. Cursor overrides the OpenAI base URL.

Gateway

https://api.zerouter.ai

API key

sk-xxxx

POST paths

POST https://api.zerouter.ai/v1/messages          # Claude / Kimi
POST https://api.zerouter.ai/v1/responses         # GPT / Grok / Codex
POST https://api.zerouter.ai/v1/chat/completions  # Gemini / OpenAI Chat

Claude Code

ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN

Write ~/.claude/settings.json or export the two variables in your shell before launching claude.

~/.claude/settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.zerouter.ai",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxx"
  }
}

Shell

export ANTHROPIC_BASE_URL="https://api.zerouter.ai"
export ANTHROPIC_AUTH_TOKEN="sk-xxxx"
claude

Codex CLI and GPT ยท config.toml

Edit ~/.codex/config.toml

Add a provider named zerouter. base_url must include /v1. Set ZEROUTER_API_KEY in the environment, then start Codex.

~/.codex/config.toml

model = "gpt-5.4"
model_provider = "zerouter"

[model_providers.zerouter]
name = "zerouter"
base_url = "https://api.zerouter.ai/v1"
env_key = "ZEROUTER_API_KEY"
wire_api = "responses"

Then export the key

export ZEROUTER_API_KEY="sk-xxxx"
codex

Cursor

Override the OpenAI base URL in Cursor

Use the OpenAI-compatible override, not an Anthropic-only field.

01

Open Cursor Settings

Go to Models / OpenAI.

02

Override the base URL

Set OpenAI Base URL to https://api.zerouter.ai/v1.

03

Paste the key

Use your zerouter sk-xxxx key. Pick a model ID from the catalog.

OpenAI SDK and curl

OpenAI SDK and curl

Any client that accepts a custom base URL can use the same key. Match the path to the protocol.

Python OpenAI SDK

from openai import OpenAI

client = OpenAI(
    base_url="https://api.zerouter.ai/v1",
    api_key="sk-xxxx",
)
print(client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "ping"}],
))

curl

curl https://api.zerouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-xxxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.4","messages":[{"role":"user","content":"ping"}]}'