9 billion free tokens
Two open-source gateways stack the free tiers of dozens of AI providers behind one endpoint you can point Claude Code at. Where the billions of tokens come from, how each tool works, what the catch is, and a step-by-step setup for both.
- TL;DR and key numbers
- LLM gateways, from zero
- The problem: limits and free-tier chaos
- The idea: stack every free tier
- How OmniRoute works
- How FreeLLMAPI works
- Where "9 billion" comes from
- OmniRoute vs FreeLLMAPI
- Setup guide, step by step
- So, will you never hit a limit?
- When to use which
- Caveats and fine print
- FAQ
- Glossary and sources
TL;DR
- Almost every AI lab gives away a free tier: a few million tokens a month, a few thousand requests a day. On its own each one is small. Stacked together, they add up to a lot.
- OmniRoute and FreeLLMAPI are open-source (MIT) gateways that do the stacking for you. You add your own provider accounts; they give you one endpoint, route each request to a model that still has quota, and fall over to the next one when a provider rate-limits you.
- OmniRoute estimates ~1.62 billion free tokens a month across the free tiers it catalogues; FreeLLMAPI lists ~7.4 billion. Together that's the ~9 billion headline (our arithmetic, and an upper bound: section 7).
- Both can sit behind Claude Code. You keep Claude Code's interface; the work is done by free models such as Gemini, Mistral, GLM, Qwen or DeepSeek, not by Anthropic's Claude.
- OmniRoute also compresses what you send: 15–95% fewer tokens depending on the mode, about 89% on average for its stacked mode, by its own maths.
LLM gateways, from zero
An app that talks to a language model sends text to an API and gets text back. Every provider has its own API, its own keys and its own limits. Most of them, though, also offer an OpenAI-compatible endpoint, so the same request shape works almost everywhere.
A gateway (or router) is a small server you run yourself, usually on your own laptop. Your tools talk only to the gateway; the gateway talks to the providers.
How Claude Code fits in
Claude Code normally sends its requests to Anthropic. It can be pointed at a different server instead, and both gateways support that: FreeLLMAPI speaks Anthropic's Messages API (/v1/messages) over its router, and OmniRoute launches Claude Code through itself with one command. The agent, the terminal UI and your workflow stay the same; the model answering is whichever free model the gateway picks.
The problem: limits and free-tier chaos
Problem 1: usage limits
Coding agents burn through tokens fast: every file they read, every command output and every long conversation goes back into the model. On a subscription you hit the usage limit mid-task; on a paid API you pay for every token.
Problem 2: free tiers are a mess to use by hand
The free capacity exists, but it's scattered. FreeLLMAPI's README describes the pain as thirty-four different SDKs, thirty-four rate limits, and thirty-four places a request can fail. OmniRoute's lists "10 dashboards, dead API keys and surprise bills". And the landscape changes weekly: providers launch models, retire them and change quotas without notice.
By hand
- A key and an SDK per provider
- You track every daily and monthly cap yourself
- A 429 error stops your agent mid-task
- You notice model changes when things break
With a gateway
- One endpoint, one key for your tools
- Per-key usage tracked for you
- Automatic fallover to the next model
- The model catalogue updates itself
The idea: stack every free tier
Both projects make the same bet: each free tier is a toy, but dozens of them together are real working capacity. FreeLLMAPI puts it plainly: stacked, the free tiers add up to roughly 7.4 billion tokens a month across 34 providers.
The gateway's job is bookkeeping: know which keys still have quota, send each request where it will succeed, and switch silently when a provider says no. You get one big pool instead of thirty-four small ones.
Nothing here is a gift from the gateway. OmniRoute says it directly: its number is "an estimated aggregate across separately eligible third-party free tiers, not a token grant from OmniRoute". You sign up with each provider yourself, and each provider's terms still apply.
How OmniRoute works
OmniRoute is a "free MIT AI gateway: one endpoint, 375 providers (150+ free), 1,400+ models", with 80.6k stars on GitHub (October 2026). It runs locally with a dashboard at localhost:20128 and an OpenAI-compatible API at localhost:20128/v1.
One endpoint
Every tool talks to /v1. OpenAI, Claude, Gemini and Responses API formats are all accepted.
Quota-aware routing
With the model set to auto, it routes among your eligible connections, with a fallback order of Subscription → API → Cheap → Free.
Free-tier catalogue
471 free-tier entries in 34 recurring pools; the dashboard shows used and remaining budget at /dashboard/free-tiers.
Compression
A pipeline of 12 engines trims what you send. Code blocks, URLs and JSON are always preserved.
The compression, in numbers
This is the "95% fewer tokens" in the reel. OmniRoute offers presets, each with its own savings (its own figures):
Bars show the upper end of each range. The stacked mode is the one behind "up to 95%".
combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6%
An example from its README, Standard mode: a 69-token explanation of a React re-render becomes "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.", 19 tokens, 72% fewer.
How FreeLLMAPI works
FreeLLMAPI describes itself as "7.4 billion tokens per month. 34 free LLM providers. 635 free model endpoints. All behind one /v1 endpoint", with 40.7k stars on GitHub (October 2026). It runs locally at localhost:3001, with a dashboard, and is built for one person.
Your keys, encrypted
Provider keys are stored encrypted (AES-256-GCM) in a local SQLite database. Your apps only ever see one unified freellmapi-… key.
Smart routing
Six strategies rank models by live speed, capability and reliability; on a 429 or 5xx it retries the next model, with cooldowns and key rotation.
Stays under every cap
It counts requests and tokens per minute and per day for each platform, model and key, and learns each provider's real limits.
Self-updating catalogue
New models and quota changes arrive from a signed feed, no git pull. Free installs get the monthly snapshot (30 days behind); paid "premium" routers get it the same day.
A few of its 34 providers: Google, Groq, Cerebras, Mistral, OpenRouter, Cloudflare, Cohere, Z.ai, NVIDIA, Hugging Face and more.
It speaks OpenAI's formats (chat, responses, embeddings, images, audio) and also Anthropic's Messages API, which is what lets Claude Code and the official Anthropic SDKs run against the free pool. Prompt compression exists here too, but it's opt-in.
Where "9 billion" comes from
To scale, the two headline numbers:
Worked out: 1.62 + 7.4 = 9.02 billion tokens a month (our arithmetic). OmniRoute adds that its figure can reach ~2.22B in the first month with signup credits, and it counts each shared pool once.
Why it's an upper bound: both gateways draw on many of the same providers (Groq, Mistral, Google, OpenRouter…). A provider's free tier belongs to your account, not to the gateway, so running both doesn't double what Groq gives you. And both counts are estimates that "move both ways" as providers change their free tiers.
OmniRoute vs FreeLLMAPI
| Aspect | OmniRoute | FreeLLMAPI |
|---|---|---|
| Free tokens / month | ~1.62B (estimate) | ~7.4B (listed) |
| Providers | 375 (150+ with free tiers) | 34 free providers, 635 endpoints |
| Local endpoint | localhost:20128/v1 | localhost:3001/v1 |
| Install | npm, Docker, desktop app, Termux | Docker one-liner, desktop app (macOS/Windows) |
| Claude Code | omniroute run claude | npx freellmapi setup-claude or launch |
| Compression | Built in, 15–95% by mode | Opt-in pipeline |
| Scope | Big feature set: MCP, A2A, memory, guardrails, remote mode | Narrow on purpose: one person, personal experimentation |
| Licence · stars | MIT · 80.6k | MIT · 40.7k |
Setup guide, step by step
Pick one to start; you can add the other later. Both run on your own machine. You need Node.js for OmniRoute (or Docker) and Docker for FreeLLMAPI's one-liner (or its desktop app).
OmniRoute
- Install and start it.
npm install -g omniroute omniroute
On npm 11+, npm may block OmniRoute's install script. If it warns you, allow the packages it names (the README lists the exact command), or run omniroute setup for the guided first-run wizard. omniroute doctor checks providers, ports and native dependencies.
- Open the dashboard at
http://localhost:20128. - Connect providers with your own accounts: Dashboard → Providers → pick a provider → paste its API key or finish its sign-in. Read OmniRoute's Free Tiers Guide first; providers marked
tos: avoidare left out of automatic routing. - Copy your OmniRoute key from Dashboard → Endpoints, and check it works:
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
- Start Claude Code through OmniRoute. Either pick a provider and model from your connected list, or let it write Claude Code's config interactively:
# one-off launch, no config files written omniroute run claude --model <provider/model> # or pick the model interactively and save it omniroute configure claude
Any other tool: set the base URL to http://localhost:20128/v1, the API key to your OmniRoute key, and the model to auto to let it route among your connections. Running it in Docker for a coding agent? Give it room: the README suggests an 8 GB heap (OMNIROUTE_MEMORY_MB=8192) for one agent.
FreeLLMAPI
- Install and start it (Docker required). It creates
~/freellmapi, generates an encryption key and starts the container. On macOS or Windows you can use the desktop app from its GitHub Releases instead.
curl -fsSL https://freellmapi.co/install.sh | bash
Prefer to read a script before piping it to bash? It's at freellmapi.co/install.sh. Re-running it is safe and updates the container.
- Open the dashboard at
http://localhost:3001(server installs ask you to create an email + password account). - Add your provider keys on the Keys page. Sign up for the free tiers you want (Google, Groq, Mistral, OpenRouter…) and paste each key.
- Order the Fallback Chain the way you like, and copy your unified key from the Keys page header.
- Connect Claude Code. The setup command backs up your existing config and merges in the router;
launchstarts Claude Code without writing credentials to any file:
# write Claude Code's config (add --dry-run to preview) npx freellmapi setup-claude --url http://localhost:3001 --api-key YOUR_UNIFIED_KEY # or launch it with the key kept out of config files npx freellmapi launch
Any other tool: base URL http://localhost:3001/v1 with your unified key. Codex has npx freellmapi launch-codex, and most agents have their own setup command in FreeLLMAPI's docs.
Check it's working
- Ask Claude Code something small and watch the gateway dashboard: the request should show up with the model that served it.
- FreeLLMAPI's dashboard shows requests, success rate, tokens and latency per provider; OmniRoute shows used and remaining free-tier budget.
- If a provider rejects you, check its key and its terms first; both gateways skip a failing provider and move on.
With a gateway behind Claude Code, a rate limit on one provider no longer stops you: the request moves to the next model with quota left, and a pool in the billions of tokens a month is hard to drain on personal projects.
What you get
- Claude Code's workflow with free models behind it
- Automatic fallover when one provider runs dry
- Fewer tokens per request with OmniRoute's compression
What stays the same
- Your Claude subscription limit itself doesn't change
- The answers come from free models, not Anthropic's Claude
- Each provider's own caps and terms still apply
When to use which
Reach for OmniRoute
- You want token compression on long, tool-heavy sessions
- You also have paid subscriptions or APIs to mix in
- You want lots of providers and integrations (MCP, remote mode)
Reach for FreeLLMAPI
- You want the biggest free pool with the least setup
- You like a simple dashboard and one unified key
- It's for you alone, for learning and side projects
They aren't exclusive: point different tools at each, or try both and keep the one that suits you.
Caveats and fine print
- Estimates, not grants. Both token counts are the projects' own sums of third-party free tiers. They change as providers change, and you only get what your own accounts are eligible for.
- Not Claude models. The free pool is other models (Gemini, Mistral, GLM, Qwen, DeepSeek…). Quality, speed and tool-calling skill vary by model and task, so test on your own work.
- "No card" isn't universal. OmniRoute's README notes some free tiers "may require signup, approval, or a payment method".
- Terms of service. FreeLLMAPI is "for personal experimentation and learning, not production" and says to swap in a paid API before you ship. OmniRoute flags providers whose terms advise against this use (
tos: avoid) and leaves them out of auto-routing. - Your prompts go to third parties. Code and context you send are processed by whichever provider serves the request, under that provider's policies. Keep secrets out of prompts.
- Free installs lag. FreeLLMAPI's free catalogue is a monthly snapshot, so new models arrive 30 days after they appear in the live feed.
- Rounding in the reel. The reel says 7.6 billion for FreeLLMAPI; the repo lists 7.4 billion, the number used on screen and here.
FAQ
Is it really free?
The gateways are free and open source (MIT). The tokens come from providers' free tiers on your own accounts, so they're free within each provider's limits and terms.
Do I need a powerful computer?
No GPU: the models run on the providers' servers. FreeLLMAPI idles at about 40 MB of RAM; OmniRoute in Docker wants more memory for coding agents (about 8 GB of heap for one).
Will it be as good as Claude?
Not necessarily. You get Claude Code's agent and interface, but a different model does the thinking. Many free models are strong at coding; try a few and keep what works.
Can I use both at once?
Yes, as separate endpoints. Just remember they may share providers, so the same free tier isn't counted twice.
Where do my API keys live?
On your machine. FreeLLMAPI encrypts them in its local database; your tools only see the gateway's own key.
What does "up to 95% fewer tokens" mean?
It's OmniRoute's stacked compression (RTK → Caveman) on mixed prompts and tool logs: 78–95% by its maths, ~89% on average. Lighter modes save less.
Glossary
- Token
- The unit models read and bill by, roughly a piece of a word.
- Free tier
- The amount of usage a provider gives away each day or month before you have to pay.
- Gateway / router
- A server between your tools and the providers that decides where each request goes.
- OpenAI-compatible
- An API that accepts the same request format as OpenAI's, so most tools work with it unchanged.
- Fallover
- Retrying a failed request on the next model in the list, automatically.
- 429
- The HTTP status a provider returns when you've hit its rate limit.
- Prompt compression
- Shortening what's sent to the model (repeats, tool output, filler) while keeping the meaning.
- github.com/cheaper-inference/OmniRoute. README and About, read October 2026.
- github.com/tashfeenahmed/freellmapi. README and About, read October 2026.
- freellmapi.co. FreeLLMAPI's model catalogue and install script.
- omniroute.online. OmniRoute's site.