Skip to content

About

Daily-updated list of free AI models (free LLM APIs), ranked by quality with live status. Plus one OpenAI-compatible endpoint that routes to the best one.

Topics

Resources

Contributing

Stars

211 stars

Watchers

14 watching

Forks

Latest commit

Β 

History

177 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Free LLM APIs, ranked daily

πŸ‡ͺπŸ‡Έ Leer en espaΓ±ol

Free models Updated daily Tests License: MIT

Every free LLM API we can read from a public source, ranked every day by an open quality score β€” with who actually serves each model and whether they may train on your prompts.

Three things this list does that a plain list of free models does not:

  • It ranks by measured quality. Published benchmark indices and LM Arena ratings, combined by one small file you can read and re-run. Not alphabetical, not by context window, not by hand.
  • It tells you who gets your prompts. A free model is often served by a host with a different data policy from the lab that made it. Each row says whether that host may train on what you send, and how long it keeps it.
  • It is data, not just a page. data/models.json is regenerated daily with every score and every input the score was computed from, and a snapshot of each day is kept in data/history/.

No key needed to read any of it. No scraping: only public, official APIs.


Free models (auto-updated daily)

Last updated: Tue, 13 Oct 2026 11:31:43 UTC Β· 16 free chat models Β· ranked by the open score in this repo Β· free-tier limits are the provider's, per account12

5 of today's top 10 are served only by providers that may train on your prompts.

# Model Score Measured by Trains on your prompts? Context Max output Tools Input Today Source
1 Thinking Machines: Inkling 68 benchmarks + Arena πŸ”΄ may train 1M 262K βœ“ πŸ–ΌοΈ vision, audio β€” link
2 NVIDIA: Nemotron 3 Ultra 66 benchmarks + Arena πŸ”΄ may train 1M 66K βœ“ πŸ’¬ text β€” link
3 inclusionAI: Ling 3.1 Flash 65 benchmarks βœ… no Β· zero retention 262K 236K βœ“ πŸ’¬ text β€” link
4 Thinking Machines: Inkling Small 65 benchmarks + Arena πŸ”΄ may train 1M 262K βœ“ πŸ–ΌοΈ vision, audio β€” link
5 Google: Gemma 4 31B 57 benchmarks + Arena βœ… no Β· kept 55 days 262K 33K βœ“ πŸ–ΌοΈ vision, video βœ… up link
6 Google: Gemma 4 26B A4B 55 benchmarks + Arena βœ… no Β· kept 55 days 262K 33K βœ“ πŸ–ΌοΈ vision, video β–Ά answering link
7 NVIDIA: Nemotron 3 Super 46 benchmarks + Arena πŸ”΄ may train 262K 236K βœ“ πŸ’¬ text β€” link
8 NVIDIA: Nemotron 3.5 Lightning 36 benchmarks + Arena πŸ”΄ may train 1M 66K βœ“ πŸ’¬ text β€” link
9 Poolside: Laguna S 2.1
⏳ retiring 2026-10-31
34 estimate (size) βœ… no Β· retention unknown 262K 33K βœ“ πŸ’¬ text ⚠️ degraded link
10 Poolside: Laguna XS 2.1
⏳ retiring 2026-10-31
26 estimate (size) βœ… no Β· retention unknown 262K 33K βœ“ πŸ’¬ text ⚠️ degraded link
11 Cohere: North Mini Code 23 benchmarks βœ… no Β· kept 30 days 256K 64K βœ“ πŸ’¬ text βœ… up link
12 NVIDIA: Nemotron 3 Nano Omni 15 benchmarks πŸ”΄ may train 256K 66K βœ“ audio, πŸ–ΌοΈ vision, video β€” link
13 Apodex: Apodex 1.1 Mini 13 estimate (size) βœ… no Β· zero retention 262K 236K βœ“ πŸ’¬ text βœ… up link
14 Dots Studio: Dots3-Note Preview
⏳ retiring 2026-12-31
13 estimate (size) βœ… no Β· retention unknown 512K 461K βœ“ πŸ–ΌοΈ vision βœ… up link
15 LiquidAI: LFM2.5-2.6B 9 benchmarks πŸ”΄ may train 66K 8K βœ“ πŸ’¬ text β€” link
16 GPT-OSS 20B Reasoning LLM (OVH) β€” β€” β€” β€” β€” β€” πŸ’¬ text β€” link

3 free models that are not chat models (music, image, audio, classifiers):

