# AddressBase Core

An address from Ordnance Survey's AddressBase Core, a flat cut of the approved addresses in Great Britain. Each record is one UPRN drawn from the local authority gazetteers: the National Land and Property Gazetteer for England and Wales, the One Scotland Address Gazetteer for Scotland. It carries the Royal Mail delivery point where one has been matched, property level coordinates, a classification (`classification_code`), the key identifiers (`uprn`, `parent_uprn`, `udprn`, `usrn`, `toid`), the contributing authority (`gss_code`), coordinate quality (`rpc`) and the change the latest supply applied (`change_code`). Ordnance Survey publishes around 35 million records and refreshes them weekly.

How it differs from the neighbouring datasets:

* **AddressBase Premium** (`abp`) is the full gazetteer: around 40 million UPRNs including historic and provisional records, the local authority address breakdown (`pao_*`, `sao_*`), lifecycle (`logical_status`, `blpu_state`), Welsh alternatives, the street record and cross references to the Valuation Office Agency and ONS, refreshed every six weeks. AddressBase Core carries none of these. Use it when one approved address per UPRN, with coordinates and a classification, is enough.
* **Royal Mail PAF** (`paf`) lists delivery points only, keyed by UDPRN. AddressBase Core keys on UPRN and also holds non-postal objects (substations, car parks, land parcels, parent shells) with no delivery point. On those records `udprn` is `0` and `delivery_point_suffix` is empty. Where a record matches PAF, `ab` renders the same `line_1` to `line_3` as `paf` for that UDPRN, bar a handful of records with a trailing range in the building name, which AddressBase Core keeps whole.
* The Ordnance Survey end of life notice for autumn 2027 covers AddressBase and AddressBase Plus, not AddressBase Core.

## Example Record

