Make your first API call to OpenDunes in under two minutes.
OpenDunes is an OpenAI-compatible API. If you've used any OpenAI SDK before, you already know how to use it — just swap the base URL and key.
Sign in and go to Dashboard → API Keys. A default key is created automatically on signup. You can create additional keys, give each one a spending cap, and revoke them at any time.
Copy your key and store it as an environment variable — never hardcode it in source:
export OPENDUNES_API_KEY="sk-0a1b2c3d4e5f..."Pick any model from the catalog and call POST /v1/chat/completions. Here's the simplest possible request using three different clients:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://opendunes.com/v1",
api_key=os.environ["OPENDUNES_API_KEY"],
)
resp = client.chat.completions.create(
model="anthropic/claude-sonnet-5",
messages=[{"role": "user", "content": "Marhba! Say hello in one line."}],
)
print(resp.choices[0].message.content)Any OpenAI SDK works out of the box. Set base_url (Python) or baseURL (Node/TS) to https://opendunes.com/v1 and pass your OpenDunes key as the API key. No other changes needed.
The SDK's full request surface is honored by OpenDunes today — model, messages, stream, max_tokens, temperature, top_p, tools, tool_choice, response_format, stop, seed, penalties, logprobs, and more, plus OpenDunes extensions like models fallbacks and provider routing. See Chat Completions for the full parameter reference.
Add "stream": true and the server will push tokens over server-sent events as they arrive. See Streaming for the full SSE protocol and how to handle mid-stream errors.