Built for context windows, not front pages.
Live news, deduplicated into events — no key required.
Built for context windows, not front pages.
Live news, deduplicated into events — no key required.
01 — Try it
Pick a use case — see the call and the event it returns. Or open the full playground to search the index yourself.
{
"total": 136,
"events": [
{
"event_id": "evt_543f76460337e61f3d739a67bbb08f6a",
"headline": "OpenAI AI Agents Hack Hugging Face",
"abstract": "OpenAI has released a report detailing how its AI agents breached the systems of Hugging Face,...",
"entities": [{"name": "OpenAI", "salience": 0.9}, {"name": "Hugging Face", "salience": 0.8}],
"size": 19, // articles in the cluster
"source_count": 18, // distinct domains
"newsrooms": 15, // independent outlets
"language_count": 7,
"event_type": "security.data_breach",
"sector": "software_it_services",
"confidence": 0.92,
"first_seen": "2026-08-29T02:05:21",
"last_seen": "2026-08-31T18:47:28",
"sources": [
"https://www.firstpost.com/vantage/openai-hack-exposed-5-shocking-things-ai-bots-did-hugging-face-investigation-vantage--vd2109718"
// + 2 more source link(s)
]
}
// + 9 more event(s) in this response
]
}
02 — The tools
One call each. One more on Enterprise.
What's happening with Acme?
The name is quoted for you, and the window widens.
What's big right now?
Recency-weighted, so an hour-old story can outrank yesterday's bigger one.
Tell me everything about this story.
Every source link, not just the first three.
Is this actually true?
Independent newsrooms, counted apart from the domains that reprinted it.
Standing queries push new events to your endpoint.
03 — Feeds
Every event is labelled as it is indexed, so a standing beat is a filter — not a query string you keep re-tuning as the wording of the news changes.
180 layoff events in the seven days to 1 September 2026, most recently active first. No keywords to tune — the label is the filter.
Swap the leaf, change the desk:
security.data_breach
Breaches98product.product_recall
Recalls150funding.venture_funding_round
Funding rounds230deals.merger_acquisition
M&A410legal_regulatory.regulatory_action
Regulatory actions4,100governance.executive_departure
Exec changes640Three axes, filtered independently: 60 event types across 22 families, 31 sectors, 10 content types. Add §or=banking
to hold the beat and change the industry, or &content_type=news_report
to drop the press releases. sort=last_seen
puts the most recently active first, so polling the same URL shows you what moved.
04 — License and limits
Ship what you build on it — in production, keyless included.
05 — NewsMCP or Enterprise
NewsMCP is for agent runs. Enterprise is for systems that depend on news.
Keyless, clustered events, token-lean. Reach for it over MCP or its API inside Claude, Cursor, or an agent loop. The go-to for exploration and one-off runs.
When a business process runs on news: 2.5B+ articles indexed across 7+ years, 40+ filters, 30+ data fields, SLAs, and SOC 2 Type II.
06 — FAQ
No key to start — keyless runs at 20 calls an hour, looks back 7 days, and returns up to 20 stories per call. A free key takes that to 50 calls an hour, 14 days and 50 stories, and paid plans go higher. Asking for more than the keyless allowance isn't an error: the search runs narrowed and tells you what it changed. check_limits
reports the ceilings your key actually has, and calling it costs nothing.
Yes. Every plan includes a full commercial license, keyless included — ship what you build from day one.
Both exist, and they are not the same surface. REST is the raw index — one endpoint, every filter. The MCP server adds what REST has no endpoint for: check_coverage
works out how many independent newsrooms carried a claim, and subject=
quotes a name and widens the window so that searching for a company actually returns the company. If your agent speaks MCP, use MCP.
Run claude mcp add --transport http newsmcp https://mcp.newsmcp.com/mcp
, or add {"url": "https://mcp.newsmcp.com/mcp"}
to your client's MCP config and restart. The Setup for agents button copies a one-line instruction you can paste straight into an agent, which points it at our skill file so it configures itself.
New stories land in the index continuously and are searchable within minutes of publication.
One real-time news index, built and run entirely in house by NewsCatcher — no third-party search API sitting in the loop.
Worldwide sources across dozens of languages, keyless included — the same story is clustered across languages, so a single event routinely carries sources in six or seven. There is no language, country or source filter on the search itself: scope with sector
, event_type
, content_type
, or a corroboration floor like min_newsrooms
instead.
Automatically. The same story from many outlets is clustered into one event, so your agent reads a single result instead of thirty near-identical articles.
Story events, not a flat article list. Each event carries an event_id
, a generated headline
, abstract
and ranked entities
; the labels event_type
, content_type
and sector
with a confidence
; three separate corroboration counts — size
(articles), source_count
(domains) and newsrooms
(outlets that reported independently); first_seen
/last_seen
; and source links. verbosity
sets how many links come back, and get_story
returns all of them. Over MCP you get a readable markdown digest by default; pass response_format: json
when you need to parse it. The REST endpoint has no such option — it always returns JSON.