Using the API

CSV and bulk downloads

JSON is the default, but you don't have to use it. Ask for CSV to open results in a spreadsheet, or download a whole dataset in a single request.

Choosing a format

Endpoints that offer more than one format take a format parameter:

FormatBest for
jsonApps and scripts. The default.
csvSpreadsheets, and tools like pandas or R.
ndjsonStreaming, with one JSON record per line.
curl "https://api.ukdataatlas.com/v1/data/population?period=2022&geography=ward&boundaryYear=2023&format=csv"

The API picks the format from this parameter only, not the Accept header.

What CSV looks like

  • Each row carries its own provenance, so a saved file still says where it came from.
  • Rows include the measure's unit, so values can't be misread.
  • lowerBound and upperBound columns hold any published confidence interval, and are empty otherwise.
  • In lookup tables, a list is joined with | in a single cell.

Whole datasets

Paging through a big dataset takes many requests. Instead, list the downloads on offer and fetch the one you want as a single file:

curl "https://api.ukdataatlas.com/v1/exports"

Each download has a contentHash. Check it after downloading to be sure you got exactly the file that was published. Keep a copy in sync shows how.

get/exports/{export-id}Download a dataset

Lookup tables

Lookup tables are the reference data you join against: area codes and names for each boundary release, crosswalks as one row per mapping, and named-location membership. Download them as CSV or NDJSON:

curl "https://api.ukdataatlas.com/v1/lookups/areas-combinedAuthority-2025-12-en-bgc?format=csv"

Map tiles

Boundaries for maps come as vector tiles, or as one PMTiles archive holding every tile for a release. See Draw a map.