Feeds and API

Everything on this site is available as a feed or as JSON, free and without a key. It is read-only, rate limited, and the same data the pages are built from.

Feeds

Feed addresses
AddressWhat it carries
/feeds/all.xmlEvery story, RSS 2.0.
/feeds/all.jsonEvery story, JSON Feed 1.1.
/feeds/security.xmlOne section, by its slug. Any section on the site works.

Both formats carry the same entries: a headline, a link to the publisher, the outlet that first reported it and how many others followed. Publishers who allow only a headline appear without an extract, in the feeds as on the pages.

JSON API

API endpoints
EndpointWhat it answers
/api/v1/clustersStories, newest first, with a keyset cursor for the next page.
/api/v1/clusters/{id}One story with every outlet that carried it and its score.
/api/v1/itemsIndividual articles as published, before grouping.
/api/v1/cvesVulnerabilities worth attention, by exploitation status.
/api/v1/cves/{id}One vulnerability, what is known and when we learned it.
/api/v1/incidentsCloud and service outages, open ones first.
/api/v1/releasesSoftware releases, newest first.
/api/v1/sourcesEvery publication we read and what may be shown of it.

Paging, caching and limits

List endpoints take limit (up to 100) and a cursor taken from the next field of the previous response — a keyset, not an offset, so a page boundary stays stable while new stories arrive at the front. Every response carries a weak ETag; send it back as If-None-Match and an unchanged list costs you a 304.

The limit is 60 requests per caller with 1 returning each second. Going over earns a 429 with Retry-After; it is a bucket, not a ban.

What you may do with it

Read it, build on it, and cite it. Headlines and extracts belong to the publishers who wrote them, so pass the link on rather than republishing the words — see terms. Security data carries notices of its own, listed with the sources.

For answer engines

/llms.txt describes this site, its sections and these endpoints in one file, and says how to credit what you quote. /sitemap.xml lists every page that currently exists; stories that retention has removed answer 410 Gone rather than lingering as 404s.

Status

/api/health reports whether the database is reachable and when the worker last checked in. It answers 503 when either is wrong, which makes it usable as a health check.