Is the Hugging Face inference API free in 2026? We counted.
Most answers to this question are describing a product that no longer works the way they say. The old free Inference API, the one you could call on a model page with a read token and no thought about cost, is not what you get today. What you get is Inference Providers, a router in front of other people's infrastructure.
So rather than repeat the folklore we asked the router. Its model endpoint is public, needs no token, and publishes price, latency and a free flag per model per provider.
Counted on 2026-09-12 from
https://router.huggingface.co/v1/models.
You can run the same command at the bottom of this page and check us.
The count
137
models on the router
327
model and provider pairs
0
flagged is_free
109
publish no price at all
Those four numbers are the honest answer, and the second pair is where people go wrong. Not flagged free is not the same as costing money, and no price published is not the same as free. Three different things are being counted:
is_free: true means a temporary promotion
Hugging Face documents this field as whether the model is currently free of charge on that provider as a promo. On the day we counted, none of the 327 entries had it set. There is no promotional free tier running right now.
Five entries are priced at zero anyway
Separate from the promo flag, five model and provider pairs
publish input: 0, output: 0:
Qwen3.8-27B on ovhcloud, two inclusionAI Ling models on novita, and two Ternary-Bonsai builds on
together. Genuinely zero, and none of them flagged as a promotion.
109 entries publish no price, which is not a discount
A third of the catalogue has no pricing object. It is concentrated in featherless-ai (68), zai-org (17), cohere (12) and fireworks-ai (10). The field is documented as present "when available", so absent means unknown rather than free, and you will find out what it costs by being billed for it.
The part that decides it for most people. Whatever the per-token price, calls through the router draw on your account's monthly included credits. A free account gets a small allowance, a PRO account a larger one, and when it is gone the calls stop rather than silently continuing. So "free" here means "free until the credit runs out", which for anything with steady traffic is a short window. Check your own allowance on your billing page rather than trusting a number in a blog post, including this one.
Who is actually behind it
The router is a front door for fourteen inference companies. Hugging Face runs almost none of this itself, which is the thing worth understanding: you are choosing a provider whether you realise it or not, and the same model has different prices, different context limits and different speeds depending on who serves it.
| Provider | Models | Best time to first token |
|---|---|---|
| novita | 69 | — |
| featherless-ai | 68 | — |
| deepinfra | 68 | 179 ms |
| together | 18 | 163 ms |
| fireworks-ai | 17 | 95 ms |
| zai-org | 17 | — |
| nscale | 17 | — |
| baseten | 13 | 216 ms |
| cohere | 12 | 161 ms |
| scaleway | 9 | — |
Every one of the 327 entries reported
status: live when we counted, which is more than
most catalogues can say. The routing metadata is genuinely good: per provider context length, tool
support, structured output support, time to first token and throughput from a recent probe. If you are
picking a provider for a model, that data is better than anything you will assemble yourself.
Calling it
It is OpenAI-compatible, so the only unusual part is the base URL and the model id, which carries the provider after a colon when you want to pin one.
curl https://router.huggingface.co/v1/chat/completions \
-H "Authorization: Bearer $HF_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Llama-3.3-70B-Instruct",
"messages": [{"role": "user", "content": "hello"}]
}'
Get the token from huggingface.co/settings/tokens. Create a fine-grained token and enable Make calls to Inference Providers; a classic read token works too but grants more than this needs.
And the command behind every number on this page, which needs no token at all:
# how many entries are flagged free?
curl -s https://router.huggingface.co/v1/models \
| jq '[.data[].providers[] | select(.is_free == true)] | length'
So what should you use?
If you want a specific open model on a specific provider and you are willing to pay for it, the router is a good piece of engineering and the comparison data is the best part of it.
If what you actually wanted was the old thing, a free endpoint you can point a script at, that is the part that went away. We run one: DreamPrompting is a free OpenAI-compatible gateway that routes across about two dozen providers' free tiers, including this router, and moves to the next provider when one is busy rather than failing.
curl https://dreamprompting.com/api/v1/chat/completions \
-H "Authorization: Bearer $DP_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"hello"}]}'
No card, no credit meter. There is a daily quota, and if you outgrow it you can plug in your own provider key and skip it entirely.
Get a free keyRelated, and built the same way, by calling things rather than trusting their docs: Cloudflare Workers AI lists 31 text models and we could call 28, and why your rate limit is measured in tokens rather than requests.