Skip to navigation

Anthropic SDK (gateway)

Route Anthropic SDK calls through the Respan gateway. Only your RESPAN_API_KEY is needed — no separate ANTHROPIC_API_KEY required.

Setup

1

Install packages

pip install anthropic
2

Set environment variables

export RESPAN_API_KEY="YOUR_RESPAN_API_KEY"

No ANTHROPIC_API_KEY needed — the Respan gateway handles provider authentication.

3

Point the Anthropic client to the Respan gateway

import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["RESPAN_API_KEY"],
base_url="https://api.respan.ai/api/anthropic/",
)
message = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[{"role": "user", "content": "Say hello in three languages."}],
)
print(message.content[0].text)

Switch models

Change the model parameter to use different Claude models through the same gateway.

message = client.messages.create(model="claude-sonnet-4-5-20250929", max_tokens=1024, messages=messages)
message = client.messages.create(model="claude-haiku-4-5-20251001", max_tokens=1024, messages=messages)
message = client.messages.create(model="claude-opus-4-5-20251101", max_tokens=1024, messages=messages)

See the full model list.

Respan parameters

Pass additional Respan parameters via metadata under the respan_params key for gateway features.

message = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
metadata={
"respan_params": {
"customer_identifier": "user_123",
"metadata": {"session_id": "abc123"},
"thread_identifier": "conversation_456",
}
},
)

respan_params must be an object, as shown above. A string (including a json.dumps of the object), list, number or boolean is silently ignored: the request is still served, but no customer_identifier or other param applies. See respan_params must be a JSON object.

See Respan params & metadata for the full list.