🆕Postcode Unit Area
This page details upcoming data that will be provided for the Postcode Unit Area Feature Type in the OS NGD from the end of March 2026 to give you early insight. Data schema version 1.0 for this feature type is currently not available through the live access services. The information on this page is as accurate as possible, but is subject to change before launch.
The Postcode Unit Area Feature Type is an area representation of the notional extents of areas containing addresses which share a common postcode unit. Notional extents are designed to enable users to display and analyse any data collected at the postcode unit level. These have been refined to avoid property extents and to follow the path of linear features such as roads, rivers and railways where possible. Polygons within this feature type are derived from georeferenced Royal Mail Postal Address File (PAF) delivery addresses.

Temporal filtering
The earliest date on which you can request a one-off snapshot of a date in the past for data in this feature type is 26 March 2026; any data temporally filtered earlier than the specified earliest date noted for the data schema version may contain data inconsistencies.
What is temporal filtering?
Temporal filtering allows you to order a one-off snapshot of data from the OS NGD from a current or past date. It is an optional step when you create a new data package in OS Select+Build (the OS NGD download service). More information about temporal filtering on OS NGD feature types is available from the Getting started with temporal filtering guide.
Collection update date and temporal filtering
Please note, postcodes data is updated on the seventeenth or next working day of each month. If you have a daily recipe, then you'll receive blank files for all other days. If you have monthly recipe, then this will be delivered to you on the first of the following month.
Feature type attributes
The following sub-sections provide details about the attributes included with this feature type, their data types in the different output formats, and other important metadata about them.
Loading OS NGD CSV files into databases
Comma-separated values (CSV) file format is universally supported for easy ingestion into all major database products. Before loading OS NGD data contained in CSV files into a database, it is necessary to create relevant tables. Data definition language (DDL) statements for PostgreSQL, SQL Server and Oracle can be accessed in our OS NGD Resources GitHub repository.
For instructions on loading CSV files, see the Getting Started with CSV guide.
postcode
This is the identifier assigned by Royal Mail for the purposes of mail delivery. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code, which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code, which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. For more information about the postcode, please consult chapter one 'Structure of a PAF address' of the Royal Mail Programmer's Guide.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 8
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: No
Data Schema Version: 1.0
featureid
A non-persistent identifier for uniquely identifying each part of a postcode geometry. The notional extents of Postcode Unit Area features are regenerated monthly, at which point they will get a new Feature ID.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 36
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: No
Data Schema Version: 1.0
versiondate
Date when the version was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
versionavailablefromdate
The date this version of the feature became the latest version.
Data Types: String (GeoJSON), DateTime (GPKG), DateTime (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
versionavailabletodate
The date this version of the feature was superseded by an update or ceased to exist.
Data Types: String (GeoJSON), DateTime (GPKG), DateTime (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
changetype
The type of change that generated a new version of the feature.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: changetypevalue
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
geometry
Geometry for the feature.
Data Types: Geometry (GeoJSON), Geometry (GPKG), WKT (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
Geometry Type: Polygon
geometryid
A non-persistent identifier for identifying where postcode part geometries are coincidental.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 36
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
theme
The OS NGD theme to which the feature belongs.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: themevalue
Max Length: 40
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
description
A single descriptive value intended for a quick understanding of what the feature represents.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: postcodeunitareadescriptionvalue
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodenospace
Full postcode with the whitespace removed between the postcode district and postcode sector.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 7
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodearea
The postcode area is identified by one or two alpha characters at the start of the postcode, the letters being derived from a town, city or district falling within the postcode area. There are, at present, 124 postcode areas in Great Britain, for example, FK for Falkirk, CF for Cardiff and SO for Southampton. For more information about the postcode area, please consult chapter one 'Structure of a PAF address' of the Royal Mail Programmer's Guide.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 2
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.0
postcodedistrict
The postcode district is identified by one or two alphanumeric characters following the postcode area, for example, FK1 for Falkirk, CF10 for Cardiff and SO16 for Southampton. For more information about the postcode district, please consult chapter one 'Structure of a PAF address' of the Royal Mail Programmer's Guide.
Note
There are certain non-geographic districts. In these instances, a district code is allocated to cover all large users in the postcode area. For more information about the postcode, please consult chapter one 'Structure of a PAF address' of the Royal Mail Programmer's Guide.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 4
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.0
postcodesector
The postcode sector is a sub-area of a postcode district. It's identified by one numeric character following the postcode district (with a space included), for example, FK1 1 for Falkirk, CF10 1 for Cardiff and SO16 1 for Southampton. For more information about the postcode sector, please consult chapter one 'Structure of a PAF address' of the Royal Mail Programmer's Guide.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 6
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.0
postcodetype
Describes the postcode as a small or large user as defined by Royal Mail. For more information about the postcode type, please consult chapter one 'Structure of a PAF address' of the Royal Mail Programmer's Guide.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: postcodetypevalue
Max Length: 10
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodepartcount_total
Count of postcode unit area parts that share the same postcode.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodepartcount_coincidentalgeometry
Count of postcode unit area parts which are geometrically coincidental.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodepartdeliverypointcount_total
Count of Royal Mail Postcode Address File (PAF) delivery points within each postcode unit area part.
These counts do not include PO boxes, British Forces PO boxes, addresses which are not matched to a local authority address or addresses which are matched to a street.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodepartdeliverypointcount_residential
Count of Royal Mail Postcode Address File (PAF) delivery points within the postcode unit part which do not have an Organisation Name populated.
These counts do not include PO boxes, British Forces PO boxes, addresses which are not matched to a local authority address or addresses which are matched to a street.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodepartdeliverypointcount_commercial
Count of Royal Mail Postcode Address File (PAF) delivery points within the postcode unit part which have an Organisation Name populated.
These counts do not include PO boxes, British Forces PO boxes, addresses which are not matched to a local authority address or addresses which are matched to a street.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodedeliverypointcount_total
Count of Royal Mail Postcode Address File (PAF) delivery points which are allocated to the postcode.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodedeliverypointcount_matched
Count of Royal Mail Postcode Address File (PAF) delivery points which are allocated to the postcode and are matched to local authority addresses.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
postcodedeliverypointcount_unmatched
Count of Royal Mail Postcode Address File (PAF) delivery points which are allocated to the postcode and are not matched to local authority addresses.
Data Types: Integer (GeoJSON), Integer (GPKG), Integer (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.0
Last updated
Was this helpful?