One local endpoint can rotate across many free provider accounts
FreeLLMAPI accepts OpenAI-style requests and dispatches them through provider credentials stored in a local SQLite database. It tracks limits per model and key, cools a key after a 429 or server error, and tries the next eligible route. The same logical model can collapse across several providers, while named chains let users choose a coding or vision path without hard-coding one upstream service into every client.
The README claims a catalog spanning 34 providers and 635 free endpoints, but those are project catalog figures rather than capacity guaranteed to one user. Available quota depends on which accounts and keys you add. The router also supports custom OpenAI-compatible chat, embeddings, images, and audio endpoints, so a local llama.cpp, Ollama, LM Studio, or vLLM service can sit beside the remote free pool.
The API surface covers coding agents and media clients
Clients can use chat completions, Responses, legacy completions, embeddings, speech, transcription, images, and video through OpenAI-shaped routes. Anthropic Messages, native Gemini endpoints, and opt-in Ollama emulation widen compatibility. The README supplies setup generators for Claude Code, Codex, Aider, and other tools; these back up existing configuration, while launch commands can inject credentials only into a child process.
An MCP server lets agents inspect models, provider health, and the active routing strategy. Because FreeLLMAPI directly supports Claude Code setup, its relevant tags are MCP and Claude Code. Compatibility still has edges: a provider may accept only part of a normalized request, and issue 1038 reports an assistant field being stripped before a Moonshot prefill reached its provider. One shared schema does not erase every upstream wire difference.
What happened when we ran it
Our sandbox installed commit 68ddca4 in 32 seconds, pulling 778 npm packages and using 490 MB on disk. The build succeeded in 26 seconds. The test command also passed, taking 157 seconds. Npm audit found 0 known vulnerabilities, including 0 critical, high, moderate, and low findings in the installed dependency tree.
The checkout itself contained 743 files, about 115,486 lines of source, and 13.5 MB before dependencies. Our scan found 4 CI workflow files, a Dockerfile, Compose configuration, and npm workspaces, but no repository directory literally named tests. The successful test command is the meaningful result; the directory layout only says that tests are organized elsewhere in the monorepo.
Those checks cover installation, compilation, the supplied test command, and dependency advisories in a fresh 3-CPU, 8 GB Debian container. We did not create 34 provider accounts, exhaust daily quotas, or compare response quality across 635 endpoints. The run therefore supports confidence in the gateway code at that commit, not the README's aggregate token estimate or the reliability of any upstream free tier.
Provider keys stay local, while requests still leave the machine
Provider keys are encrypted in SQLite with AES-256-GCM and decrypted in memory for requests. Applications receive one FreeLLMAPI bearer token instead of every upstream credential. A generated encryption secret, persistent database volume, access controls, and backups all matter. Losing the encryption key makes stored credentials unusable; exposing both the key and database defeats encryption at rest.
Local-first does not mean local inference. Prompts and outputs travel to whichever remote provider wins routing unless you configure a local custom endpoint. The optional v0.9.0 fetch relay creates another trust boundary: its release notes say the relay terminates TLS and sees the provider key plus request body. Use only a relay you control, and keep the feature off when a normal connection works.
Free catalog updates arrive 30 days behind the paid feed
A signed catalog updates provider models, quotas, and compatibility details without a code pull. The router verifies downloads against a pinned Ed25519 key. Free installations receive a monthly snapshot, and the README says each new model reaches that channel 30 days after entering the live feed. A $19-per-year premium key receives same-day catalog updates and can cover several personal routers.
That subscription improves freshness, not upstream service guarantees. A provider can still lower a quota, block a region, remove a model, or change account rules. The dashboard's tracking and fallback behavior reduce manual recovery, but they cannot create capacity after every suitable key is exhausted. Late-day requests may fall to weaker models, which the limitations section explicitly acknowledges.
Personal experimentation is the stated boundary
The README says there are no frontier models, latency varies, and no SLA exists. It also says effective intelligence can fall as the best daily quotas run out, then reset at UTC midnight. Those are material product characteristics for any agent, automation, or application that expects stable output. A route returning successfully does not mean the same model class handled yesterday's and today's request.
Provider terms remain separate. FreeLLMAPI's proxy does not merge accounts or grant broader commercial rights. The disclaimer tells users to comply with every agreement accepted when each provider account was created and points to a provider-by-provider review from May 2026. A competent team should recheck the current terms itself before routing company data or sustained automation through free credentials.
August 2026 activity supports a trial, not a production exception
GitHub recorded 20,547 stars and 53 combined open issues and pull requests when fetched. The last push and v0.9.0 release both landed on August 26, 2026. That release added the fetch relay, Docker volume ownership handling, estimated usage frames, and signed Mac distribution. Same-day issue activity shows maintainers are handling a broad desktop, server, provider, and client surface.
The clean 215 seconds of build and test time after installation make FreeLLMAPI easy to take seriously as a personal tool. Its strongest quality is that the documentation does not hide the weak substrate beneath it. Run it for experiments, keep provider keys and backups under your control, and treat any successful fallback as borrowed availability rather than an SLA.

