Free News API
Get a free API key and start pulling news from 150,000+ publishers in 50+ languages. Your free account includes 2,000 searches — no credit card, and they never expire.
No payment details required. You get a working API key immediately.
What the free plan includes
Everything below is what you actually get after registering — no trial countdown and no card on file. Every API endpoint is available on the free plan; the only thing that limits you is your token allocation.
| What | Free plan |
|---|---|
| Price | $0 |
| Credit card | Not required |
| Included allocation | 2,000 tokens, one time — does not reset monthly and does not expire |
| Searches that buys you | 2,000 searches of the last 30 days, returning up to 200,000 articles |
| Results per search | Up to 100 articles or 50 events per search action |
| Publishers | 150,000+ sources worldwide |
| Languages | 50+ |
| Endpoints | All of them — articles, events, autosuggest and the text analytics endpoints |
| Rate limit | Up to 5 simultaneous requests; more returns HTTP 429 |
| At the cap | Requests return HTTP 401 and stop serving data. Nothing is charged automatically |
| Archive back to 2014 | Charged per searched year — see the token table below. Not available in free account |
| Support | Documentation and the sandbox environment. Direct support comes with paid plans |
Start in three lines of Python
Install the SDK, paste your key, run it. This is a complete script — the only thing you need to change is the API key.
pip install eventregistry
from eventregistry import *
er = EventRegistry(apiKey = "YOUR_API_KEY")
q = QueryArticlesIter(
keywords = "electric vehicles",
lang = "eng")
for art in q.execQuery(er, sortBy = "date", maxItems = 100):
print(art["date"], art["title"], art["source"]["title"])
That is one search action and costs 1 token, leaving you 1,999. Prefer plain HTTP? Every endpoint works as a GET request with your key as a parameter:
https://eventregistry.org/api/v1/article/getArticles
?resultType=articles
&keyword=electric%20vehicles
&lang=eng
&articlesSortBy=date
&apiKey=YOUR_API_KEY
The same key works from the Python SDK or the Node.js SDK, and there is an OpenAPI specification you can generate a client from in any other language. For a longer walkthrough with printed responses under every call, see the Python SDK introduction.
How far 2,000 tokens actually goes
Tokens are the unit you spend. What a request costs depends on what you ask for and which time period you ask about. Searching recent news is the cheapest thing you can do; reaching into the archive is charged per year of content your query covers.
| Request type | Recent (last 30 days) | Archive (since 2014) |
|---|---|---|
| Search articles | 1 token | 5 tokens / searched year |
| Search events | 5 tokens | 20 tokens / searched year |
| Simple aggregates top concepts, tag cloud, timeline, sentiment, categories |
5 tokens | 10 tokens / searched year |
| Complex aggregates concept trends, date mentions, event clustering, similar events |
10 tokens | 50 tokens / searched year |
The text analytics endpoints are charged per analysed document and cost well under one token each — language detection is 0.01 tokens, sentiment and entity detection 0.02, semantic annotation and categorisation 0.04, article extraction 0.05. A single token covers dozens of documents.
So 2,000 tokens is 2,000 searches of recent news, or roughly 400 event searches. Archive search is not included in the free plan and requires a paid subscription.
Free plan vs paid plans
The free plan is the same API, not a cut-down version. What changes when you subscribe is how much you can ask for in a single query, and how far back you can reach.
| Maximum conditions per query | Free | Paid |
|---|---|---|
| Sources | 1,000 | 50,000 |
| Keywords | 15 | 60 |
| Concepts | 15 | 60 |
| Categories | 10 | 20 |
| Languages | 5 | 10 |
| Locations | 10 | 15 |
Paid plans start at $90/month for 5,000 searches and add the full archive back to 2014, custom sources on request, and direct technical support. You can compare every plan without signing up.
Why not just scrape Google News?
It is the usual starting point, and it works until you try to do anything analytical with the results. Google News was built to help people discover and read news. Monitoring and analytics systems need to filter, deduplicate, categorise and compare news at scale, and that is a different job.
The problems show up in a predictable order. One event creates twenty signals, because the same story republished by twenty outlets looks like twenty stories unless something groups them. Old articles resurface in searches that should only return current coverage. Headlines are not enough once you need sentiment, the entities mentioned, or the source's location. Keywords create noise — searching for Apple, Amazon or Washington returns three different meanings mixed together. And once all of that is in your pipeline, your analytics stop being trustworthy, which is the expensive failure because it is the one you notice last.
This API addresses those directly: articles about the same story are clustered into a single event; concepts are disambiguated so Apple-the-company and apple-the-fruit are different entities; each article carries sentiment, categories, detected concepts, source information and social share counts; and the archive goes back to 2014 so a comparison over time is a query rather than a data collection project.
If you are specifically replacing Google News, the developer's comparison and the write-up on where Google News breaks down for monitoring go through it in more detail.