Concepts

Crosswalks

A crosswalk connects one set of areas to another: the wards inside a council, or the 2024 constituency that replaced a 2010 one. Whenever the API moves between geographies, it does it through a crosswalk you can see and name.

Three kinds

KindWhat it saysExample
Clean containmentEach area sits wholly inside exactly one larger area.Wards within local authorities
Historical lookupWhich new areas replaced which old ones, as published by the official source.2010 constituencies to 2024 constituencies
Area overlapHow much areas that don't nest overlap each other, with weights that add up to 1.Constituencies and local authorities

Every crosswalk is checked before it's published. Containment must give each area exactly one parent, and overlap weights must add up. Get checks for a crosswalk shows the results.

What they're used for

The API never picks a crosswalk for you when it matters. When you convert data, you name the crosswalk, and the response repeats how it was made.

Translating a code

Here's a ward translated into the local authority it belongs to. purpose=membership asks for containment:

curl "https://api.ukdataatlas.com/v1/translations?from=ward/2024-12-uk-bgc&code=E05000932&to=localAuthority/2024-12-uk-bgc&purpose=membership"
Response200
{
  "apiVersion": "v1",
  "atlasRelease": "sha256:5c4aa4529cbfbd5e4c844c55cddba1ef04a7bf76f3eaa085a357fff401af6d0c",
  "data": {
    "source": {
      "geography": "ward",
      "boundaryRelease": "2024-12-uk-bgc",
      "code": "E05000932"
    },
    "target": {
      "geography": "localAuthority",
      "boundaryRelease": "2024-12-uk-bgc"
    },
    "purpose": "membership",
    "paths": [
      {
        "id": "ward-2024-12-uk-bgc-to-local-authority-2024-12-uk-bgc-clean-containment/forward/membership",
        "purpose": "membership",
        "from": {
          "geography": "ward",
          "boundaryRelease": "2024-12-uk-bgc"
        },
        "to": {
          "geography": "localAuthority",
          "boundaryRelease": "2024-12-uk-bgc"
        },
        "quality": "publisher-supplied",
        "origin": "crosswalk",
        "steps": [
          {
            "crosswalkId": "ward-2024-12-uk-bgc-to-local-authority-2024-12-uk-bgc-clean-containment",
            "direction": "forward",
            "method": "clean-containment",
            "purpose": "membership"
          }
        ]
      }
    ],
    "matches": [
      {
        "crosswalk": {
          "id": "ward-2024-12-uk-bgc-to-local-authority-2024-12-uk-bgc-clean-containment",
          "method": "clean-containment",
          "quality": "publisher-supplied",
          "weighting": {
            "status": "not-applicable"
          },
          "provenance": {
            "input": "boundaries/ward/2024-12-uk-bgc/Wards_December_2024_Boundaries_UK_BGC_-2654605954884295357.geojson",
            "inputHash": "sha256:8d74542cadd4da4801c5ed0f6db1a3eb4437327cdd7b77030c4fbcf01e0d9177"
          },
          "direction": "forward"
        },
        "source": {
          "code": "E05000932",
          "labels": [
            "Ainsdale"
          ]
        },
        "targets": [
          {
            "code": "E08000014",
            "labels": [
              "Sefton"
            ]
          }
        ]
      }
    ]
  },
  "meta": {
    "nextCursor": null
  }
}

Useful endpoints

get/crosswalksList crosswalksget/translationsTranslate an area codeget/areas/{geography}/{release}/{code}/relationshipsGet an area's relationships