Free & Open-Source AI Gateway

Never Stop Coding.

236 providers, one endpoint, auto-fallback. Never hit limits — never stop building.

236 providers 90+ free 15–95% saved

omniroute — auto-fallback
$ omniroute ▸ cc/claude ........ quota out → glm $0.5switched in 8ms

IDERouter236 providers

The promise

One endpoint. Never stop building.

  • Never hit limits

    Auto-fallback across 236 providers in milliseconds. Quota out? The next provider takes over — zero downtime.

  • Save up to 95% tokens

    RTK + Caveman stacked compression cuts 15–95% of eligible tokens — about 89% on tool-heavy sessions.

  • $0 to start

    90+ providers with a free tier, 11 free forever (Kiro, Pollinations, LongCat…). No credit card needed.

  • Every tool works

    16+ coding agents — Claude Code, Codex, Cursor, Cline, Copilot, Antigravity — through one config.

  • One endpoint

    OpenAI ↔ Claude ↔ Gemini ↔ Responses API translation. Point any tool at /v1 and it just works.

  • Production-grade

    Circuit breakers, TLS stealth, MCP (95 tools), A2A, memory, guardrails, evals — backed by 21,000+ tests.

The catalog

providers

Most complete catalog of any open router.

90+ free 11 free forever

  • 20 OAuth Claude Code, Codex, Cursor, Gemini CLI, Antigravity…
  • 158 API-key OpenAI, Groq, NVIDIA, Cerebras, Mistral…
  • 11 Free forever Kiro, Qoder, Pollinations, LongCat…
  • 11 Local Ollama, LM Studio, vLLM…

23 Web 11 Search 7 Audio 24 Image 14 Video 14 Embeddings 8 Rerank 6 Music

Explore all 236 →
Up and running in 60s

Three commands. Zero config.

  1. Install & run

    One npm install, then launch — the API and dashboard come up together on port 20128.

  2. Connect a FREE provider

    Open the dashboard, pick from 90+ free tiers and sign in — no credit card, no paid API key needed.

  3. Point your IDE

    Set your tool's base URL to localhost:20128/v1 and your dashboard key. Every model is now one endpoint away.

  4. Start Free →
omniroute — quick start
$ npm install -g omniroute added 1 package in 6s $ omniroute ▸ dashboard http://localhost:20128/dashboard ▸ api ...... serving on :20128 $ curl localhost:20128/v1/models models listed 🎉
Batteries included

Everything built in. No add-ons.

Routing, resilience, free-quota draining, compression and agent protocols — one binary, zero plugins to glue together.

Smart Combos

Set a model to auto or build your own. 17 routing strategies with tier-1/2/3 fallback — quota out on one provider, switched to the next in milliseconds.

17 strategies

Memory

Persistent conversational memory — FTS5 keyword + Qdrant vector recall, built in.

hybrid recall

3-Layer Resilience

Fail at the right level — never the whole thing. Circuit breaker per provider, cooldown per connection, lockout per model. Other keys and models keep serving.

3 layers

Free Quota

Pool-deduped, honest counting across 90+ free providers.

~1.6B tokens / month

Compression

RTK + Caveman stacked on tool output and context.

15–95% tokens saved

MCP Server

Built-in server exposing the gateway itself — across 30 scopes.

95 tools / 30 scopes

A2A Protocol

JSON-RPC agent protocol — connect an agent, it drives OmniRoute.

6 agent skills

Drop-in compatible

One config. Every coding tool works.

Point any OpenAI-compatible CLI at a single base URL — 236 providers behind the scenes.

Base URL
localhost:20128/v1
API Key
‹from dashboard›

One endpoint. Every tool points here.

The daily reality

Why OmniRoute

Every coding-AI pain has a built-in fix. No scripts, no babysitting.

❌ The daily pain ✅ How OmniRoute fixes it
Quota expires unused Track & drain every free token
Rate limits stop you mid-task 4-tier auto-fallback in milliseconds
Tool output burns tokens RTK + Caveman compression, 15–95%
Expensive APIs at $20–50/mo Cost-optimized routing to cheapest
Each tool its own setup One endpoint, every tool works
AI blocked in your region 3-level proxy + TLS stealth
IDE  subscription  API key  cheapest  free
Honest comparison

How we compare

Audited against the real READMEs of 9router, LiteLLM and CLIProxyAPI. Where they win, we say so — where we're alone, the numbers speak.