How to read the table

  • Score β€” 0–100, from scoring/score.js. 100 would be a free model as good as the best model anyone sells; nothing free is close.
  • Measured by β€” what the score rests on: benchmarks + Arena is the strongest basis, one of the two alone is discounted, and an estimate means nobody has measured the model yet (it is capped so it cannot outrank a measured one).
  • Trains on your prompts? β€” the policy of the provider serving the free endpoint on OpenRouter, from OpenRouter's provider table (last read by hand on 2026-10-10), plus how long that provider keeps prompts. β€” means we could not establish it; we do not guess.
  • Today β€” whether the free endpoint is actually answering. A GitHub Action has no traffic to know that, so this one column is borrowed from the production health checks of ZeroLimitAI's router, which is built by this repo's maintainers. It only probes the models it routes to, and it does not route to providers that may train, so those rows show β€”.
  • ⏳ retiring β€” the provider has published a shutdown date. The model works today and stops without further notice on that date.

Free-tier limits are the provider's and belong to the account, not the model: on OpenRouter every :free id shares 20 requests/minute and 50 requests/day (1,000/day once the account has bought $10 in credits).1

About the data-use column

Free inference is free because someone gets something back, and sometimes that something is your prompts. Whether it matters is your call; the point is to know before you send a customer's data.

  • The column describes the free endpoint on OpenRouter. The same model called somewhere else is under that provider's own terms, which can differ: a provider's own unpaid tier is not necessarily covered by what OpenRouter's table says about the endpoint it serves. Read the terms of wherever you call.
  • OpenRouter describes its table as its best knowledge of each provider's policy, not a definitive source. This repo copies it for the providers that serve free models (scoring/sources.js, with the date it was read). If a row is wrong, open an issue.
  • On OpenRouter you can refuse those providers per request, so a model served by several hosts only goes to the ones that do not train:
{
  "model": "google/gemma-4-31b-it:free",
  "provider": { "data_collection": "deny" },
  "messages": [{ "role": "user", "content": "Hello!" }]
}

Use the data

The file is plain JSON at a stable URL:

https://raw.githubusercontent.com/ClawLabsAI/free-ai-models/main/data/models.json

The best free model today that supports tools and is not served by a provider that may train:

curl -s https://raw.githubusercontent.com/ClawLabsAI/free-ai-models/main/data/models.json \
  | jq -r '[.models[] | select(.rank and .supports_tools and .data_use == "no-training")][0].id'
const { models } = await (await fetch(
  "https://raw.githubusercontent.com/ClawLabsAI/free-ai-models/main/data/models.json",
)).json();

// A fallback chain: ranked, tool-capable, no training, best first.
const chain = models
  .filter((m) => m.rank && m.supports_tools && m.data_use === "no-training")
  .map((m) => m.id);
import requests
from openai import OpenAI

models = requests.get(
    "https://raw.githubusercontent.com/ClawLabsAI/free-ai-models/main/data/models.json"
).json()["models"]
best = next(m["id"] for m in models if m["rank"] and m["data_use"] == "no-training")

client = OpenAI(base_url="https://openrouter.ai/api/v1", api_key="YOUR_OPENROUTER_KEY")
print(client.chat.completions.create(
    model=best, messages=[{"role": "user", "content": "Hello!"}]
).choices[0].message.content)

The ids are OpenRouter ids, so they work as-is anywhere that takes one: the OpenAI SDKs pointed at OpenRouter, LiteLLM (openrouter/<id>), and coding tools such as Cline, Roo Code, Continue, Aider and OpenCode.

Fields

Field Meaning
id, name, provider The model's id on its source, its display name, and the lab that made it
kind chat (answers in text) or other (music, image, audio generators)
rank, score Position and 0–100 score among today's free chat models; null if not ranked
quality The score before the fitness factor (context, output, tools, shutdown date)
basis benchmarks+arena, benchmarks, arena, family or prior β€” what the score rests on
notes Why the score is what it is: imputed benchmarks, no tool calling, expires in N days…
excluded Why a model is not ranked (a classifier, not text-only, expired), or null
benchmarks Artificial Analysis indices as published by OpenRouter: intelligence, coding, agentic
arena LM Arena ratings: overall, coding, instruction_following, spanish, and votes
hf From the Hugging Face model card: paramsB (billions of parameters), downloads, pipelineTag
served_by The provider(s) behind the free endpoint
data_use no-training, mixed, may-train, or null when unknown
retention How long that provider keeps prompts: "zero", days, "unknown", or null
context_window, max_output Tokens
supports_tools, supports_structured_outputs As declared by the endpoint
modalities Inputs and outputs: text, image, audio, video, file
expires Shutdown date published by the provider, or null
health, answering_now Live status from ZeroLimitAI's router; null when it does not probe the model
zo_score, zo_rank Aliases of score (rounded) and rank, kept for readers written before 2026-10-10

The top-level scoring object records the benchmark maxima used that day and whether the Arena table was available, so any day's ranking can be recomputed from its own snapshot.


How the score works

