Real-time news
Articles as they publish, filtered the way you need.
Structured JSON
Clean UTF-8 JSON with the same fields and types from every source, and the same error format from every endpoint.
Parse once and stop maintaining scrapers.
Anyone tired of cleaning HTML.
The fields on every article.
What you get
0/3Map one schema to your models.
Load articles straight into a warehouse.
Put compact records into context.
Render titles, images and links without cleanup.
Article object
Every endpointThe same object, whichever outlet published the story.
Example
A data team pulls business news every hour and loads each article as one row. The schema never changes with the publisher, so the load job never breaks.
At a glance
curl -G https://api.newsmesh.co/v1/latest \ -d apiKey=$NEWSMESH_API_KEY \ -d category=business \ -d limit=50
import os, requestsr = requests.get( "https://api.newsmesh.co/v1/latest", params={ "apiKey": os.environ["NEWSMESH_API_KEY"], "category": "business", "limit": "50", },)articles = r.json()["data"]
const params = new URLSearchParams({ apiKey: process.env.NEWSMESH_API_KEY, category: "business", limit: "50",});const res = await fetch(`https://api.newsmesh.co/v1/latest?${params}`);const { data } = await res.json();
{
"data": [{
"article_id": "7997c2d7b2f98bd95b01a3882f00fc64",
"title": "AMD briefly joined the $1 trillion club. Cramer says its mo…",
"source": "CNBC",
"category": "business",
"topics": ["AI trends", "CPU market", "business strategy"],
"people": ["Jim Cramer"],
"country_relevance": ["United States"],
"link": "https://www.cnbc.com/2026/09/28/jim-cramer-amd-lisa…"
}],
"next_cursor": "eyJwIjoi…"
}