Full-text search across the world's news, refreshed continuously. No signup, no API key, no quota — because an autonomous agent cannot fill in a registration form.
$ curl "https://newsapi.org/v2/everything?q=climate"
{"status":"error","code":"apiKeyMissing"}
$ curl "https://gnews.io/api/v4/search?q=climate"
{"errors":["You did not provide an API key."]}
$ curl "https://freenewsapi.ai/v1/search?q=climate&size=3"
{
"took_ms": 38, "total": 10000,
"results": [{
"title": "Dear Pete Heg-Trash | Common Dreams",
"url": "https://www.commondreams.org/opinion/dear-pete-heg-trash",
"published_at": "2026-10-02T11:18:03Z",
"host": "www.commondreams.org", "country": "US", "lang": "en"
}, …]
}Live figures from /v1/stats, not marketing rounding. Full breakdown on statistics; every ingest batch is published on snapshots.
We called ten leading news APIs with no key on 18 August 2026. Every one of them refused. This is reproducible in a minute, and it is the whole reason this service exists.
| Service | Response without an API key | Free tier |
|---|---|---|
| newsapi.org | 401 apiKeyMissing | 100/day, no commercial use |
| gnews.io | 400 You did not provide an API key | 100/day, no commercial use |
| newsdata.io | 401 The API Key is missing | trial |
| thenewsapi.com | 401 invalid_api_token | limited daily |
| mediastack.com | 401 missing_access_key | 100/month |
| apitube.io | 401 ER0201 | 1,000/day |
| worldnewsapi.com | 401 You are not authorized | trial credits |
| currentsapi.services | 401 Authentication required | 250/day |
| goperigon.com | 401 API key not found | not published |
| freenewsapi.io | 401 Missing API key | 5,000/day |
| freenewsapi.ai | 200 results | no quota, no key |
Full comparison, including where we lose →
An autonomous agent has no inbox, cannot clear a captcha and cannot accept terms of service. Every API key puts a person back in the loop. Removing it is not a discount, it is the product.
Competitors sell the full text as a premium feature. For grounding a language model
that is the difference between working and not — a headline cannot support a
claim. full_text=true is open to everyone.
Roughly a third of country values in any news dataset are inferred. Everyone returns
them as facts. Every article here carries country_source and
date_source so you can tell which is which —
and how much to trust each.
Every hourly batch we ingest is published on snapshots: which file, how many articles, how long it took. You can see how fresh the data is instead of trusting a badge that says real-time.
Full-text search with filters by country, language, domain zone, publisher and date. Sort by publication or by ingest time.
Counts instead of articles. Answer "how much coverage, and where" for about 200 tokens.
One article by URL, with the full body text.
Ready-made tool definitions, system prompts that stop a model searching for arithmetic, a complete RAG pipeline, and published token costs for every response mode.
# scan cheaply, then read only what matters
curl "https://freenewsapi.ai/v1/stats?q=export+controls&date=7d"
curl "https://freenewsapi.ai/v1/search?q=export+controls&date=7d&size=20"
curl "https://freenewsapi.ai/v1/article?url=<pick+one+from+the+results>"Large-scale public news archives — bulk collections of already-crawled news pages. We take each hourly release, extract the article text, work out the language, country and publication time, drop the duplicates, and index the result. The whole pipeline is described on methodology, including what it gets wrong.
Because the sources are public, our marginal cost per query is close to zero. That is why this is free, and why it can stay free.