DodoRouter docs
DodoRouter is an LLM proxy and router. Point any OpenAI-, Anthropic-, or Responses-API client at it once, and it forwards your requests through a fallback chain of providers you configure — retrying the next provider automatically on rate limits, outages, or context overflows — while logging every request.
🤖 Reading this with an AI agent?
Fetch https://dodorouter.com/llms.txt for a condensed, link-based index, or https://dodorouter.com/llms-full.txt for every page on this site concatenated as one plain-Markdown file. Every individual page also has a raw-Markdown twin at its own URL with .md appended — e.g. https://dodorouter.com/docs/quickstart.md — so an agent can fetch just the page it needs.
Jump in
Quickstart →
Register, create a router, send your first request. ~5 minutes.
Self-hosting →
Clone, configure, and run your own instance.
API reference →
Endpoints, auth, request/response formats, errors.
Connect a coding agent →
Claude Code, OpenCode, Forge, Codex CLI — verified configs.
How a request flows
A DodoRouter deployment has one account, any number of routers, and a pool of provider keys (your OpenAI, Anthropic, z.ai, Moonshot, etc. credentials). Each router has its own DodoRouter API key and its own ordered list of routing steps — ordered pairs of (provider, model) that DodoRouter tries in sequence.
Your client (a script, an SDK, or a coding-agent CLI like Claude Code) talks to DodoRouter using a completely standard OpenAI or Anthropic request. DodoRouter ignores the model field you send and instead dispatches to routing step 1. If that provider call fails in a way that's safe to retry (rate limit, 5xx, timeout, context overflow, auth error), DodoRouter automatically moves to step 2, then step 3, and so on, only returning an error once every step has failed. The response is converted back to the format your client expects, so the client never has to know which provider actually served the request.
your client → DodoRouter (/r/{router}/v1/...)
→ step 1: provider A / model X ✗ 429 rate limited
→ step 2: provider B / model Y ✓ 200 success
← response, converted back to your client's format
DodoRouter is a Phoenix (Elixir) application. It ships as a hosted service at api.dodorouter.com and as self-hostable open source at github.com/foxwise-ai/dodorouter.