Provider: OpenRouter

Call OpenRouter models through Respan Gateway with unified logs, cost, and latency.
This page is for Respan LLM Gateway users.

Use Respan Gateway to call OpenRouter models (openai/gpt-5.5, anthropic/claude-sonnet-4-5, meta-llama/llama-3.3-70b-instruct, and hundreds of others) while keeping unified observability (logs, cost, latency, reliability) in Respan.

Quick setup

1

Get a Respan API key

Sign up and create a key on the API keys page.

Send your first request

Pick the integration that matches your stack. The base URL is https://api.respan.ai/api and the only key needed is your RESPAN_API_KEY.

OpenRouter is OpenAI-compatible. Point the OpenAI SDK at the Respan gateway and call any OpenRouter model with the openrouter/ prefix.

from openai import OpenAI
client = OpenAI(
api_key="YOUR_RESPAN_API_KEY",
base_url="https://api.respan.ai/api",
)
response = client.chat.completions.create(
model="openrouter/openai/gpt-5.5",
messages=[{"role": "user", "content": "Hello, OpenRouter!"}],
)
print(response.choices[0].message.content)

More integrations

OpenRouter models work with every Respan gateway integration:

Switch models

Change the model parameter to call any supported model through the same client. Use the openrouter/ prefix to disambiguate when routing across providers. Browse the full list on the Models page.

client.chat.completions.create(model="openrouter/openai/gpt-5.5", messages=messages)
client.chat.completions.create(model="openrouter/anthropic/claude-sonnet-4-5", messages=messages)
client.chat.completions.create(model="openrouter/meta-llama/llama-3.3-70b-instruct", messages=messages)
client.chat.completions.create(model="openai/gpt-5.5", messages=messages)
client.chat.completions.create(model="anthropic/claude-sonnet-4-5", messages=messages)

Use your own OpenRouter key (BYOK)

Credits are the default path. If you’d rather bill OpenRouter directly, attach your own provider key.

1

Open Providers

Go to the Providers page.

2

Add OpenRouter

Select OpenRouter and paste your openrouter.api_key. Grab one from the OpenRouter keys page.

3

Load balancing (Optional)

Add multiple credential sets and use Load balancing weight to distribute traffic across them.

Override credentials per model (Optional)

Use credential_override when one model on a request should use a different OpenRouter key than the default.

{
"customer_credentials": {
"openrouter": { "api_key": "YOUR_OPENROUTER_API_KEY" }
},
"credential_override": {
"openrouter/openai/gpt-5.5": { "api_key": "ANOTHER_OPENROUTER_API_KEY" }
}
}

Log without proxying (Optional)

Already calling OpenRouter directly? Send logs to Respan asynchronously to track cost, latency, and performance for those external calls.

import requests
requests.post(
"https://api.respan.ai/api/request-logs/create/",
headers={
"Authorization": "Bearer YOUR_RESPAN_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "openrouter/openai/gpt-5.5",
"prompt_messages": [{"role": "user", "content": "Hello, how are you?"}],
"completion_message": {"role": "assistant", "content": "Hello from OpenRouter through Respan."},
"cost": 0.001,
"generation_time": 1.2,
"customer_params": {"customer_identifier": "user_123"},
},
)

See the logging guide for the full setup.