| Field                                                                            | Example                                              | Type     |
| -------------------------------------------------------------------------------- | ---------------------------------------------------- | -------- |
| [`id`](#id)                                                                      | ab\_10070014461                                      | `string` |
| [ISO Country Code (3) `country_iso`](#iso-country-code-3)                        | GBR                                                  | `string` |
| [Dataset `dataset`](#dataset)                                                    | ab                                                   | `string` |
| [`language`](#language)                                                          | en                                                   | `string` |
| [Line 1 `line_1`](#line-1)                                                       | Flat 27                                              | `string` |
| [Line 2 `line_2`](#line-2)                                                       | Henry House                                          | `string` |
| [Line 3 `line_3`](#line-3)                                                       | Ringers Road                                         | `string` |
| [Premise `premise`](#premise)                                                    | Flat 27, Henry House                                 | `string` |
| [UPRN `uprn`](#uprn)                                                             | 10070014461                                          | `string` |
| [UDPRN `udprn`](#udprn)                                                          | `53705246`                                           | `number` |
| [PARENT\_UPRN `parent_uprn`](#parent-uprn)                                       | 10070014435                                          | `string` |
| [USRN `usrn`](#usrn)                                                             | `20301384`                                           | `number` |
| [TOID `toid`](#toid)                                                             | osgb5000005186746874                                 | `string` |
| [Classification Code `classification_code`](#classification-code)                | RD                                                   | `string` |
| [Easting `eastings`](#easting)                                                   | `540291`                                             | `number` |
| [Northing `northings`](#northing)                                                | `168873`                                             | `number` |
| [Latitude `latitude`](#latitude)                                                 | `51.4015451`                                         | `number` |
| [Longitude `longitude`](#longitude)                                              | `0.0154405`                                          | `number` |
| [Single Line Address `single_address_line`](#single-line-address)                | Flat 27, Henry House, Ringers Road, Bromley, BR1 1AA | `string` |
| [Street Name `street_name`](#street-name)                                        | Ringers Road                                         | `string` |
| [Locality `locality`](#locality)                                                 | Empty in this example                                | `string` |
| [Town Name `town_name`](#town-name)                                              | Bromley                                              | `string` |
| [Delivery Point Suffix `delivery_point_suffix`](#delivery-point-suffix)          | 2H                                                   | `string` |
| [Post Town `post_town`](#post-town)                                              | Bromley                                              | `string` |
| [Governmental Statistical Service `gss_code`](#governmental-statistical-service) | E09000006                                            | `string` |
| [Representative Point Code `rpc`](#representative-point-code)                    | `2`                                                  | `number` |
| [Last Update Date `last_update_date`](#last-update-date)                         | 2020-01-06T00:00:00.000Z                             | `string` |
| [Island `island`](#island)                                                       | Empty in this example                                | `string` |
| [Change Code `change_code`](#change-code)                                        | I                                                    | `string` |
| [Building Name `building_name`](#building-name)                                  | Henry House                                          | `string` |
| [Building Number `building_number`](#building-number)                            | Empty in this example                                | `string` |
| [Sub-building `sub_building`](#sub-building)                                     | Flat 27                                              | `string` |
| [Postcode `postcode`](#postcode)                                                 | BR1 1AA                                              | `string` |
| [PO Box `po_box`](#po-box)                                                       | Empty in this example                                | `string` |
| [Organisation `organisation`](#organisation)                                     | Empty in this example                                | `string` |
| [Country `country`](#country)                                                    | England                                              | `string` |
| [County `county`](#county)                                                       | Kent                                                 | `string` |
| [District `district`](#district)                                                 | Bromley                                              | `string` |
| [Ward `ward`](#ward)                                                             | Bromley Town                                         | `string` |
| [Traditional County `traditional_county`](#traditional-county)                   | Kent                                                 | `string` |
| [Administrative County `administrative_county`](#administrative-county)          | Empty in this example                                | `string` |
| [Postal County `postal_county`](#postal-county)                                  | Kent                                                 | `string` |

```json
{
  "id": "ab_10070014461",
  "country_iso": "GBR",
  "dataset": "ab",
  "language": "en",
  "line_1": "Flat 27",
  "line_2": "Henry House",
  "line_3": "Ringers Road",
  "premise": "Flat 27, Henry House",
  "uprn": "10070014461",
  "udprn": 53705246,
  "parent_uprn": "10070014435",
  "usrn": 20301384,
  "toid": "osgb5000005186746874",
  "classification_code": "RD",
  "eastings": 540291,
  "northings": 168873,
  "latitude": 51.4015451,
  "longitude": 0.0154405,
  "single_address_line": "Flat 27, Henry House, Ringers Road, Bromley, BR1 1AA",
  "street_name": "Ringers Road",
  "locality": "",
  "town_name": "Bromley",
  "delivery_point_suffix": "2H",
  "post_town": "Bromley",
  "gss_code": "E09000006",
  "rpc": 2,
  "last_update_date": "2020-01-06T00:00:00.000Z",
  "island": "",
  "change_code": "I",
  "building_name": "Henry House",
  "building_number": "",
  "sub_building": "Flat 27",
  "postcode": "BR1 1AA",
  "po_box": "",
  "organisation": "",
  "country": "England",
  "county": "Kent",
  "district": "Bromley",
  "ward": "Bromley Town",
  "traditional_county": "Kent",
  "administrative_county": "",
  "postal_county": "Kent"
}
```

Every field is documented below.

## Essential Elements

* `id` string

  ID

  Global unique internally generated identifier for an address

  Example: `ab_10070014461`

* `dataset` string

  Dataset

  Indicates the provenance of an address

  Example: `ab`

  Enum: "ab"

* `language` string

  Language

  Language represented by 2 letter ISO Code (639-1)

  Example: `en`

  Enum: 64 possible values

* `line_1` string

  Address Line 1

  First address line. Often contains premise and thoroughfare information. For a commercial premise the first line is the full name of the registered organisation. Never empty.

  Example: `Flat 27`

* `line_2` string

  Address Line 2

  Second address line. Often contains thoroughfare and locality information. May be empty.

  Example: `Henry House`

* `line_3` string

  Address Line 3

  Third address line. Takes the address elements left after `line_1` and `line_2` are filled; where the address needs more than three lines the remaining elements are joined into `line_3`, comma separated. May be empty.

  Example: `Ringers Road`

* `premise` string

  Premise

  A pre-computed string which sensibly combines building\_number, building\_name and sub\_building\_name. Those three fields hold raw dataset values and can be difficult to parse if you are unaware of how they work together, so we also provide this single, simple premise string. Ideal if you want to pull premise information and thoroughfare information separately instead of using our address lines data.

  Example: `Flat 27, Henry House`

* `uprn` string

  UPRN

  Unique Property Reference Number (UPRN) assigned by the LLPG Custodian or Ordnance Survey.

  Example: `10070014461`

* `udprn` number

  UDPRN

  Royal Mail's Unique Delivery Point Reference Number (UDPRN).

  Example: `53705246`

* `parent_uprn` string

  PARENT\_UPRN

  UPRN of the parent Record if a parent-child relationship exists.

  Example: `10070014435`

* `usrn` number

  USRN

  Unique Street Reference Number assigned by the Street Name and Numbering Custodian OR Ordnance Survey depending on the address record.

  Example: `20301384`

* `toid` string

  TOID

  The Topographic Identifier taken from OS MasterMap Topography Layer. This TOID is assigned to the UPRN by performing a spatial intersection between the two identifiers. It consists of the letters 'osgb' and is followed by up to sixteen digits.

  Example: `osgb5000005186746874`

* `classification_code` string

  Classification Code

  A code that describes the classification of the address record to a maximum of a secondary level.

  Example: `RD`

* `eastings` number

  Easting

  A value in metres defining the x location in accordance with the British National Grid.

  Example: `540291`

* `northings` number

  Northing

  A value in metres defining the y location in accordance with the British National Grid.

  Example: `168873`

* `latitude` number

  Latitude

  A value in metres defining the y location in accordance with the British National Grid.

  Example: `51.4015451`

* `longitude` number

  Longitude

  A value defining the Longitude location in accordance with the ETRS89 coordinate reference system.

  Example: `0.0154405`

* `single_address_line` string

  Single Line Address

  A single attribute containing text concatenation of the address elements separated by a comma.

  Example: `Flat 27, Henry House, Ringers Road, Bromley, BR1 1AA`

* `street_name` string

  Street Name

  Street / Road name for the address record.

  Example: `Ringers Road`

* `locality` string

  Locality

  A locality defines an area or geographical identifier within a town, village, or hamlet. Locality represents the lower level geographical area. The locality field should be used in conjunction with the town name and street description fields to uniquely identify geographic area where there may be more than one within an administrative area.

  Example: Empty in this example

* `town_name` string

  Town Name

  Geographical town name assigned by the Local Authority. Please note this can be different from the Post Town value assigned by Royal Mail.

  Example: `Bromley`

* `delivery_point_suffix` string

  Delivery Point Suffix

  A two-character code uniquely identifying an individual delivery point within a postcode, assigned by Royal Mail.

  Example: `2H`

* `post_town` string

  Post Town

  The town or city in which the Royal Mail sorting office is located which services this address record.

  Condition: POST\_TOWN is not populated if this is the same as TOWN\_NAME.

  Example: `Bromley`

* `gss_code` string

  Governmental Statistical Service

  The Office for National Statistics Governmental Statistical Service (GSS) code representing the contributing Local Authority.

  Example: `E09000006`

* `rpc` number

  Representative Point Code

  Representative Point Code describes the accuracy of the coordinate that has been allocated to the UPRN as indicated by the Local Authority and enhanced using large scale OS data.

  Example: `2`

* `last_update_date` string

  Last Update Date

  The latest date on which any of the attributes on this record were last changed.

  Format: `date`

  Example: `2020-01-06T00:00:00.000Z`

* `island` string

  Island

  Third level of geographic area name to record island names where appropriate.

  Example: Empty in this example

* `change_code` string

  Change Code

  This enumeration is used in association with the attribute “CHANGE\_CODE”. This enumeration identifies the type of change that has been made to a feature. The change type must be set when a feature is inserted, updated, or deleted. Please see section 3 for more information. Example I = Insert, U = Update, D = Delete

  Example: `I`

  Enum: "I", "U", "D"

* `building_name` string

  Building Name

  The building name is a description applied to a single address or a group of addresses.

  Example: `Henry House`

* `building_number` string

  Building Number

  The building number is a number or range of numbers given to a single address or a group of addresses.

  Example: Empty in this example

* `sub_building` string

  Sub-building

  The sub-building name and/or number for the address record.

  Example: `Flat 27`

* `postcode` string

  Postcode

  A postcode assigned by Royal Mail for the address record.

  Example: `BR1 1AA`

* `po_box` string

  PO Box

  Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or 'BFPO' and the British Forces Post Office number.

  Example: Empty in this example

* `organisation` string

  Organisation

  The organisation name is the business name given, when appropriate, to an address record.

  Example: Empty in this example

* `country` string

  Country

  Example: `England`

* `country_iso` string

  Country ISO

  Example: `GBR`

* `county` string

  County

  Whatever county data is available for the address. Normally the postal county. If that is not present it falls back to the administrative county, then to the traditional county. May be empty where none of the three is present.

  Example: `Kent`

* `district` string

  District

  A district is a type of administrative division that is managed by the local authorities.

  Example: `Bromley`

* `ward` string

  Ward

  The current administrative/electoral area to which the postcode has been assigned. May be empty for a small number of addresses.

  Example: `Bromley Town`

* `traditional_county` string

  Traditional County

  Traditional counties are provided by the Association of British Counties. It is historical data, and can date from the 1800s. May be empty.

  Example: `Kent`

* `postal_county` string

  Postal County

  Postal counties were used for the distribution of mail before the Postcode system was introduced in the 1970s. The Former Postal County was the Administrative County at the time. This data rarely changes. May be empty.

  Example: `Kent`
