Bundle 34 free LLM providers into a single endpoint for personal experimentation
This tool integrates these providers into a single OpenAI-compatible endpoint, allowing you to use it immediately by changing only your existing client settings. If a request is blocked by one provider, it automatically moves to the next, tracking usage for each key to prevent exceeding limits.
A unified pool of free models behind a single endpoint
This repository bundles 635 free model endpoints from 34 providers into a single /v1 API. OpenAI, Anthropic, Gemini, and Ollama-compatible clients can all send requests to this single address. The router selects the most suitable model for each request and, upon encountering a 429 (rate limit) or 5xx error, retries with the next model after a cooldown. Provider keys are encrypted with AES-256-GCM and stored in SQLite, while the app uses only a unified single bearer token.
An automatically updating model catalog
Free tiers see models added or limits changed on a weekly basis, but this tool tracks those changes automatically. The router fetches a signed catalog from freellmapi.co twice a day to reflect new models, limit changes, and compatibility fixes in the local database. Free users receive a monthly snapshot, reflecting models added to the live feed after 30 days, while premium users receive same-day updates. This process happens automatically without git pull.
Integration with coding agents and clients
It supports major coding agents such as Claude Code, Codex CLI, Aider, and Cursor, as well as OpenAI-compatible clients. Commands like npx freellmapi setup-claude automatically integrate by backing up existing settings and merging new ones. Zero-persistence launchers are provided for Claude Code and Codex, which inject credentials only into child processes rather than leaving them in configuration files. Zed and JetBrains AI connect via Ollama emulation, while Gemini CLI connects using the native /v1beta format.
Installation and runtime environment
On Windows and macOS, you can download the desktop app installer from the releases page and run it directly from the tray icon. It runs on Windows, macOS, Linux servers, and ARM SBCs like the Raspberry Pi with only Node.js 20 or higher, using approximately 40MB of memory when idle. The dashboard supports 60 languages and automatically detects and displays the browser language.
Limitations as a tool for personal experimentation
This project is intended for personal experimentation and learning, not for production use. Frontier models are not provided, latency varies by provider, and there is no SLA. As the day progresses, top models may reach their daily limits, reducing effective intelligence, with a reset at UTC midnight. If you plan to deploy it as an actual service, you must switch to paid APIs, and each provider's terms of service apply even when traffic flows through this proxy.