Feature OmniRoute 9router LiteLLM CLIProxyAPI
Routing
Providers 236 40+100+8+ upstreams
Routing strategies 17 3-tierretry / priorityround-robin · fill-first
Tier 1/2/3 fallback + UI manual⚠ multi-account
Token compression RTK+Caveman 15–95% RTK 20–40%❌ HTTP brotli only
Protocols
Built-in MCP server ✅ 95 tools — exposes the gateway ⚠ client (connects to MCP)
A2A protocol ✅ server, 6 skills ⚠ client (invokes A2A)
Cloud agents (Codex/Cursor/Devin/Jules) ⚠ sidecar
Resilience & Security
Resilience layers 3 (breaker+cooldown+lockout) ⚠ cooldown⚠ cooldown⚠ cooldown
Memory (FTS5 + vector) ⚠ semantic cache
Guardrails (PII / injection / vision) ⚠ cloak
Eval framework
TLS fingerprint stealth ✅ wreq-js ✅ utls
Ops
Dashboard Next.js 16 Next.js 16Next.jsNext.js / React
i18n locales 42 43
OAuth providers 16+ 5SSO6 (CLI auth)
Self-hostable
License MIT MITMIT + CommMIT
Stack TS / Next 16 Node / Next 16PythonGo

Honesty notes: LiteLLM is an MCP/A2A client (connects/invokes); OmniRoute is a server (exposes its own gateway as 95 tools / 6 skills). CLIProxyAPI also ships TLS stealth (utls). 9router has RTK compression (20–40%) — the stacked RTK+Caveman (15–95%) is ours.

Runs anywhere

Where it runs

One codebase, eight ways to run it — laptop, server, phone or plugin. Pick the install command and you're serving on port 20128.

  • npm

    npm i -g omniroute
  • Docker

    docker run omniroute
  • Desktop

    Electron app · Win/Mac/Linux
  • ARM

    arm64 · Raspberry Pi ready
  • Termux

    pkg install nodejs · run on Android
  • PWA

    Install from browser · offline-ready
  • OpenCode plugin

    @omniroute/opencode-plugin
  • Source

    git clone · npm run dev
Flagship routing

Set your model to auto.

One alias, the whole catalog behind it. Pick a ready-made mode or build your own combo — 17 strategies, grouped by what you're optimizing for.

auto /coding /fast /cheap /offline /smart

Or build your own — 17 strategies, grouped by goal:

  • 🪫 Drain subscription

    Burn the quota you already paid for before touching paid APIs.

    priorityfill-first
  • ⚖️ Spread load

    Balance traffic across keys and accounts to dodge rate limits.

    round-robinp2cleast-used
  • 💸 Cheapest first

    Always route to the lowest cost-per-token that can serve the request.

    cost-optimized
  • 🧵 Context-aware

    Keep long contexts on models that fit — relay when they overflow.

    context-relaycontext-optimized
  • 🎲 Randomized

    Unpredictable pick to avoid fingerprinting a single backend.

    randomstrict-random
  • 🧠 Smart & adaptive

    Let OmniRoute decide — 9-factor scoring, last-known-good, reset-aware windows.

    autolkgpreset-awarereset-window

17 routing strategies 9-factor auto-scoring tier 1/2/3 fallback in milliseconds

Free tokens, honestly counted

~1.6B free tokens a month.

OmniRoute tracks every free tier across 90+ providers and drains the quota you'd otherwise lose. Usage is pool-deduped — shared accounts count once, so the numbers are real, not inflated.

90+ free providers 11 free forever

Free-Tier Budget 1.4B / 1.6B this month
  • Kiro 50 cr
  • Qoder
  • LongCat 50M/day
  • Cerebras 1M/day
  • NVIDIA 40 rpm
  • Pollinations no key

Pool-deduped & honest — no inflated multi-B claims.

Free forever — $0, no card:

  • KiroKiro
  • PollinationsPollinations
  • LongCatLongCat
  • Cloudflare AICloudflare
  • Gemini CLIGemini CLI
  • NVIDIA NIMNVIDIA
  • CerebrasCerebras
  • + 4 more
Stop burning tokens

Save 15–95% on tokens.

Tool output, repeated context and bloated JSON get compressed before they reach the model — same meaning, a fraction of the tokens. 10 composable engines stack in a pipeline you control.

Before 69 tok
The function should iterate over the list of items, and for each item, it should check whether the value is greater than zero, and if so, add it to the running total.
After 19 tok
sum all list items where value > 0

Stacked in order — mix & match per combo:

  1. Session-Dedup drops content repeated across turns
  2. CCR archives big blocks, retrieves on demand
  3. RTK smart tool-result filtering & dedup
  4. Headroom lossless tabular compaction of JSON arrays
  5. Relevance extractive sentence scoring vs your last query
  6. Caveman rule-based prose compression — up to ~75%
  7. LLMLingua-2 ML semantic pruning (ONNX), code-safe
  • Lite15%
  • Standard30%
  • Aggressive50%
  • Ultra75%
  • RTK60–90%
  • Stacked78–95%

