Skip to main content
Breaking News API · JSON over HTTPS

A real-time press release API for developers.

Programmatic access to a normalized feed of press releases across 50+ wire services. JSON, RSS, webhooks. Sub-minute latency. For newsroom devs, data teams, and AI products.

$99/seat/mo for in-app + REST. Higher tiers add webhook + API quotas.
Endpoints
GET /api/items

Recent press releases as JSON.

Returns the most recent N releases with title, body, source wire, timestamp, entities, contacts, summary. Public, rate-limited.

GET /api/feed/rss

RSS 2.0 feed of recent items.

Standard RSS endpoint for readers and aggregators that prefer XML over JSON.

POST /api/agent

Streaming AI agent over the feed.

SSE endpoint that lets you ask natural-language questions about the live feed. Requires an OpenAI key on our side.

Saved-search webhooks

Push on every match.

Configure a saved search in the UI; route matches to an HTTPS endpoint of your choice. JSON payload, retried with backoff.

Code examples

Plain HTTPS + JSON. GET /api/items?limit=N returns { items, stats, truncated } — each item carries title, source wire, link, publication timestamp, language, and an AI summary. Add ?full=1 for the full body.

curl
curl "https://www.ppnworld.com/api/items?limit=20" \
  | jq '.items[] | {title, source: .sourceName, link, pubDate}'
TypeScript
const res = await fetch("https://www.ppnworld.com/api/items?limit=20");
const { items } = await res.json();
for (const it of items) {
  console.log(it.pubDate, it.sourceName, it.title, it.link);
}
Python
import requests

r = requests.get("https://www.ppnworld.com/api/items", params={"limit": 20})
for it in r.json()["items"]:
    print(it["pubDate"], it["sourceName"], it["title"], it["link"])
RSS (XML)
curl "https://www.ppnworld.com/api/feed/rss"
Built for
Newsroom dev teams

Surface releases in your CMS.

Pipe the feed into your editorial dashboard. Pre-draft story cards on entity match. Trigger Slack alerts for beat reporters.

Data teams

Press releases as a signal.

Cross-reference releases with market data, regulatory filings, or your own product analytics. Useful for finance, policy, and competitive intelligence.

AI product teams

Real-time grounding for LLMs.

Use the live JSON feed as a retrieval source for AI assistants, briefing tools, or research products.

Frequently asked
What does the API return?+
Structured JSON for each press release: title, body, source wire, publication timestamp, source URL, country, language, extracted entities, extracted press contacts, embargo state, and an AI-generated summary. The /api/items endpoint returns recent items; saved-search webhooks fire on every match.
What's the latency?+
Releases land in the API in under 30 seconds from wire publication for most sources. The slowest wires (small regional aggregators, scheduled government bulletins) can take a few minutes.
Is the API rate-limited?+
Yes, with per-plan ceilings. Most newsroom integrations comfortably fit inside the default ceiling. Higher-volume use (commercial news products, AI training pipelines) requires the API tier — talk to us.
Can I push to my own webhook?+
Yes. Saved searches can route matching releases to an HTTPS webhook in addition to (or instead of) in-app and email alerts. Payload is the same JSON shape as the REST API.
Is there a way to bulk-export historical releases?+
The standard product gives a rolling window of recent releases plus entity dossiers indexing the historical archive. Larger historical pulls are handled as a custom data deal — contact us with the time range, beat, and use case.
Do you have SDKs?+
The API is plain HTTPS + JSON, so any HTTP client works. We publish example snippets for Python, TypeScript, and curl. No official SDK yet — the surface area is small enough that an SDK would be overkill.
What about AI training?+
We're open to it for legitimate research / product use, subject to licensing terms that account for the underlying wire services' usage rights. Reach out to discuss.

Try the breaking news API.

Sign up, grab an API key, and pull live data in five minutes. 14-day free trial, card required.