╭──────────────────────────────────────────────────────────────╮
│ │
│ $ ./find-llm --price 0 │
│ │
│ Every LLM API you can actually use for free. │
│ Real limits. No credit card. No trial that dies in 14 days.│
│ │
│ checked : July 2026 │
│ │
╰──────────────────────────────────────────────────────────────╯I run production chatbots on free tiers. Not demos — live products with real users. This is the list I actually use, with the limits that matter.
Read this first. Free-tier limits change often — sometimes monthly. Every number below is what the provider published when this list was last checked. Treat it as a starting point and confirm on the provider's own page before you build anything you cannot afford to have break.
| You want... | Use |
|---|---|
| Fastest responses | Groq |
| Biggest daily volume | Cerebras |
| Best free model | Google AI Studio (Gemini 2.5 Flash) |
| Many models, one key | OpenRouter |
| Zero cloud, zero limits | Ollama (your own machine) |
| Provider | Free limits (as published) | Models | Card needed |
|---|---|---|---|
| Groq | ~30 req/min, 1,000 req/day, 12K tokens/min, 100K tokens/day on llama-3.3-70b-versatile |
Llama 3.3 70B and others, ~320 tok/s on LPU hardware | No |
| Google AI Studio | ~1,500 req/day | Gemini 2.5 Flash — 1M token context, images + PDFs included | No |
| Cerebras | ~1M tokens/day | Llama family, very fast | No |
| OpenRouter | ~20 req/min, 50 free-model req/day (rises to 1,000/day after $10 credit ever purchased) | Dozens behind one key; anything with a :free suffix |
No |
| GitHub Models | Per-minute and per-day caps, free with a GitHub account | GPT, Llama, Mistral, Phi and more | No |
| NVIDIA NIM | Free credits on signup | Large open models on NVIDIA hardware | No |
| Mistral La Plateforme | Free experiment tier | Mistral models | Varies |
| Cloudflare Workers AI | Daily free allocation | Open models at the edge | No |
| Hugging Face Inference | Small free monthly credit | Thousands of open models | No |
| Tool | Good for |
|---|---|
| Ollama | One command to run Llama, Qwen, Gemma, Phi locally. Best starting point. |
| llama.cpp | Runs on weak hardware and CPUs. The engine under most local tools. |
| LM Studio | Desktop app, no terminal needed. |
| vLLM | Serving many users at once, if you have a GPU. |
Reality check on local models. A 7B model on a laptop is not GPT-class. It is good for summarising, classifying, extracting and rewriting. It is weak at long reasoning and it will happily invent facts. Know which job you are giving it.
Every provider counts limits separately. Route across four of them and your free capacity multiplies.
// simplest possible free-tier fallback chain
const providers = [
{ name: "groq", url: "https://api.groq.com/openai/v1/chat/completions", key: process.env.GROQ_KEY },
{ name: "cerebras", url: "https://api.cerebras.ai/v1/chat/completions", key: process.env.CEREBRAS_KEY },
{ name: "openrouter",url: "https://openrouter.ai/api/v1/chat/completions", key: process.env.OPENROUTER_KEY },
];
// keep trying the next provider while we still do not have an answer
async function ask(messages, model) {
let i = 0;
while (i < providers.length) { // stop the moment one succeeds
const p = providers[i];
try {
const res = await fetch(p.url, {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: `Bearer ${p.key}` },
body: JSON.stringify({ model, messages }),
});
if (res.ok) return (await res.json()).choices[0].message.content;
// 429 = out of free quota for now, so fall through to the next provider
} catch (_) { /* network died, try the next one */ }
i++;
}
throw new Error("every free provider failed");
}Most of these speak the OpenAI chat-completions format, so swapping provider is usually just a different base URL and key. Write your code against that shape once and you are portable.
- Never put your key in the browser. Free keys get scraped in hours. Call from a serverless function and keep the key server-side.
- Cache repeated questions. Most chatbot traffic is the same five questions. A cache hit costs zero quota.
- Cap your input. Free tiers limit tokens, not just requests. Trim your RAG context before you send it.
- Handle 429 properly. Fall back to the next provider, do not retry the same one in a loop.
- Pick the small model when it is enough. An 8B model answers "what are your opening hours" exactly as well as a 70B one, and burns a fraction of the quota.
- Watch the terms. Some free tiers train on your inputs. If you are handling client or personal data, read that clause before you ship.
PRs welcome. Include the provider's own limits page as your source and the date you checked it. Entries with no verifiable limits will be declined.
CC0 1.0 — public domain.