90+ Free Tiers Supported by OmniRoute: Complete Provider Reference
OmniRoute supports over 90 AI providers offering free tiers, including 56 permanently free options that require no payment method to access.
The diegosouzapw/OmniRoute repository maintains a comprehensive registry of large language model providers with free-tier access, enabling developers to route requests across multiple AI services without upfront costs. These providers are identified by the hasFree flag in the source code and surfaced through both the REST API and dashboard interface.
How OmniRoute Categorizes Free-Tier Providers
OmniRoute organizes its 90+ free-tier providers into four distinct authentication categories based on how the free quota is accessed.
OAuth-Based Free Tiers
These providers offer free access through account sign-in without requiring an API key. Users authenticate via OAuth to unlock trial credits or perpetual free quotas. According to the provider registry in src/shared/constants/providers/, this category includes Google Gemini, Microsoft Azure OpenAI (free trial), OpenAI (free OAuth tier), Anthropic (free trial), and Meta Llama via OAuth authentication.
API-Key Free Tiers
This category requires an API key to access the service, but the key unlocks a zero-cost quota with specific rate limits. The registry defines these with hasFree: true and accompanying freeNote strings describing the limits. Notable providers include Groq (llama-3.1-8b-instant, llama-3.3-70b-versatile) with 2 req/s and 20 RPM, Naga AI with 100 req/hr limits, DeepSeek-V3 at 5 RPM and 5000 tokens/day, Claude 3.7, Kimi-K2, and Qwen 3 offering trial credits on sign-up.
No-Authentication Free Tiers
These providers offer anonymous access with no credentials required. The implementation in src/sse/services/auth.ts handles these as IP-bucketed endpoints to prevent abuse. Examples include Opencode Zen (opencode-zen), the DuckDuckGo LLM gateway, Kili LLM, KoboldAI offline instances, Freebuff (freebuff) offering $0/token pricing at 20 RPM, and OpenAI-compatible public endpoints like g4f.space.
Special-Case Free Tiers
Providers requiring minimal sign-up steps or offering limited-time GPU credits fall into this category. These include OpenAI "no-key" mode (free tier via Discord sign-up), OpenAI "keyless" (free quota with limited RPM), Nvidia GPU free credits (trial period), and Alibaba Free quota providing approximately 1M input and 3M output tokens per day.
Provider Registry Implementation
In src/shared/constants/providers/**/*.ts, each provider entry includes a hasFree?: boolean property and an optional freeNote field describing quota constraints. The registry distinguishes between permanently free tiers (56 providers) and trial-based offers.
The ranking system in src/lib/freeProviderRankings.ts generates priority lists for the UI, while scripts/docs/gen-provider-reference.ts automatically generates markdown documentation from the registry. When a request targets a free-tier model, src/sse/services/auth.ts validates the per-provider IP-bucketed budget before routing.
Representative Free-Tier Providers
The following providers demonstrate the range of free-tier implementations found in the OmniRoute source code:
| Provider ID | Display Name | Free-Tier Configuration |
|---|---|---|
groq/llama-3.1-8b-instant |
Groq Llama 3.1 Instant | 2 req/s, 20 RPM, 100 req/hr |
groq/llama-3.3-70b-versatile |
Groq Llama 3.3 Versatile | 2 req/s, 20 RPM, 100 req/hr |
opencode-zen |
Opencode Zen | Anonymous no-auth access |
naga |
Naga AI | 2 req/s, 20 RPM, 100 req/hr |
deepseek-v3 |
DeepSeek V3 | 5 RPM, 5000 tokens/day |
gemini |
Google Gemini | Free trial (no card required) |
claude-3.7 |
Claude 3.7 | Free tier via API key |
qwen3 |
Qwen 3 | Free trial credits on sign-up |
kimi-k2 |
Kimi K2 | 2 req/s, 20 RPM |
freebuff |
Freebuff AI | $0/token, 20 RPM / 200 RPD |
openai-noauth |
OpenAI No-Auth Gateway | Anonymous access via DuckDuckGo |
alibaba-free |
Alibaba Free Quota | ~1M input / 3M output tokens daily |
Implementing Free-Tier Requests
To route requests through free-tier providers, specify the provider-prefixed model ID in your API call. OmniRoute automatically handles authentication and quota management without requiring manual API key configuration for no-auth providers.
// Example: request a free-tier model via the unified endpoint
import { fetchChatCompletion } from "omniroute";
await fetchChatCompletion({
model: "groq/llama-3.1-8b-instant", // free-tier model
messages: [{ role: "user", content: "Hello world!" }],
// No API key required; OmniRoute routes to the free tier automatically
});
If the free quota is exhausted, OmniRoute triggers fallback logic defined in src/sse/services/auth.ts. The system catches the error "free tier of the model has been exhausted" (as tested in account-fallback-service.test.ts) and automatically reroutes to the next available provider, including paid tiers if configured, without returning an error to the client.
Key Source Files and Architecture
| File Path | Purpose |
|---|---|
src/shared/constants/providers/**/*.ts |
Provider definitions with hasFree flags and freeNote descriptions |
src/lib/freeProviderRankings.ts |
Generates free-tier priority rankings for the UI |
src/sse/services/auth.ts |
Validates per-provider free-tier budgets and IP-based rate limiting |
src/app/(dashboard)/dashboard/providers/page.tsx |
Dashboard UI filter for "Free tier" providers |
scripts/docs/gen-provider-reference.ts |
Automation script for generating provider documentation |
Summary
- OmniRoute maintains 90+ free-tier providers in its registry, with 56 offering permanently free access.
- Free tiers are identified by the
hasFree: trueflag insrc/shared/constants/providers/and documented viafreeNotestrings explaining quota limits. - Providers support four authentication modes: OAuth, API-key, no-authentication, and special-case sign-up requirements.
- The system automatically handles quota exhaustion by falling back to alternative providers without client-side errors.
- Developers access free tiers by specifying provider-prefixed model IDs like
groq/llama-3.1-8b-instantin API requests.
Frequently Asked Questions
How does OmniRoute define a "free tier" provider?
OmniRoute defines a free-tier provider as any service entry in src/shared/constants/providers/**/*.ts containing hasFree: true. These entries optionally include a freeNote field describing specific constraints such as requests per minute, daily token limits, or authentication requirements. The definition covers both permanently free services and time-limited trial accounts.
What happens when a free-tier quota is exhausted?
When a request hits a free-tier limit, OmniRoute returns the error "free tier of the model has been exhausted" internally. According to src/sse/services/auth.ts and fallback logic in account-fallback-service.test.ts, the router automatically redirects the request to the next available provider in the priority chain. If configured, this includes failing over to paid-tier providers without interrupting the client connection or requiring manual intervention.
Are API keys required for all free-tier providers?
No. OmniRoute supports three distinct authentication patterns for free tiers. No-auth providers like opencode-zen and DuckDuckGo gateways require zero credentials. OAuth-based providers like Google Gemini require account sign-in but no API key. Only API-key free tiers like Groq or DeepSeek require key generation, though the associated quota remains free of charge.
How can I filter for free-tier providers in the OmniRoute dashboard?
The dashboard interface at src/app/(dashboard)/dashboard/providers/page.tsx includes a "Free tier" checkbox that filters the provider catalog on hasFree === true. This UI component leverages the rankings generated by src/lib/freeProviderRankings.ts to display only providers with active free quotas, including real-time availability indicators based on current IP-bucketed usage data from src/sse/services/auth.ts.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →