FreeLLMAPI: One OpenAI-Compatible Endpoint for 34 Free LLM Providers Developer Tashfeen Ahmed released FreeLLMAPI, an open-source router that unifies 34 free LLM providers behind a single OpenAI-compatible endpoint. The tool encrypts provider keys locally, tracks rate limits, and offers failover, with a paid tier for same-day model updates while the core software remains free. Almost every AI lab now hands out a free tier. Google, Groq, Cerebras, Mistral, Cohere, NVIDIA, Cloudflare, OpenRouter, and a couple dozen more. Each one on its own is small. A few million tokens a month, a few thousand requests a day. Stacked together, they turn into something you can actually prototype against. The problem is stacking them by hand. Thirty-four SDKs, thirty-four sets of rate limits, thirty-four places your request can fail at 2 AM. FreeLLMAPI https://github.com/tashfeenahmed/freellmapi is an open-source router that collapses all of that into a single /v1 endpoint. You point any OpenAI client at your own machine, and it routes across whatever providers you've added keys for. Short answer: yes, the software is free and stays free. There is a paid tier, but it does not gate the router. Here is the honest breakdown. What is free, permanently What costs money So the mental model is: the software is free, the tokens are free they're your own free tiers , and the $19/yr is a convenience subscription for same-day model catalog updates. If you're fine being a month behind on newly-launched free models, you never pay anything. The catch that isn't about money The repo is blunt about this, and so am I: this is for personal experimentation and learning. Not production. No frontier models, variable latency, no SLA, and the effective quality of the endpoint drops late in the day as the best free models hit their daily caps they reset at UTC midnight . Your relationship with each upstream provider is still governed by the terms you agreed to when you signed up for them. Ship something real, swap in a paid API first. Yes, but probably not the way you're imagining. There is no signup page where FreeLLMAPI hands you a key to a hosted service. It is local-first and single-user by design. The flow is two layers of keys: Layer 1: your provider keys inbound . You go and get free-tier API keys yourself from Google AI Studio, Groq, Cerebras, Mistral, and so on. You paste them into the FreeLLMAPI dashboard on the Keys page. They get AES-256-GCM encrypted and stored in a local SQLite database, then decrypted in memory only for the duration of a request. Layer 2: your unified key outbound . The router generates a single bearer token that looks like freellmapi-... . That is the only credential your applications ever see. Your app never touches the provider keys. Your app ── freellmapi-xxx ──► Local router ── real provider keys ──► Groq │ Google │ Cerebras └─ picks, tracks limits, fails over ... What the router does per request: provider, model, key so it stays under every free-tier cap instead of discovering the cap by getting rejected. X-Routed-Via: