bytenews.io

Archive About

API

A small, free, static JSON API. It is generated with the rest of the site, so it is exactly as fresh as the pages and cannot disagree with them. No key, no rate limit beyond the CDN’s, Access-Control-Allow-Origin: *, cached five minutes.

It carries headlines, blurbs, categories and asset tags — not article bodies. If you use it, link back to the story page: the summaries are ours, the reporting underneath them belongs to the outlets each story links to.

Endpoints

GET https://bytenews.io/api/v1/latest.json
GET https://bytenews.io/api/v1/category/<crypto|defi|markets|regulation|tech>.json
GET https://bytenews.io/api/v1/asset/<symbol>.json
GET https://bytenews.io/api/v1/all.json

Try it

curl -s https://bytenews.io/api/v1/latest.json | head -40
curl -s https://bytenews.io/api/v1/asset/ada.json | jq '.[0]'

A story looks like this

{
  "external_id": "3f0c…",
  "title": "The full informative headline",
  "display_title": "The short one on the graphic",
  "card_text": "The blurb, in full",
  "url": "https://bytenews.io/s/the-slug/",
  "category": "crypto",
  "tier": "story",
  "assets": ["BTC"],
  "published": "2026-08-09T19:39:00+00:00",
  "first_published": "2026-08-09T13:07:00+00:00"
}

published moves when a story is rewritten; first_published never does. url is a permalink — slugs are frozen at first publish and retired ones keep resolving.

Ledgers, and how complete each one is

Six tables on this site are also datasets, and each one publishes in three files under the same name — the rows as CSV, the rows as JSON, and an integrity report saying what is missing from them:

GET https://bytenews.io/api/v1/whales.csv
GET https://bytenews.io/api/v1/whales.json
GET https://bytenews.io/api/v1/whales.integrity.txt

The report names every interval the dataset’s producers were not looking, with the reason each one carries; the days that hold fewer rows than the median day of the window; what has been corrected since publication; our own recorded downtime; and what the last full run of our checks did not check. The same object is inside the JSON as integrity. The CSV is left alone — a spreadsheet is a rectangle — which is why the report has a file of its own.

A dataset here cannot be published without one: the build refuses. What this site has no producer for at all is on the coverage boundary.

The other two machine surfaces

/llms.txt is the full machine-readable index — every dataset this site publishes, the citation format, and the training terms. It lists endpoints this page does not. /mcp/ is the same wire as an MCP server, for querying it from inside an assistant rather than over HTTP.

Best effort, no uptime promise, and the shape may gain fields (never lose them). Not financial advice.