The whole method is scoring/score.js (pure: no network, no clock) and its inputs come from scoring/sources.js. The longer explanation, with every weight and why it is what it is, is in scoring/README.md. In short:

  1. Benchmarks β€” Artificial Analysis intelligence, coding and agentic indices, normalised to the best model in the whole catalogue (paid ones included). A missing index is imputed at a discount, never dropped, so reporting less cannot raise a score.
  2. Preference β€” LM Arena ratings (overall, coding, instruction following).
  3. With both, they are blended 55/45; with one, it is discounted 8 %.
  4. No measurement at all β€” the model inherits 80 % of a measured sibling in its family, or gets a prior from its real size and downloads, capped below any well-measured model.
  5. Fitness β€” small factors for what matters when you build on a model: context under 32K, output under 4K, no tool calling, a shutdown date within a week.

Whether a model is answering right now is deliberately not in the score: a model that is rate-limited this hour is still the better model.

git clone https://github.com/ClawLabsAI/free-ai-models && cd free-ai-models
npm ci
npm test          # the scoring rules
npm run update    # rebuild today's ranking from the public sources

Disagree with a weight? Change it, run it, and open a pull request with the ranking it produces. That is what the file is for.


Where to call these models

For anyone wiring up a provider directly. All of them speak the OpenAI shape unless noted, so base_url is the only change.

Provider Base URL Free tier Key Checked
OpenRouter https://openrouter.ai/api/v1 Every :free model: 20 RPM, 50 RPD per account (1,000 RPD after $10 in credits) 1 Yes, no card 2026-10-10
Pollinations https://text.pollinations.ai Anonymous tier, rotating model list 2 No key 2026-09-23
OVHcloud AI Endpoints https://oai.endpoints.kepler.ai.cloud.ovh.net/v1 Catalogue is public and keyless; the anonymous chat tier is 2 RPM per IP and in practice answers 429 most of the time 3 No key 2026-09-23
Groq https://api.groq.com/openai/v1 Free plan, per-model limits β€” published table Yes, no card β€”
Google AI Studio https://generativelanguage.googleapis.com/v1beta/openai Free tier per model β€” published limits Yes, no card β€”
Cerebras https://api.cerebras.ai/v1 Free tier β€” published limits Yes β€”
Cloudflare Workers AI https://api.cloudflare.com/client/v4/accounts/{id}/ai/v1 10,000 Neurons/day shared across all models β€” pricing Yes β€”

A blank Checked means we link the provider's own limits page but have not verified the numbers ourselves β€” treat their page as the source of truth. Free tiers are meant for building and trying things; read each provider's terms before putting one behind a product.


How the tracking works

GitHub Actions (daily, 04:00 UTC)
        β”‚
        β–Ό
 scripts/fetch-models.js
        β”‚
        β”œβ”€β”€ OpenRouter /api/v1/models            catalogue, prices, benchmark indices
        β”œβ”€β”€ OpenRouter /models/{id}/endpoints    who serves each free endpoint
        β”œβ”€β”€ LM Arena leaderboard (Hugging Face)  human-preference ratings
        β”œβ”€β”€ Hugging Face /api/models/{id}        real size and downloads
        β”œβ”€β”€ Pollinations /models                 anonymous tier
        β”‚
        β”œβ”€β”€ scoring/score.js                     rank
        β”‚
        └── writes  data/models.json Β· data/history/YYYY-MM-DD.json Β· README tables

Watch β†’ Custom β†’ Releases to get one summary a week (new models, retired models, changes at the top) instead of a daily commit.


Contributing

  • A model is missing or a row is wrong β€” it is read from the provider's own API, so it usually fixes itself within a day. If it does not, open an issue.
  • A new provider β€” welcome if it can be read the same way: live, from its own public API. See CONTRIBUTING.md.
  • The score β€” pull requests that change a weight should say what ranking the change produces and why that ranking is better.

Who maintains this

The team behind ZeroLimitAI, a hosted AI app and API whose router ranks free models with this same function. We keep the list accurate because our own product depends on it; the list itself stays MIT, provider-neutral and useful without us β€” a model belongs here whether or not we route to it, and several of the highest-ranked ones we do not.

Related projects

License

MIT β€” use freely, attribution appreciated.

Footnotes

  1. OpenRouter, Free usage limits (checked 2026-10-10). The cap is global per account β€” extra API keys or accounts do not widen it. ↩ ↩2 ↩3

  2. Pollinations serves an anonymous tier with no API key. Which models are in it changes; this list reads their live catalogue every day and keeps the models marked tier: "anonymous". They are listed unscored: no public benchmark data is attached to them. ↩ ↩2

  3. OVHcloud publishes a permanent anonymous tier (no signup, no key) limited to 2 requests/minute per IP per model. Their /v1/models catalogue answers without a key; on 2026-09-23 four chat completions from two different models, spaced over several minutes, all returned API rate limit exceeded. ↩

About

Daily-updated list of free AI models (free LLM APIs), ranked by quality with live status. Plus one OpenAI-compatible endpoint that routes to the best one.

Topics

Resources

Contributing

Stars

211 stars

Watchers

14 watching

Forks

Releases

Packages

Contributors

Languages