Data
Every timeline as JSON and Markdown
Where the files are
/index.json: every timeline with its URLs, size and last update, plus topics, parties and feeds. Start here./events/<slug>.json: one timeline in full, for example/events/trump-accounts-rollout.json./events/<slug>.md: the same timeline as plain-text Markdown, and/llms-full.txtfor all of them in one file./feed.xmlfor new entries,/events/<slug>/feed.xmlper timeline,/upcoming.icsfor scheduled dates.
A timeline page also answers content negotiation: request /events/<slug> with Accept: application/json or Accept: text/markdown and you get the JSON or Markdown file, with Content-Location naming it. Every page links its alternates from its <head>. The JSON files allow cross-origin requests from any page, and, unlike the HTML pages, they are not rate limited.
What a timeline file contains
Top level: slug, title, url, vertical and topic, tags, tldr, created_at and updated_at, then the sections below. Timestamps are ISO 8601 in UTC; event dates are YYYY-MM-DD, or YYYY-MM / YYYY when date_precision says the day or month is not known.
nodes- The entries, oldest first. Each has an
idthat is stable for the life of the entry, aurlthat addresses it on the page, thedatethe thing happened, atitle, a two-to-three sentencesummary, atype(announcement, launch, regulatory, legal, financial, report, response, delay, shipment or other), theentitiesit is about,published_at, and an editor'snotewhen a date was corrected or a source disagreed.sourceslists every page the entry was taken from with itsurl,outlet, publication date and the verbatimquotethat supports the summary. entities- The parties on this timeline:
name,kind(company, person, regulator, product, other) and a one-linerole. Names match the strings used in each entry'sentities. relations- Links between two entries,
fromthe earlier to the later, that the dates alone do not show:causes(a source says the earlier brought the later about),responds_to,contradicts(with the disagreement spelled out innote) andfollows(the later completes what the earlier began). Every relation carries anotesaying what the link is. Treatcausesas the editors' reading of the sources, not as a fact of the same standing as an entry. links- The same three explanatory kinds, but with one end on another timeline. Each end gives its
eventslug, entryid,date,titleandurl, so a link can be followed from either file. A link is written once and appears in both timelines' files. The same rule of evidence applies: it exists only where one entry's own text names the other's fact. key_node_ids- The entries that carry the story, chosen when the summary is refreshed.
catalysts- Dated things to watch next, each with a
whyand, where one exists, asource_url. open_questions- What the sources have not settled yet.
metrics- Series charted on the page, such as a price or a rate:
key,name,unit,kind(step, line or bar) andpoints. A point exists only where a published entry states the value verbatim; each carries thenode_idand thequoteit was read from. related- Timelines the editor has linked to this one.
changelog- Every change to the timeline, newest first: research passes, published entries (with their
node_ids), summary refreshes and corrections. Entries are never silently edited, so a diff of this list is a diff of what the site knew. hero_image,hero_credit,image,image_credit- Photographs and the attribution they are shown with. They are licensed to this site as described under Images; the credit travels with the file, the licence does not.
Not included, on purpose: unpublished candidate entries, the research brief and search queries each timeline runs on, and the instructions the pipeline uses to read chart values. Those are how the site is made, not what it says.
Stability
Fields are added, never renamed or removed, within a data version; data_version in every file changes only when a field changes meaning. Entry ids do not change. A timeline that is retired keeps its files with status set to archived. Fetch /index.json and compare updated_at to know which timelines to re-read; the RSS feed and each file's changelog say what changed.
Terms
The reuse terms apply to the files exactly as they apply to the pages: quote and cite entries with a link to the entry's url, use the data in research, articles and AI answers with attribution, and do not republish whole timelines or train models on the text. Every response says so with a Content-Signal header. For a licence beyond those terms, or to ask for a field or a format, write to editor@whatledto.com.