Output Styles — shape what comes back (combinable · lite/full/ultra):

  • Terse prose
  • Less code (YAGNI)
  • Terse CJK 文言

All of it, under your control — header › combo › profile › adaptive › default:

  • Named profiles + active selector
  • Visual Compression Studio
  • Anthropic Context Editing
  • Adaptive context-budget dial
  • Per-request header (x-omniroute-compression)
  • Offline eval harness
  • Auto-trigger by token threshold
3 layers, not 3 tiers

Fail at the right level — not the whole thing.

A bad key shouldn't kill a provider. A dead model shouldn't kill a key. Each failure is isolated to the smallest possible scope, so everything else keeps serving.

PROVIDER circuit breaker

Provider down? The breaker opens — combo routing skips it until it recovers.

CONNECTION cooldown

Bad key? Cool it down — every other key for the same provider keeps serving.

MODEL lockout

One model quota-limited? Lock just that model — the rest of the models keep serving.

model ⊂ connection ⊂ provider — lazy recovery, no background timers. Our 3-layer model goes beyond the flat 3-tier fallback everyone else ships.

Reach every provider

AI blocked in your country? Not anymore.

  • 🇷🇺
  • 🇨🇳
  • 🇮🇷
  • 🇨🇺
  • 🇹🇷
  • — reach all 236 providers

3-level proxy

Route through a proxy globally, per provider, or per individual connection.

  • Global · per-provider · per-connection scope
  • SOCKS5 & HTTP(S) proxies
  • 1proxy marketplace, one-click

Stealth

Look exactly like the real CLI — down to the TLS handshake — so upstreams never flag you.

  • TLS JA3/JA4 fingerprint via wreq-js
  • CLI fingerprint match per provider
  • IP preservation across requests
  • IPv4 / IPv6 egress control

Private & local-first

Your keys, usage and history live on your machine — not someone else's cloud.

  • SQLite on your disk · AES-256 encrypted credentials
  • No telemetry, no account required
  • Self-host anywhere — your data never leaves
See everything at a glance

A full dashboard, not a config file.

Providers, combos, analytics, health and costs — all on one screen at localhost:20128/dashboard. No YAML editing required.

localhost:20128/dashboard
236 providers connected
90+ free tiers active
198 healthy now
  • Claude (OAuth) subscription live
  • Cerebras 1M tok/day · free live
  • Groq cooldown 12s limited
  • NVIDIA NIM 40 rpm · free live
Agent-native

Connect an agent — it drives OmniRoute itself.

OmniRoute isn't just a proxy — it speaks the agent protocols. Plug it into an MCP client, an A2A network or a cloud coding agent and it becomes a tool the agent can operate.

  • MCP Server

    Exposes the whole gateway as 95 tools across 30 scopes — routing, quota, memory, skills and more — over stdio, HTTP and SSE transports.

    95 tools · 30 scopes · stdio / HTTP / SSE
  • A2A Server

    A full Agent-to-Agent server with 6 skills — smart routing, quota, discovery, cost analysis and health reporting — over JSON-RPC 2.0.

    6 skills · JSON-RPC 2.0 · Agent Card
  • Cloud Agents

    Drive Codex, Cursor, Devin and Jules through one interface — create tasks, approve plans and stream results, all routed through OmniRoute.

    Codex · Cursor · Devin · Jules
add OmniRoute as an MCP server
$ claude mcp add omniroute --type http --url http://localhost:20128/api/mcp/stream omniroute connected — 95 tools available
Beyond routing

Not just a proxy — a platform.

  • Embedded services

    Run Bifrost (Go relay), 9Router or CLIProxy as managed sidecars — or a full cluster profile — straight from the dashboard.

  • Your knowledge, in context

    Notion & Obsidian wired in as MCP tools — your notes and vaults become first-class context for any model.

  • Guardrails built in

    Prompt-injection guard on every route, opt-in PII redaction and safety content-filter normalization — defense without lock-in.

  • Gamification

    Streaks, achievements and live savings — your usage, made tangible.

See it in action

Watch OmniRoute run — in your language

Full walkthroughs: install, connect a free provider, point your IDE — and never hit a limit again.

Built in the open

A fast-moving, active community

OmniRoute ships constantly — driven by hundreds of contributors who keep it ahead of the curve.

OmniRoute GitHub star history over time
★ Star history — thanks for the support
Building in the open

since Feb 13, 2026 122 days non-stop

  • 8,129GitHub stars
  • 1,367forks
  • 270+contributors
  • 271releases shipped
  • 2,969PRs merged
  • 1,746issues closed
  • 21,000+automated tests — quality first

Built by 270+ contributors — and counting

Wall of OmniRoute contributors' avatars