Data and API
The 133 figures on this site are also published as JSON files for software to read, with the same values, dates and official sources as the pages.
The files are static: there is no key and no sign-up. Version 2 of the API starts at /api/v2/, which lists the endpoints. The latest release of the data is number 13, published on 13 October 2026.
Endpoints
| Path | What it holds |
|---|---|
/api/v2/index.json | This list of endpoints, with the latest release and data hash. Also at /api/v2/. |
/api/v2/figures.json | The published figures with their current values, units, dates, sources, conditions, exceptions and related figures. |
/api/v2/figures/{id}.json | One figure with its timeline: values set by law for later dates, the current value and earlier values, newest first.Example: /api/v2/figures/concessional_cap.json |
/api/v2/figures/{id}/{date}.json | One value of one figure, from the date it applies from. A fixed address to cite.Example: /api/v2/figures/concessional_cap/2026-07-01.json |
/api/v2/as-at/index.json | The dates on which any published value starts, each with a file of each figure's recorded value on that date. |
/api/v2/as-at/{date}.json | The value of each figure on one of those dates, and the figures with no recorded value on it.Example: /api/v2/as-at/2026-07-01.json |
/api/v2/concepts.json | Each quantity, with the figures that give it for different households, ages or other situations. |
/api/v2/categories.json | The topics figures are listed under on the site. |
/api/v2/units.json | What each unit means, and how to turn a rate into a plain ratio. |
/api/v2/sources.json | The official pages the daily check reads, and the figures each covers. |
/api/v2/rules/index.json | Rule modules: how the law turns figures into results. None is published yet. |
/api/v2/changes.json | Each change to the published data, newest first: when it was published and the date it applies from. |
/api/v2/releases.json | Each release of the published data, newest first. |
/api/v2/releases/latest.json | The latest release: a small file to check for new data. |
/api/v2/releases/{n}.json | One release and the changes it made.Example: /api/v2/releases/1.json |
/api/v2/changes.atom | The releases as an Atom feed. |
/api/v2/openapi.json | An OpenAPI 3.1 description of these endpoints. |
/api/v2/schema/api.json | The JSON Schema for these files. |
/api/v2/schema/registry.json | The JSON Schema for the registry these files are built from. |
Reading a figure
- Value and unit.
valueis a number in the unit described byunit. For rates, tapers and shares of a balance,ratiogives the same value as a plain ratio: 3.75 per cent is 0.0375. - Dates.
effective_fromis a date, andeffective_from_basissays what it means:value(the day this value started),provision(the day the current rule started; the number itself is older) oras_at(a day the official source shows the value in force; the day it started is not recorded). - Which value applies. Where it is not simply the value in force on a date,
applies_bysays how the value is chosen: by date of birth, by financial year, by the date of an event, or fixed at an event. - Who it is for.
dimensionsset a figure apart from others with the sameconcept. A couple amount sayscombined(both partners together) oreach(for each partner). - Conditions and exceptions.
conditions,exceptionsandcaveatsare sentences copied from the figure's notes. An exception marked"modelled": falseis not built into any calculation here. - How it is worked out.
derivationgives the calculation that links a figure to the figures it is worked out from, as JSON Logic, and says whether the official source describes it. - Later values.
upcomingholds values already set by law for a later date. They are not in force yet. - Earlier values. Each figure's own file has a
timelineof its recorded values, newest first. Each dated value has its own address, so a citation can point at the exact value it used.cite_asgives a ready-made citation.
Checking for changes
/api/v2/releases/latest.jsonis small. Itsdata_hashchanges only when the published data changes./api/v2/changes.jsonlists each change withrecorded_at, when it reached the branch the site is built from, andeffective_from, the date the value applies from. To find what changed since a date, keep the events recorded after it./api/v2/changes.atomis the same releases as an Atom feed, for a feed reader./api/v2/as-at/has the recorded value of each figure on each date a published value changed.
Ids
Each figure has an id in snake_case, such as concessional_cap. Ids are not reused. The 11 figures renamed in version 2 of the registry list their earlier ids in former_ids, and their old pages redirect to the new ones.
Descriptions for software
- OpenAPI 3.1 description
- JSON Schema for the API files and for the registry
- API catalog (RFC 9727)
- llms.txt, a plain-text guide for AI tools, and llms-full.txt, the current figures as text
The first feeds
/api/figures.json and /api/changes.jsonare still published, and they keep the ids they first published. Since version 2 both have asuccessor field, which points to /api/v2/, and each figure in /api/figures.json haseffective_from_basis.