National Statistics Postcode Lookup UK
This dataset provides the National Statistics Postcode Lookup (NSPL) for the United Kingdom, produced by ONS Geography, which supplies geographic support to the Office for National Statistics and geographic services for other organisations. It relates current postcodes to statutory administrative, electoral, health and other statistical geographies, using a 'best-fit' allocation based on 2021 Census output areas. The lookup supports the production of area-based statistics from postcoded data, enabling users to aggregate postcode-level information to various geographic units used across UK official statistics.This dataset contains the National Statistics Postcode Lookup (NSPL) for the United Kingdom. The NSPL relates current postcodes to a range of current statutory administrative, electoral, health and other statistical geographies via ‘-fit’ allocation from the 2021 Census output areas. It supports the production of area based statistics from postcoded data. The NSPL is produced by ONS Geography, which provides geographic support to the Office for National Statistics (ONS) and geographic services used by other organisations.
Trust score
How is this computed?Weighted across five axes. Tap a ring for what it measures.
Data schema (41 fields)
Click a field to see example values.
| Field | Type | Description |
|---|---|---|
| :id | text | Unique internal record identifier for the row.Unique internal record identifier for the row. |
| :version | text | Internal version identifier for the record.Internal version identifier for the record. |
| :created_at:created at | datetime | Timestamp when the record was created in the system.Timestamp when the record was created in the system. |
| :updated_at:updated at | datetime | Timestamp when the record was last updated in the system.Timestamp when the record was last updated in the system. |
| postcode_1Postcode 1 | text | Postcode with no spaces.Postcode with no spaces. |
| postcode_2Postcode 2 | text | Postcode formatted with fixed-width spacing.Postcode formatted with fixed-width spacing. |
| postcode_3Postcode 3 | text | Postcode with standard single-space formatting.Postcode with standard single-space formatting. |
| date_introducedDate introduced | text | Year and month the postcode was first introduced.Year and month the postcode was first introduced. |
| user_typeUser type | text | Code indicating whether the postcode is small or large user type.Code indicating whether the postcode is small or large user type. |
| easting | text | National grid easting coordinate of the postcode.National grid easting coordinate of the postcode. |
| northing | text | National grid northing coordinate of the postcode.National grid northing coordinate of the postcode. |
| positional_qualityPositional quality | text | Code indicating the accuracy grade of the postcode's coordinates.Code indicating the accuracy grade of the postcode's coordinates. |
| county_codeCounty code | text | Code identifying the county containing the postcode.Code identifying the county containing the postcode. |
| county_nameCounty name | text | Name of the county containing the postcode.Name of the county containing the postcode. |
| local_authority_codeLocal authority code | text | Code identifying the local authority district containing the postcode.Code identifying the local authority district containing the postcode. |
| local_authority_nameLocal authority name | text | Name of the local authority district containing the postcode.Name of the local authority district containing the postcode. |
| ward_codeWard code | text | Code identifying the electoral ward containing the postcode.Code identifying the electoral ward containing the postcode. |
| ward_nameWard name | text | Name of the electoral ward containing the postcode.Name of the electoral ward containing the postcode. |
| country_codeCountry code | text | Code identifying the UK country containing the postcode.Code identifying the UK country containing the postcode. |
| country_nameCountry name | text | Name of the UK country containing the postcode.Name of the UK country containing the postcode. |
| region_codeRegion code | text | Code identifying the region containing the postcode.Code identifying the region containing the postcode. |
| region_nameRegion name | text | Name of the region containing the postcode.Name of the region containing the postcode. |
| parliamentary_constituency_codeParliamentary constituency code | text | Code identifying the Westminster parliamentary constituency.Code identifying the Westminster parliamentary constituency. |
| parliamentary_constituency_nameParliamentary constituency name | text | Name of the Westminster parliamentary constituency.Name of the Westminster parliamentary constituency. |
| european_electoral_region_codeEuropean electoral region code | text | Code identifying the former European electoral region; now obsolete.Code identifying the former European electoral region; now obsolete. |
| european_electoral_region_nameEuropean electoral region name | text | Name of the former European electoral region; now obsolete.Name of the former European electoral region; now obsolete. |
| primary_care_trust_codePrimary care trust code | text | Code identifying the former primary care trust; now obsolete.Code identifying the former primary care trust; now obsolete. |
| primary_care_trust_namePrimary care trust name | text | Name of the former primary care trust; now obsolete.Name of the former primary care trust; now obsolete. |
| lsoa_codeLsoa code | text | Code identifying the Lower Layer Super Output Area.Code identifying the Lower Layer Super Output Area. |
| lower_super_output_areaLower super output area | text | Name of the Lower Layer Super Output Area.Name of the Lower Layer Super Output Area. |
| msoa_codeMsoa code | text | Code identifying the Middle Layer Super Output Area.Code identifying the Middle Layer Super Output Area. |
| middle_super_output_areaMiddle super output area | text | Name of the Middle Layer Super Output Area.Name of the Middle Layer Super Output Area. |
| output_area_classification_codeOutput area classification code | text | Code for the 2021 Census output area classification.Code for the 2021 Census output area classification. |
| output_area_classification_nameOutput area classification name | text | Descriptive label for the 2021 Census output area classification.Descriptive label for the 2021 Census output area classification. |
| longitudeLongitude | text | Longitude coordinate of the postcode centroid.Longitude coordinate of the postcode centroid. |
| latitudeLatitude | text | Latitude coordinate of the postcode centroid.Latitude coordinate of the postcode centroid. |
| spatial_accuracySpatial accuracy | text | Description of the precision level of the postcode's location.Description of the precision level of the postcode's location. |
| last_uploadedLast uploaded | datetime | Timestamp when the source data was last uploaded.Timestamp when the source data was last uploaded. |
| socrata_idSocrata id | text | Identifier assigned by the Socrata publishing platform.Identifier assigned by the Socrata publishing platform. |
| :@computed_region_6i9a_26nj:@computed region 6i9a 26nj | text | Computed geographic region identifier generated by the platform.Computed geographic region identifier generated by the platform. |
| :@computed_region_hxwp_gyfc:@computed region hxwp gyfc | text | Computed geographic region identifier generated by the platform.Computed geographic region identifier generated by the platform. |
Schema inferred from the distribution file's first records 23 days ago. Column types are sampled estimates, not source-declared.
Query the data
Pick columns and a sort, then fetch a live preview straight from the source. Choose an API-filterable column (marked ▾) under “Where” to pick from its list of values.
Sample data (5 records)
Record 1:id: row-uy6a-75j6_bry2 · easting: —
{
":id": "row-uy6a-75j6_bry2",
"easting": null,
":version": "rv-9da5.7r7x.9wac",
"latitude": "100",
"northing": null,
"longitude": "0",
"lsoa_code": null,
"msoa_code": null,
"user_type": "1",
"ward_code": null,
"ward_name": null,
"postcode_1": "AB559AA",
"postcode_2": "AB55 9AA",
"postcode_3": "AB55 9AA",
"socrata_id": "16753",
":created_at": "2026-06-22T08:32:19.856Z",
":updated_at": "2026-06-22T08:38:27.097Z",
"county_code": null,
"county_name": null,
"region_code": null,
"region_name": null,
"country_code": null,
"country_name": null,
"last_uploaded": "2026-06-22T08:18:04.000",
"date_introduced": "201906",
"spatial_accuracy": "Postcode Level",
"positional_quality": "9",
"local_authority_code": null,
"local_authority_name": null,
"lower_super_output_area": null,
"primary_care_trust_code": "obsolete",
"primary_care_trust_name": "obsolete",
"middle_super_output_area": null,
":@computed_region_6i9a_26nj": null,
":@computed_region_hxwp_gyfc": null,
"european_electoral_region_code": "obsolete",
"european_electoral_region_name": "obsolete",
"output_area_classification_code": null,
"output_area_classification_name": null,
"parliamentary_constituency_code": null,
"parliamentary_constituency_name": null
}Record 2:id: row-vr9v.adiu.qupg · easting: 512145
{
":id": "row-vr9v.adiu.qupg",
"easting": "512145",
":version": "rv-e3kd_jwip_gvdg",
"latitude": "51.706436",
"northing": "202099",
"longitude": "-0.378405",
"lsoa_code": "E01023732",
"msoa_code": "E02004943",
"user_type": "0",
"ward_code": "E05013965",
"ward_name": "St Stephen",
"postcode_1": "AL2 3UF",
"postcode_2": "AL2 3UF",
"postcode_3": "AL2 3UF",
"socrata_id": "20103",
":created_at": "2026-06-22T08:32:19.856Z",
":updated_at": "2026-06-22T08:38:31.500Z",
"county_code": "E10000015",
"county_name": "Hertfordshire",
"region_code": "E12000006",
"region_name": "East of England",
"country_code": "E92000001",
"country_name": "England",
"last_uploaded": "2026-06-22T08:18:04.000",
"date_introduced": "199301",
"spatial_accuracy": "Postcode Level",
"positional_quality": "1",
"local_authority_code": "E07000240",
"local_authority_name": "St Albans",
"lower_super_output_area": "St Albans 020D",
"primary_care_trust_code": "obsolete",
"primary_care_trust_name": "obsolete",
"middle_super_output_area": "St Albans 020",
":@computed_region_6i9a_26nj": null,
":@computed_region_hxwp_gyfc": null,
"european_electoral_region_code": "obsolete",
"european_electoral_region_name": "obsolete",
"output_area_classification_code": "5B1",
"output_area_classification_name": "Urbanites;Ageing urban living;Delayed retirement",
"parliamentary_constituency_code": "E14001507",
"parliamentary_constituency_name": "St Albans"
}Record 3:id: row-ecek-zzgx.2t78 · easting: 403033
{
":id": "row-ecek-zzgx.2t78",
"easting": "403033",
":version": "rv-9qg9.7j8w.8r88",
"latitude": "52.54067",
"northing": "293645",
"longitude": "-1.956706",
"lsoa_code": "E01010014",
"msoa_code": "E02002054",
"user_type": "0",
"ward_code": "E05001271",
"ward_name": "Newton",
"postcode_1": "B43 5DU",
"postcode_2": "B43 5DU",
"postcode_3": "B43 5DU",
"socrata_id": "42627",
":created_at": "2026-06-22T08:32:19.856Z",
":updated_at": "2026-06-22T08:38:36.132Z",
"county_code": "E11000005",
"county_name": "West Midlands",
"region_code": "E12000005",
"region_name": "West Midlands",
"country_code": "E92000001",
"country_name": "England",
"last_uploaded": "2026-06-22T08:18:07.000",
"date_introduced": "198001",
"spatial_accuracy": "Postcode Level",
"positional_quality": "1",
"local_authority_code": "E08000028",
"local_authority_name": "Sandwell",
"lower_super_output_area": "Sandwell 012D",
"primary_care_trust_code": "obsolete",
"primary_care_trust_name": "obsolete",
"middle_super_output_area": "Sandwell 012",
":@computed_region_6i9a_26nj": null,
":@computed_region_hxwp_gyfc": null,
"european_electoral_region_code": "obsolete",
"european_electoral_region_name": "obsolete",
"output_area_classification_code": "5B1",
"output_area_classification_name": "Urbanites;Ageing urban living;Delayed retirement",
"parliamentary_constituency_code": "E14001574",
"parliamentary_constituency_name": "West Bromwich"
}Record 4:id: row-tz6q~r6i3-9m4s · easting: 393178
{
":id": "row-tz6q~r6i3-9m4s",
"easting": "393178",
":version": "rv-b76f.d2c6-3rvi",
"latitude": "52.30369",
"northing": "267289",
"longitude": "-2.101464",
"lsoa_code": "E01034326",
"msoa_code": "E02006748",
"user_type": "0",
"ward_code": "E05015446",
"ward_name": "Dodderhill",
"postcode_1": "B61 7EP",
"postcode_2": "B61 7EP",
"postcode_3": "B61 7EP",
"socrata_id": "48036",
":created_at": "2026-06-22T08:32:19.856Z",
":updated_at": "2026-06-22T08:38:36.132Z",
"county_code": "E10000034",
"county_name": "Worcestershire",
"region_code": "E12000005",
"region_name": "West Midlands",
"country_code": "E92000001",
"country_name": "England",
"last_uploaded": "2026-06-22T08:18:07.000",
"date_introduced": "198001",
"spatial_accuracy": "Postcode Level",
"positional_quality": "1",
"local_authority_code": "E07000238",
"local_authority_name": "Wychavon",
"lower_super_output_area": "Wychavon 001F",
"primary_care_trust_code": "obsolete",
"primary_care_trust_name": "obsolete",
"middle_super_output_area": "Wychavon 001",
":@computed_region_6i9a_26nj": null,
":@computed_region_hxwp_gyfc": null,
"european_electoral_region_code": "obsolete",
"european_electoral_region_name": "obsolete",
"output_area_classification_code": "1B1",
"output_area_classification_name": "Rural residents;Rural tenants;Rural life",
"parliamentary_constituency_code": "E14001441",
"parliamentary_constituency_name": "Redditch"
}Record 5:id: row-9vwe_mbh4.4cqa · easting: 399031
{
":id": "row-9vwe_mbh4.4cqa",
"easting": "399031",
":version": "rv-t82v.v2xp-pbwv",
"latitude": "52.454266",
"northing": "284033",
"longitude": "-2.015681",
"lsoa_code": "E01009802",
"msoa_code": "E02002035",
"user_type": "0",
"ward_code": "E05015912",
"ward_name": "Halesowen South",
"postcode_1": "B62 0DU",
"postcode_2": "B62 0DU",
"postcode_3": "B62 0DU",
"socrata_id": "48503",
":created_at": "2026-06-22T08:32:19.856Z",
":updated_at": "2026-06-22T08:38:36.132Z",
"county_code": "E11000005",
"county_name": "West Midlands",
"region_code": "E12000005",
"region_name": "West Midlands",
"country_code": "E92000001",
"country_name": "England",
"last_uploaded": "2026-06-22T08:18:07.000",
"date_introduced": "198001",
"spatial_accuracy": "Postcode Level",
"positional_quality": "1",
"local_authority_code": "E08000027",
"local_authority_name": "Dudley",
"lower_super_output_area": "Dudley 036B",
"primary_care_trust_code": "obsolete",
"primary_care_trust_name": "obsolete",
"middle_super_output_area": "Dudley 036",
":@computed_region_6i9a_26nj": null,
":@computed_region_hxwp_gyfc": null,
"european_electoral_region_code": "obsolete",
"european_electoral_region_name": "obsolete",
"output_area_classification_code": "6B1",
"output_area_classification_name": "Suburbanites;Semi-detached suburbia;Multi-ethnic suburbia",
"parliamentary_constituency_code": "E14001261",
"parliamentary_constituency_name": "Halesowen"
}Live sample captured at profiling time — values may have changed upstream.
Verification Status
Using the API
Configuration
- Base URL
- https://opendata.camden.gov.uk
- Format
- rest
Query examples
curl -sL 'https://opendata.camden.gov.uk/api/v3/views/tr8t-gqz7/query.geojson?accessType=DOWNLOAD' -o data.geojsonFull geojson file download — the schema shown was inferred from the file's first records.