Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 482 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

osngd

Loading...

INTRODUCTION TO OS NGD

Loading...

Loading...

Loading...

Loading...

GETTING STARTED

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

OS NGD NEWS

Loading...

Loading...

Loading...

Loading...

Loading...

Data and Service Status

Loading...

Loading...

Loading...

Loading...

DATA STRUCTURE

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Getting Started Information

This section includes getting started guides to help you access, use and style OS NGD data. You'll also find FAQs, in-depth information on OS NGD design, and webinars, tutorials and case studies.


OS NGD Fundamentals

OS NGD Fundamentals covers the core elements of OS NGD design, including data formats, coordinate reference systems used, data schema versioning, and data ordering and currency.

Introduction

The following pages provide an overview of the OS National Geographic Database (OS NGD); they cover the core elements of its design, including data formats, the coordinate reference systems used, and how Change-Only Updates (COUs) will be provided, amongst other topics:

  • Terminology and access

These pages should be used in conjunction with the more detailed pages available within the which are specifically focussed on the different OS NGD themes, collections and feature types.


OS NGD Explained

This page explains what the OS NGD is, how to access it and who can use it. Additional resources are provided with links to deeper technical content.

What is the OS NGD?

The OS National Geographic Database (OS NGD) is a structured database containing authoritative geospatial data for Great Britain. It provides the most current, comprehensive and richly attributed data describing Great Britain ever produced by OS in non-proprietary data formats that are easily integrated into a wide array of customer systems and workflows.

How do I access the OS NGD?

There are two access methods for OS NGD data:

  • (the download service)

Who can use the OS NGD?


Discover OS NGD

Detailed documentation on OS NGD design and practical guides on how to apply OS NGD data:

Terminology and access

OS NGD data is different from our other products because you access it from a single source where you'll find the data you need without having to download unnecessary datasets. It also has a simple data structure, designed to help you quickly answer questions and develop more intelligent solutions.

OS NGD terminology: themes, collections and feature types

OS NGD Key Benefits to Customers

This page lists the key benefits of the OS NGD to customers.

The key benefits of the OS National Geographic Database (OS NGD) to customers are as follows:

  • Increased data update frequency: With the new OS NGD APIs and OS Select+Build you can access themes of data which are updated up to daily.

  • Choose exactly what data you take: For the first time, you can select and build your own data package/s rather than taking pre-selected OS products. For example, if you're only interested in buildings data, then you just select the OS NGD Buildings Theme. There's no need to take a larger product and spend time filtering out the buildings data from it. You can also select data from different OS NGD collections to build your own bespoke data package/s.

Introduction to OS NGD

This section explains what the OS NGD is and who can access it, outlines the key benefits to customers, and details how to download sample data or visualise it online.


OS NGD Documentation

Welcome to OS NGD documentation! Here you can learn how to get started using OS NGD data via OS Select+Build and the OS NGD APIs.

What's the OS NGD?

What's available on this site?

Theme

A theme is a macro grouping of features which all represent similar geographic entities. Themes are the highest level of grouping within the OS NGD, and examples include ‘Buildings’ and ‘Transport’.

Themes allow for quick discovery and navigation when using OS Select+Build (the OS NGD download service) or the OS NGD APIs. They also give you the ability to quickly access all OS data relating to your particular theme of interest.

The nine OS NGD themes are: Address, Administrative and Statistical Units, Buildings, Geographical Names, Land, Land Use, Structures, Transport, and Water.

The nine OS NGD data themes.

Collection

A collection is a sub-grouping of the OS NGD themes. Collections group together similar types of data within a theme. Examples include ensuring network and routing data is separated from topographic features. For example, in the OS NGD Water Theme, there are two collections: OS NGD Water Features (topographic data) and OS NGD Water Network (network data).

This makes it easier for you to access only the data you require.

Feature type

A feature type is the most granular level of grouping within the OS NGD. Feature types have their own data model and specifications which are not commonly shared with other feature types.

When you order data through OS Select+Build (the OS NGD download service), the data you receive will be provided at a feature type level.

Who can access the OS NGD?

How do you access the OS NGD?

OS NGD access methods.

The OS NGD is available via the OS Data Hub on either the Premium Plan or Public Sector Plan. There are three access methods to choose from once you are on the OS Data Hub:

  • OS Select+Build: A download service which enables you to choose only the data you require and select how you want to receive your data.

  • OS NGD API – Features: An OGC API – Features service.

  • OS NGD API – Tiles: A vector tiles service based on OGC API – Tiles.

Infographic showing OS NGD terminology: themes, collections, feature types and features.
OS NGD terminology: themes, collections, feature types and features.
  • New, easier ways to access data: The download service of OS Select+Build lets you access only the data you need in the format you want. OS NGD API – Features and OS NGD API – Tiles give you online access to the OS NGD to help you quickly request data using the latest OGC API – Features and OGC API – Tiles standards, respectively.

  • Customer-friendly data formats: OS NGD data is available in four easy-to-use data formats: GeoPackage, CSV (comma-separated values), GeoJSON (via OS NGD API – Features only) and vector tiles (via OS NGD API – Tiles only).

  • More discoverable data: Improved data structures and metadata within the OS NGD, new and bespoke documentation within OS Select+Build, and a brand new online Documentation Platform mean you'll find the right data and support you need quicker than ever before.

  • Built with the future in mind: The OS NGD is much more flexible, allowing for changes to the data structure and enhancements to be made when needed to meet evolving customer needs.

  • Rich attribution: OS NGD data has been enriched with attribution to ensure that it's straightforward to navigate and query. Attribute names have also been simplified to make them easier to understand.

  • Included in the Public Sector Geospatial Agreement (PSGA): Therefore, OS NGD data is free at point of use for Public Sector organisations. It's also available to OS Partners for commercial resell in your solutions.

  • The launch of the OS NGD does not instigate withdrawal of any of the existing OS Premium or OS OpenData Products, including APIs. These products will continue to be managed through their product lifecycle, including withdrawal, separately to the OS NGD. The OS NGD gives new and enhanced ways for customers to access the most trusted and up-to-date geographic information from OS.


    Discover OS NGD

    Detailed documentation on OS NGD design and practical guides on how to apply OS NGD data:

    The eight key benefits of OS NGD to customers - these benefits are described in detail in the text on this page.
    The key benefits of OS NGD to customers.
    This self-serve site is where you will find documentation to help you get started using OS NGD data via the download service of OS Select+Build and the two OS NGD APIs. Using the left-hand-side navigation menu, you can select and view pages and sections of interest, including:

    🖥️ How do I access it?

    There are two access methods for OS NGD data:

    • (the download service)

    👥 Who can use it?

    The OS NGD is available to OS Partners and to public sector organisations who are members of the .

    📖 OS NGD Fundamentals

    OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

    📥 Downloading with OS Select+Build

    Discover how to download OS NGD data using our bespoke download service, OS Select+Build.

    📌 Accessing OS NGD APIs

    Learn how to access and use OS NGD API – Features and OS NGD API – Tiles.

    🎨 Styling OS NGD Data

    Resources for styling OS NGD data.

    👩‍🏫 OS NGD Webinars, Tutorials and Case Studies

    Learn more about the OS NGD through our webinars and tutorials. Case studies demonstrate how customers across numerous sectors are already using and benefiting from OS NGD data.

    ❓ FAQs

    Frequently asked questions on OS NGD data and access methods (OS Select+Build and OS NGD APIs).

    File formats and naming
    Data ordering and currency
    COU supplies
    Data schema versioning
    Unique identifiers
    Coordinate reference systems
    Attribute information for feature types
    Data Structure section
    OS Select+Build
    OS NGD APIs

    ✨ OS NGD Key Benefits to Customers

    A list of the key benefits of OS NGD to customers.

    ▶️ Getting started

    Our getting started guides will help you access, use and style OS NGD data.

    You'll also find in-depth information on OS NGD design, tutorials, webinars, and case studies.

    📖 OS NGD Fundamentals

    OS NGD Fundamentals covers the core elements of OS NGD design, including data formats, ordering and currency, and coordinate reference systems amongst other topics.

    👨‍🏫 OS NGD Explained

    This page details what the OS NGD is, how to access it and who can use it.

    ✨ OS NGD Key Benefits to Customers

    This page lists the key benefits of the OS NGD to customers.

    🗺️ OS NGD Sample Data

    Download sample data for OS NGD collections in GeoPackage or CSV formats. Sample data always use the latest data schema version available for each collection.

    🔎 OS NGD Data Viewer

    The OS NGD Data Viewer lets you visualise product sample data online for three areas (Exeter, Newport and Inverness). Sample data for most OS NGD feature types are available through the tool. The sample data always use the latest data schema version available for each feature type.

    Landing page

    Collection

    Schema

    Queryables

    Features

    Feature

    Landing page

    Conformance

    Collections

    Collection

    Tile matrix sets

    Styles

    GIS software

    Accessing OS NGD data with OS NGD API – Tiles via GIS software

    The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Tiles in various GIS software packages:

    • Cadcorp SIS

    COU supplies

    Change-Only Updates (COUs) are only available for CSV data supplies of the OS NGD. The benefit of taking COU supplies is that you only receive the features which have changed since your last supply, reducing the overall size of the files you receive.

    There are some restrictions on when you can choose to take COUs; these restrictions are dependent on the selections you make when ordering OS NGD data. Please see the for more information.

    Upon OS NGD launch, if you choose to receive a COU supply for your CSV data, this can be provided on either a daily or monthly frequency. In both cases, your COU file will contain any changes which have been made to the underlying data within the selected time frequency. If no changes have been made to a selected feature type of your choice, then you will receive a blank COU file.

    The key attribution required to use and implement a COU is detailed below:

    • Unique Identifier: The unique identifier for the feature type you are using is how you will ensure you are updating the correct records in your data holdings. In most instances the unique identifier will be the OSID, but this is not always true, therefore please check the appropriate feature type pages in our documentation.

    Cadcorp SIS

    Accessing GeoPackage data via CadCorp

    Requirements

    • CadCorp SIS (version SIS 9 or later)

    • A GeoPackage dataset

    MapInfo Professional

    Accessing GeoPackage data via MapInfo Professional

    Requirements

    • MapInfo Professional (version 15.2 or later)

    • A GeoPackage dataset

    QGIS

    Accessing GeoPackage data via QGIS

    Requirements

    • QGIS (version 2.10.1 or later)

    • A GeoPackage dataset

    FME

    Reading GeoPackage data via FME

    FME is a data integration platform which can read the GeoPackage format and be used to convert and transform the data into other formats or databases. The below example shows how to read a GeoPackage into an FME workbench.

    Requirements

    • FME Desktop

    Getting started with CSV

    What is a CSV file?

    A comma-separated values (CSV) file is a common interchange format for spreadsheets and databases which facilitates a simplistic use of data. Each field is either textual or numeric. Within the CSV, each field is separated from the next by a comma. CSV file format is universally supported for easy ingestion into all major database products.

    Please be aware that CSV files are designed to be opened in a database or GI system, and opening them in other software applications could corrupt the data. In particular, Excel has a row limit which might be exceeded by some of our CSV files containing OS NGD data, depending on the order you placed and its size. We recommend that you load CSV files containing OS NGD data directly into a database or GI system, rather than trying to open these files in Excel.

    Accessing OS NGD APIs

    Learn how to access and use OS NGD API – Features and OS NGD API – Tiles.

    The following pages provide an overview of the OS NGD APIs and how you can access them. They cover the core elements of the design (including data available), technical specifications, and how to get started, amongst other topics.

    Collections

    Getting started

    The following pages provide an overview of how to get started using OS NGD API – Features. They provide step-by-step instructions to get started in the most common and .

    These pages should be read in conjunction with the more detailed pages within the and the API's .

    GIS software

    Accessing OS NGD data with OS NGD API – Features via GIS software

    The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Features in various GIS software packages:

    ESRI ArcGIS Online

    Accessing OS NGD data with OS NGD API – Features via ESRI ArcGIS Online

    ArcGIS Online is a web-based platform geographic information system (GIS). ArcGIS Online services are managed by Esri and accessed by a client running on a wide range of options.

    The instructions that follow demonstrate how to connect to OS NGD API – Features using ESRI ArcGIS Online.

    What you need

    • Access to the ESRI ArcGIS Online service.

    Libraries

    Accessing OS NGD data with OS NGD API – Features via web mapping libraries

    The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Features in various web mapping libraries:

    Technical specification

    OS NGD API – Tiles Technical Specification provides an overview of the endpoints available, as well as the parameters that can be used with each endpoint. The Technical Specification is intended to be used by customers who want to integrate with the API. The service offers the following endpoints:

    Getting started

    The following pages provide an overview of how to get started using the OS NGD API – Tiles. They cover the core elements to get started in the most common and .

    These pages should be used in conjunction with the more detailed pages within the and the API's .

    Tiles

    Live Service Disruption and Maintenance

    This page will be updated to note downtime due to planned or emergency maintenance or shutdown periods. Unexpected interruptions to product availability, releases and updates will be displayed here.

    API service status and OS NGD data issues

    Change-Only Update (COU) files are only available for CSV data supplies of the OS NGD.

    If you are using a large Area of Interest (AOI) or a full GB supply of data, for performance reasons we would suggest you load the CSV data into a database rather than trying to open directly in a GI system.

    Key features of OS NGD CSV format

    CSV offers users the following key features:

    • Change-Only Update (COU) files are only supplied in CSV format (they are not supplied in GeoPackage format)

    • Geometry provided as Well-Known Text (WKT)

    • Header rows included in the file

    • There will be one record per line in each file

    • Fields will be separated by commas

    • Where string fields contain commas, they will be delimited by double quotes

    • Double quotes inside strings will be escaped by doubling

    • Records will be terminated by Carriage Returns and Line Feeds

    • CSV files will be Unicode encoded in UTF-8

    Any live interruptions to the availability of OS NGD API – Features and OS NGD API – Tiles will be documented on the Service Availability Dashboard on the OS Data Hub.

  • Please see the Current Known Data Issues page for details about current known data issues.

  • Please see the Resolved Data Issues page for details about resolved data issues.

  • OS NGD live service disruption

    There are no live service disruptions affecting OS NGD at this time.

    OS NGD planned maintenance

    No maintenance events are currently scheduled that will impact the availability of OS NGD.

    QGIS
  • Version Date: This is the date when the feature was last updated in OS product databases.

  • Version Available From Date: This is the date when the feature became the latest version and was published to customers.

  • Version Available To Date: This is the date when the feature was superseded by an update or ceased to exist.

  • Change Type: This is a code list which gives more information about the type of change which has occurred.

  • Please note, a single feature may be updated multiple times in a single COU file. This would happen where a single feature has changes committed in our product databases more than once within your selected COU frequency. Instead of suppressing all changes other than the last edit, your COU will contain all edits we have made to that feature. This is likely to occur more commonly if you choose to take a monthly supply, compared to daily, but it could also occur in a daily COU.

    You can use the OS Downloads API to manage your daily / monthly COU supply of OS NGD data.

    Please be aware that a feature can move between OS NGD feature types and even between OS NGD themes when OS makes data improvements or, in some instances, when a feature undergoes a change. For example, Pre-Build Address features will naturally change to Built Address features over time.

    'Data ordering and currency' page
    GIS software
    web mapping libraries
    Data Structure section
    technical specification

    ESRI ArcGIS Online

  • ESRI ArcGIS Pro

  • QGIS

  • Cadcorp SIS

    MapLibre GL JS

  • OpenLayers

  • Python (Geopandas)

  • Leaflet
    GIS software
    web mapping libraries
    Data Structure section
    technical specification

    Landing page

    OS NGD API – Tiles landing page.

    Conformance

    List the OS NGD API – Tiles conformance to the OGC API - Tiles specification.

    Collections

    Get a list of all the available tile layers available.

    Collection

    Get information about a specific tile layer.

    Tile Matrix Sets

    Get the available tiling schemes and definition.

    Tiles

    Get tilesets and vector tiles from a specific tile layer.

    Styles

    Get a list of the available styles and the stylesheet.

    Unique identifiers

    Primary unique identifier for the OS NGD

    The OS NGD primarily uses a new identifier called the OSID (OS Identifier) to uniquely identify features. The OSID is used persistently and allows the unique identification of records in the OS NGD. It should be noted that the OSID is not unique across the OS NGD but rather is only unique at a feature type level. The reason for this is, when possible, the same OSID will be used on multiple features when they represent the same geographical feature. For example, a point feature in the OS NGD Geographical Names Theme which represents a water body will have the same OSID as the more detailed water body representation in the OS NGD Water Theme.

    Other unique identifiers

    UPRN, USRN and UDPRN

    Other unique identifiers are also present in the OS NGD, including the UPRN (Unique Property Reference Number), USRN (Unique Street Reference Number) and UDPRN (Unique Delivery Point Reference Number); these remain the unique identifiers in our data to represent Local Authority Address, Local Authority Street and Royal Mail delivery point address records, respectively. (A UDPRN is a unique and persistent identifier that Royal Mail assigns to identify a specific delivery point, for example, a mailbox or business unit.)

    TOID

    The Topographic Identifier (TOID) is also present in the OS NGD, but in most instances, this is an optional attribute and therefore should not be relied upon to complete data linking or for implementing COUs (Change-Only Updates). The reason for this identifier being optional is the improved currency on which the OS NGD will be published, meaning the TOID which is created in our existing OS product systems will not always be allocated to features as frequently as they will be accessible via the OS NGD.

    Instructions

    These instructions were created using CadCorp SIS 9 Desktop Express; however all versions of CadCorp SIS 9 or later support GeoPackage.

    1

    In the upper ribbon, select Add Overlay.

    CadCorp SIS Add Overlay button.
    2

    In the Add Overlay dialog box select Files > File

    From here, a file browser dialog box appears where you can map to where the GeoPackage has been stored locally.

    3

    Navigate to the GeoPackage file

    Once the correct GeoPackage has been located, click Finish.

    The data should now appear on the map.

    Instructions

    These instructions were completed using MapInfo Professional version 2019; however, any version from 15.2 onwards can be used.

    1

    Select Open > Table in the top ribbon.

    MapInfo Open Table button.

    A dialog box will appear where you can search for the appropriate GeoPackage.

    2

    Locate the GeoPackage in the file explorer and click Open.

    Another dialog box will appear showing the layers available to be imported.

    3

    Select which layers to import into MapInfo Progessional from the GeoPackage

    Once the layers have been selected, click OK.

    The data should now be available in your workspace.

    Instructions

    These instructions were created using QGIS version 3.22. Other versions of QGIS can be used, from version 2.10.1 onwards.

    1

    Open a new or existing QGIS project.

    2

    Add a layer by selecting Layer > Add Layer > Add Vector Layer from the top ribbon of the workspace.

    The Data Source Manager - Vector dialog box will appear.

    3

    Select the GeoPackage that will be loaded using the three dots button located next to the Vector Dataset(s) box.

    Navigate to the GeoPackage. Double-click the file or select it, then click Add. A separate dialog box will appear.

    4

    Select the layers of the GeoPackage to be added to the map

    It is possible to add selected layers, numerous layers or all layers. Once the relevant layers have been selected, click Add Layers.

    The GeoPackage layers should now be viewable in the layers list on the left-hand side of the workspace.

    An FME license

  • A GeoPackage dataset

  • Instructions

    1

    In the FME top ribbon, click the Add Reader button

    FME Add Reader button.

    A dialog box will appear.

    2

    Select OGC GeoPackage in the Format dropdown and click the three dots button next to the Dataset box to specify which GeoPackage you want to read

    The Coordinate System should also be set appropriately.

    3

    Click Parameters in the Add Reader dialog box

    Another dialog box will appear to specify OGC GeoPackage Parameters.

    Here, specific layers within the GeoPackage can be selected, rather than importing the entire file. Additionally, the Search Envelope can be used to clip the GeoPackage to an extent.

    4

    Select the layers to be added into the workbench

    Click OK when the required themes / layers have been selected.

    An orange reader will appear which will display the name of the GeoPackage table that has been ‘read in’.

    These pages should be used in conjunction with the more detailed pages within the Data Structure section which are specifically focussed on the different OS NGD themes, collections and feature types.

    The APIs are self-documenting and allow you to easily discover what OS NGD data is available before using it. You can explore the various data collections for free to decide what best suits your needs. The data is ready to use in numerous applications (desktop, web, and mobile), enabling you to power your applications with rich, consistent and current information about the real world.

    The OS NGD APIs are available via the OS Data Hub.


    Getting started with an API project
    OS NGD API – Features
    OS NGD API – Tiles

    A preloaded base map, for example, .

  • OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

  • Instructions

    1

    Add a new layer

    Once you've signed into your ESRI ArcGIS Online account and opened the map viewer. Zoom in to a small area to reduce the number of requests that are initially sent to the API.

    • Select Layers > Add > Add layer from URL.

    2

    Add an API and set up custom parameters

    In the Add Layer dialog:

    • URL: Enter the base URL for OS NGD API – Features, excluding the API Key. For example, https://api.os.uk/features/ngd/ofa/v1.

    3

    Adding layers to the map

    In the Add Layer dialog:

    • To add a layer to the map: Select a layer to add to the map and then click Add to map.

    👨‍🏫 OS NGD Explained

    Covering what the OS NGD is, how to access it and who can use it.

    ▶️ Getting started

    Our getting started guides will help you access, use and style OS NGD data.

    You'll also find in-depth information on OS NGD design, tutorials, webinars, and case studies.

    📖 OS NGD Fundamentals

    OS NGD Fundamentals covers the core elements of OS NGD design, including data formats, ordering and currency, and coordinate reference systems amongst other topics.

    Get OS NGD

    Try out OS NGD sample data, download it via OS Select+Build or access it through the OS NGD APIs:

    ✨ OS NGD Key Benefits to Customers

    Find out what the key benefits of the OS NGD are.

    🗺️ OS NGD Sample Data

    Download OS NGD sample data or visualise it online.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

    ⚙️ Data and Service Status

    Find out about OS NGD planned maintenance, any live service disruption, current data issues and resolved data issues.

    📖 OS NGD Fundamentals

    OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

    ▶️ Getting Started

    Our getting started guides will help you access, use and style OS NGD data. You'll also find in-depth information on OS NGD design, and webinars, tutorials and case studies.

    ❓ FAQs

    View frequently asked questions about OS NGD data and access methods (OS Select+Build and OS NGD APIs).

    🗃️ Data Structure

    Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

    📝 Code Lists

    Access all of the code lists for the OS NGD.

    OS Select+Build
    OS NGD APIs
    Public Sector Geospatial Agreement (PSGA)
    Image showing a simple map of Great Britain. The 9 OS NGD data themes names are listed: Address, Administrative and Statistical Units, Buildings, Geographical Names, Land, Land Use, Structures, Transport, and Water.
    Infographic showing the OS NGD access methods as of May 2023. The OS NGD can be accessed via OS Select+Build or two NGD-specific APIs.

    Attribute information for feature types

    On the feature type pages (which are located in the Data Structure section), the following information can be found about each attribute:

    • Name and Definition: The name of the attribute and what it is describing.

    • Data Types: The values the attribute can take. For example, a numeric value or a string. This is provided for all three data formats – GeoJSON, GeoPackage, and CSV.

    • Nullable: A True or False value to denote whether the attribute always has to be populated with a value (False) or can be NULL (True).

    • Code List Name: The name of the code list used in association with the attribute (if applicable) and a hyperlink to the page displaying that code list.

    • Max Length: Values are given here to indicate the maximum length that you will find in the attribute, to aid in developing applications.

    • Multiplicity: Describes how many times this value is expected to be populated in the data. These values may be used in combination.

      • 1: There must be a value.

      • 2: There must be two values.

      • n: There may be one or more values.

    • OS NGD API – Features Filterable: A Yes / No value to denote whether you can refine your query in OS NGD API – Features specifically on this attribute.

    • OS Select+Build Filterable: A Yes / No value to denote whether you can refine your order in OS Select+Build on this attribute.

    • Data Schema Version: The OS NGD schema version the data above applies to. Please note that concurrent schema versions may be available at one time. For more information on how data schema versioning works in the OS NGD, please refer to the .

    ArcMap

    Accessing GeoPackage data via ArcMap

    Requirements

    • ArcMap (version 10.2.2 or later)

    • A GeoPackage dataset

    Certain versions of ArcMap (for example, version 10.8.1) require GeoPackages to have a spatial index added before the data can be viewed on the map. This can be done in the Catalog by opening the Feature Class Properties window within the 'Indexes' page.

    Instructions

    These instructions were created using ArcMap version 10.7, but versions from 10.2.2 onwards will also support GeoPackage features.

    1

    Select the Add Data button from the ribbon at the top of the workspace

    2

    The GeoPackage layers should now be viewable in the layers list in the Table Of Contents on the left-hand side of the workspace.

    OS NGD API – Features

    What is OS NGD API – Features?

    With OS NGD API – Features, you can filter by attribute, location and / or time to create your own customised data selections. Based on the latest OGC API – Features standard, this API can help accelerate your time-to-value by making it easier to build awesome things with our trusted geospatial data. You can use it to reduce your data management overheads, automate your workflows, and innovate at pace.

    Detailed geospatial data

    Provides online access to detailed OS NGD data, including buildings, transport and land.

    New, easier ways to access data

    OS NGD API – Features gives you direct, online access to the OS NGD and schemas using the latest OGC API – Features standard.

    Rich attribution information

    Access detailed geometries and rich attribution through OS NGD API – Features for only the data you need using spatial, attribute and/or time queries

    On-demand access

    Eliminates the need to download, store and maintain large datasets.

    Up-to-date mapping

    Benefit from current, detailed and accurate data to help you generate new location-based insight converting NGD data into meaningful and actionable information.

    • Format: Vector (Lines, Points, Polygons)

    • Data Source: See for further information

    • Coverage: Great Britain

    • Update: See for further information

    Things to remember for OS NGD API – Features

    You can:

    • Request specific features using location, attribute, and / or time queries.

    • Interrogate highly detailed feature information.

    You can't:

    • Create a scalable map of Great Britain across zoom levels.

    • Request more than 100 features in a single transaction.

    If you are interested in addressing information, provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

    Conformance

    Styling OS NGD Data

    Resources for styling OS NGD data.

    OS Select+Build and OS NGD API – Features

    You can choose from a range of contextual or analytical styles to visualise OS NGD data.

    Four cartographic styles – Outdoor, Road, Light, and Black & White – are available to give the data a cartographic appearance:

    Analytical styles can be used to colour OS NGD data by theme and collection to support data visualisation:

    Tutorial on downloading and using OS stylesheets

    A useful is available on our (a self-serve platform that provides a one-stop shop for all your OS technical geospatial support, including tutorials, demonstrators and case studies).

    OS NGD API – Tiles

    If you are using OS NGD API – Tiles, all the styling resources, including JSON files and sprites, are hosted within the .

    You can now create your own custom style for OS NGD API – Tiles; please see the for a guide on how to do this.

    Libraries

    Accessing OS NGD data with OS NGD API – Tiles via web mapping libraries

    The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Tiles in various web mapping libraries:

    • Leaflet

    Getting started with GeoPackage

    What is GeoPackage?

    GeoPackage (.gpkg) is an open, non-proprietary, platform-independent, and standard data format for geographic information systems (GIS), as (OGC). It is designed to be a lightweight format that can contain large amounts of varied and complex data in a single, easy to distribute and ready to use file. GeoPackage is natively supported by numerous software applications.

    ArcGIS Pro

    Accessing GeoPackage data via ArcGIS Pro

    Requirements

    • ArcGIS Pro (version 1.1 or later)

    • A GeoPackage dataset

    Cadcorp SIS

    Accessing OS NGD data with OS NGD API – Features via Cadcorp SIS

    The Cadcorp Spatial Information System® (Cadcorp SIS®) is an integrated family of geospatial products comprising desktop, web, and developer applications.

    Cadcorp SIS Desktop connects directly to the OS Data Hub through dedicated wizards.

    What you need

    • Cadcorp SIS (version SIS 9 or later).

    OS NGD API – Tiles

    What is OS NGD API – Tiles?

    OS NGD API – Tiles offers you a vector tile service powered by the OS NGD. It provides a detailed and customisable basemap that's based on the latest to help you create stunning and interactive web maps. It can be used with most web mapping libraries, including OpenLayers, MapLibre GL JS and Leaflet. The major benefit of vector tiles is that they are optimised for use across the internet and are therefore great for building interactive web maps that allow users to zoom, pan, rotate, tilt and more.

    You have a choice between using Ordnance Survey styles or creating your own. You can customise the content and style to create a professional-looking map that perfectly meets your needs, matches your branding, and pleases your customers.

    OS NGD API – Tiles is available in two projections: British National Grid for Great Britain (GB) data and Web Mercator, a global coordinate system.

    Cadcorp SIS

    Accessing OS NGD data with OS NGD API – Tiles via Cadcorp SIS

    The Cadcorp Spatial Information System® (Cadcorp SIS®) is an integrated family of geospatial products comprising desktop, web, and developer applications.

    Cadcorp SIS Desktop connects directly to the OS Data Hub through dedicated wizards.

    What you need

    • Cadcorp SIS (version SIS 9.1 or later).

    Future OS NGD Data Enhancements

    A high-level summary of upcoming data enhancements for the OS NGD.

    OS NGD delivery roadmap up to Spring 2026

    The OS NGD delivery roadmap can be seen in the following image; the roadmap details what was delivered in the Autumn 2025 data enhancements releases and what is planned for delivery in the upcoming Spring 2026 data enhancements release:

    Recently delivered enhancements to the OS NGD are listed on the .

    Get OS NGD

    Try out OS NGD sample data, download it via OS Select+Build or access it through the OS NGD APIs:

    Get OS NGD

    Try out OS NGD sample data, download it via OS Select+Build or access it through the OS NGD APIs:

    Get OS NGD

    Try out OS NGD sample data, download it via OS Select+Build or access it through the OS NGD APIs:

    Get OS NGD

    Try out OS NGD sample data, download it via OS Select+Build or access it through the OS NGD APIs:

    0: Population is optional.

    Data schema versioning page
    MapLibre GL JS
    OpenLayers
    Screenshot showing the QGIS Add Vector Layer menu.
    QGIS Add Vector Layer menu.
    Screenshot showing the Data Source Manager – Vector dialog in QGIS,
    Data Source Manager – Vector dialog in QGIS.
    Screenshot showing the Select Items to Add dialog in QGIS.
    Select Items to Add dialog in QGIS.
    Future planned data enhancements to the OS NGD

    Administrative and Statistical Units

    • Improved alignment of administrative and electoral boundaries with topographic features, where appropriate

    • Addition of feature types for postcode points and enhanced postcode areas

    Change

    • Improved 'reason for change' metadata to make it easier for customers to identify change that is relevant to their use cases

    Structures

    • Add third-party bridge information

    Transport

    • New attribution for cycle lanes and bus lanes will roll out in September 2025, with full data coverage for Great Britain planned for March 2026 (see the OS NGD Improvements page for more information and an interactive map showing current availability of bus lane and cycle lane data across Great Britain)

    Release dates for the planned OS NGD data enhancements listed above are available from the Product Roadmap page on the OS website.

    What's New? page
    OS NGD delivery roadmap. Enhancements are outlined for Autumn 2025 and Spring 2026.
    OS NGD delivery roadmap up to Spring 2026.
    Screenshot of the CadCorp SIS Add Overlay dialog.
    CadCorp SIS Add Overlay dialog.
    Screenshot of the CadCorp SIS Add Overlay browser dialog.
    CadCorp SIS Add Overlay browser dialog.
    Screenshot of the CadCorp SIS Add Overlay button.
    Screenshot showing the MapInfo Professional Open Table dialog.
    MapInfo Professional Open Table dialog.
    Screenshot showing the MapInfo Professional Select One or More Tables to Open dialog.
    MapInfo Professional Select One or More Tables to Open dialog.
    Screenshot of the top ribbon in MapInfo Professional with a red box around the Open Table button.
    Screenshot showing the FME Add Reader dialog.
    FME Add Reader dialog.
    Screenshot showing the FME OGC GeoPackage Parameters dialog.
    FME OGC GeoPackage Parameters dialog.
    Screenshot showing the FME GeoPackage Select Tables dialog.
    FME GeoPackage Select Tables dialog.
    FME result showing dataset has been read in
    Screenshot of the FME Add Reader button.

    Type: Select OGC feature layer.

  • Select Custom request parameters and enter the following:

    • Parameter: key

    • Value: [Insert your OS API Key here]

  • Click Next.

  • ESRI ArcGIS Pro Add OGC API Server Connection dialog with URL and custom request parameters set.

    ArcGIS Online Add Layers dialog: Select a layer to add field.

    The layer will then display in the Layers panel and the data will display on the map:

    ArcGIS Online UI showing OS NGD API – Features data in the map area.

    Features will automatically refresh when you zoom or pan on the map. If you wish to add multiple layers to the same map, repeat steps 2 and 3.

    ArcGIS Online Layers dialog.
    ArcGIS Online Layers dialog.
    Navigate to the appropriate folder containing the GeoPackage to be uploaded

    The GeoPackage file will look similar to the one in the following screenshot:

    Add Data dialog in ArcMap.
    3

    Double-click on the GeoPackage file to reveal the layers within it.

    Select the layers you want to upload into ArcMap.

    More than one layer can be selected at any time by holding down the Ctrl (control) key and clicking on multiple layers.

    Add the relevant selected GeoPackage layers into the map by clicking the Add button.

    Screenshot of the ArcMap Add Data button.
    ArcMap Add Data button.
    Screenshot of the layer properties dialog in ArcMap.
    Efficient data processing

    Reduce workload by offering direct access to the required data.

    Enhanced decision making

    Provides detailed feature attribution for better and more informed analysis.

  • OS Data Hub plan: Premium Plan, Public Sector Plan

  • Freely discover what OS NGD data collections are available.

  • Explore the OS NGD data schemas and queryables.

  • Request data in GeoJSON format.

  • Visualise OS data and apply your own styling.

  • Access data from the:

    • OS NGD Address Theme

    • OS NGD Administrative and Statistical Units Theme

    • Waterbody Catchment and River Basin District Catchment Feature Types (of the OS NGD Water Features Collection in the OS NGD Water Theme)

    What data is available?
    OS Places API
    Key features and benefits of GeoPackage

    GeoPackage offers users the following key features and benefits:

    • The single file is easy to transfer and offers the end-user a rich experience.

    • Attribute names are not limited in length, making the format user-friendly.

    • The file size limit is very large at 140 TB, so lots of data can be easily accommodated (please note that a file size limit may be imposed by the file system to which the file is written).

    • It supports raster, vector and database formats, making it a highly versatile solution.

    • It is an OGC standard.

    • In most cases, it is a plug and play format.

    • Data will be supplied in British National Grid (ESPG:27700), World Geodetic System (WGS84: EPSG: 4326), or British National Grid + ODN Height (EPSG: 7405), depending on your selection when ordering OS NGD data.

    Accessing GeoPackage data via GIS software

    The following sub-sections provide step-by-step instructions on how to access GeoPackage data via various GIS software packages, all current versions of these support GeoPackages natively.

    • ArcGIS Pro

    • ArcMap

    • CadCorp SIS

    • MapInfo Professional

    Converting / Loading a GeoPackage to other data formats

    It is possible to use Extract, Transform, Load (ETL) tools to convert the data into different formats and to load into databases.

    • FME

    • GDAL

    In the OS NGD GeoPackages, the column ordering is slightly different to those listed on the individual feature types pages, and therefore the OS NGD CSV files.

    The first column is an additional fid attribute, which is an INTEGER NOT NULL column. This acts as a primary key and is a requirement of the OGC GeoPackage specification.

    Additionally, the geometry column will always be the second column; however, the attribute, or its value, isn't usually visible in GIS software.

    The remaining ordering of columns will match the attribute listings on the feature types pages.

    defined by the Open Geospatial Consortium

    Certain versions of ArcPro (for example, version 2.5) require GeoPackages to have a spatial index added before the data can be viewed on the map. This can be done in the Catalog by opening the Feature Class Properties window within the 'Indexes' page.

    Instructions

    These instructions were created using ArcGIS Pro version 2.5, but versions from 1.1 onwards will support GeoPackage.

    1

    Open an existing project or create a new one

    To create a new project, select Map from the Blank Templates section, then enter a Name and a Location for the project in the Create a New Project section. Click OK.

    Screenshot showing how to create a new project in ArcGIS Pro.
    2

    Select Map > Add Data from the ribbon at the top of the project,

    A dialog box will appear.

    3

    Adding a GeoPackage into ArcGIS Pro

    Navigate to the GeoPackage to be added into ArcGIS Pro. Select the GeoPackage and click Open. This will open the GeoPackage to reveal the individual layers.

    4

    Select all of the relevant layers and click OK

    The selected layers will then be added into ArcGIS Pro.

    More than one layer can be selected at any time by holding down the Ctrl (control) key and clicking on multiple layers.

    The layers added into ArcGIS Pro will appear in the contents pane on the left-hand side of the project.

  • A preloaded base map, for example, or .

  • OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

  • Instructions

    These instructions are based on Cadcorp SIS Desktop version 9.1.1668.

    1

    Add overlay

    Once a new map has been set up, in the Home tab, click Add Overlay.

    Cadcorp SIS Desktop UI highlighting Add Overlay button.
    2

    Select API

    In the Overlay Types dialog:

    • Select Ordnance Survey (GB) > OS (GB) Data Hub, and then click Next.

    In the OS (GB) Data Hub dialog:

    • Select OS National Geographic Database (NGD) API – Features.

    • API Key: Enter your API key.

    • Premium/Public Sector Plan: Select this option if you have this plan.

    • Save in the UI settings database (encrypted): Select this option.

    3

    Adding layers to the map

    In the OS Data Hub NGD API – Features Data Themes and Feature Types dialog:

    • Well-known ‘recipe’: Select a predefined recipe, if available.

    Scalable vector tile mapping

    Provides lightweight, high-resolution vector tile base maps in different styles and projections for fast rendering in interactive applications.

    Customisable style options

    Access to pre-defined, professional styling which can be customised to meet your own requirements and map designs.

    Built in data overlays

    Access build in and detailed overlays to add give additional geographic context.

    Faster performance

    Loads maps quicker than traditional raster-mapping services.

    Up-to-date mapping

    OS NGD API – Tiles is updated weekly ensuring you have access to the latest data as quickly as possible.

    • Format: Vector Tiles

    • Data Source: See for further information.

    • Coverage: Great Britain

    • Update: See for further information.

    Things to remember for OS NGD API – Tiles

    You can:

    • Use it as a basemap in GIS, web or mobile applications.

    • View the whole of Great Britain in unrivalled detail.

    • Seamlessly pan, zoom, pitch and tilt the map.

    • Overlay your own data on the basemap to give geographic context to your data.

    • Trace over OS NGD (Premium Data) detailed geometries.

    • Customise the map style and content to create the map you need.

    • Access maps in different projections: British National Grid and Web Mercator.

    You can't:

    • Retrieve all the detailed attribution from OS NGD data.

    • Access data from the:

      • OS NGD Address Theme

      • OS NGD Routing and Asset Management Information (RAMI) Collection (of the OS NGD Transport Theme)

    If you are interested in addressing information, OS Places API provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

    OGC API – Tiles standard
  • OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

  • Instructions

    These instructions are based on Cadcorp SIS Desktop version 9.1.2109.64.

    1

    Add overlay

    Once a new map has been set up, in the Home tab, click Add Overlay.

    Cadcorp SIS Desktop UI highlighting the Add Overlay button.
    2

    Select API

    In the Overlay Types dialog:

    • Select Ordnance Survey (GB) > OS (GB) Data Hub, and then click Next.

    In the OS (GB) Data Hub dialog:

    • Select OS National Geographic Database (NGD) API – Tiles.

    • API Key: Enter your API key.

    • Premium/Public Sector Plan: Select this option if you have this plan.

    • Save in the UI settings database (encrypted): Select this option.

    3

    Adding layers to the map

    • In the OS (GB) Data Hub NGD API - Tiles dialog, select the appropriate layer from the list of available options, and then click Finish.

    tutorial on 'How to download and use OS stylesheets'
    'More Than Maps' site
    vector tiles endpoint
    Creating a custom style for OS NGD API – Tiles page

    🗺️ OS NGD Sample Data

    Try out OS NGD by downloading an area of sample data or visualising it online.

    📥 OS Select+Build

    Download OS NGD data using our bespoke download service, OS Select+Build.

    📌 OS NGD APIs

    Access OS NGD data using the OS NGD APIs to get started using OS NGD within desktop, web and mobile applications.

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    🗺️ OS NGD Sample Data

    Try out OS NGD by downloading an area of sample data or visualising it online.

    📥 OS Select+Build

    Download OS NGD data using our bespoke download service, OS Select+Build.

    📌 OS NGD APIs

    Access OS NGD data using the OS NGD APIs to get started using OS NGD within desktop, web and mobile applications.

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    Discover OS NGD

    Detailed documentation on OS NGD design and practical guides on how to apply OS NGD data:

    🗺️ OS NGD Sample Data

    Try out OS NGD by downloading an area of sample data or visualising it online.

    📥 OS Select+Build

    Download OS NGD data using our bespoke download service, OS Select+Build.

    📌 OS NGD APIs

    Access OS NGD data using the OS NGD APIs to get started using OS NGD within desktop, web and mobile applications.

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    🗺️ OS NGD Sample Data

    Try out OS NGD by downloading an area of sample data or visualising it online.

    📥 OS Select+Build

    Download OS NGD data using our bespoke download service, OS Select+Build.

    📌 OS NGD APIs

    Access OS NGD data using the OS NGD APIs to get started using OS NGD within desktop, web and mobile applications.

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    🗺️ OS NGD Sample Data

    Try out OS NGD by downloading an area of sample data or visualising it online.

    📥 OS Select+Build

    Download OS NGD data using our bespoke download service, OS Select+Build.

    📌 OS NGD APIs

    Access OS NGD data using the OS NGD APIs to get started using OS NGD within desktop, web and mobile applications.

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    Getting started with recipes

    What is a recipe?

    A recipe is a bespoke selection of OS NGD data which is made by a user within OS Select+Build. Recipes allow you to choose the OS NGD data that best fits your requirements.

    OS NGD data is structured by themes, collections, and feature types; the main advantage to this data structure is that you can easily find and select individual feature types across different themes and build your own recipes and data package/s containing only the data you are interested in. There's also the option to select all or only a few feature types from a single theme.

    Every new recipe you create will be stored in your OS Select+Build Recipe Library. This library will be visible to other people in your organisation. It provides a central place for colleagues to view and use recipes.

    Using OS Select+Build recipes

    Things to remember

    You can:

    • Delete a recipe

    • Edit an existing recipe (i.e. add or remove themes / feature types, or change attribute filtering or data schema versions)

    You can't:

    • Download the contents of an OS NGD data package using the grouped file function

    Editing OS Select+Build recipes

    Step-by-step instructions on how to edit OS Select+Build recipes.

    You can edit the content of an existing recipe (i.e. add or remove themes / feature types, or change attribute filtering or data schema versions) and you can edit the name or description of an existing recipe.

    The following sub-sections on this page cover:

    How do I edit the name of my recipe?

    To edit a recipe's name:

    1

    Log into your account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Select the recipe you want to edit

    In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to edit.

    5

    View recipe details

    Click on the name of the recipe to view the recipe details.

    6

    Click the edit icon next to the recipe name

    Click on the pencil icon next to the recipe name.

    7

    Change the name of the recipe

    Enter the required changes to the recipe name in the dialog box.

    8

    Save changes to the recipe

    To save your changes, simply click away from the edit box. The recipe's change log at the bottom of the page will update to reflect the change to the recipe name.

    How do I edit the description of my recipe?

    To edit a recipe's description:

    1

    Log into your account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    How do I edit a recipe?

    You can edit the content of a recipe to add or remove themes and feature types, change attribute filtering or switch between data schema versions. However, you can't edit a recipe if it has data packages linked to it that receive change-only updates (COUs) – please see the warning note below for instructions on how to solve this issue and create a copy of a recipe.

    To edit a recipe that doesn't have data packages linked to it that receive COUs:

    1

    Log into your account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Recipes with data packages linked to them that receive COUs

    You can't edit a recipe if it has data packages linked to it that receive change-only updates (COUs). To get round this issue, you'll need to create a copy of the recipe and then edit that copy.

    Sharing OS Select+Build recipes

    Step-by-step instructions on how to share your OS Select+Build recipes with other organisations.

    You can share a recipe you've created with another organisation (as long as they have access to OS Select+Build on the OS Data Hub). This functionality enables collaboration between organisations.

    The following sub-sections on this page cover:

    How do I share a recipe?

    To share a recipe:

    1

    Log into your account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Find the recipe you want to share

    In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to share.

    5

    Select share recipe with your organisation from the recipe actions dropdown

    In this view, you will be able to see the Recipe actions dropdown (where you can share, edit or delete a recipe).

    • Click the Recipe actions

    6

    Choose the correct organisation from the recipe dialog

    Search for the organisation with whom you wish to share the recipe. To do this, just start to type the organisation's name, then select the correct organisation from the list.

    7

    Add a descriptive message about the recipe

    Add a message for the organisation receiving the recipe to provide them with context around why you are sharing the recipe with them before clicking Send.

    How do I accept a recipe shared with me?

    To accept a shared recipe:

    1

    Log into your account

    Click Login on the OS Data Hub menu bar to log into your account.

    You will see a new notification at the top right of your screen, indicated by a bell button and a number count of any unread notifications.

    2

    How do I reject a recipe shared with me?

    To reject a recipe shared with you:

    1

    Log into your account

    Click Login on the OS Data Hub menu bar to log into your account.

    You will see a new notification at the top right of your screen, indicated by a bell button and a number count of any unread notifications.

    2

    Processing COUs

    Change-Only Update (COU) files are only available for CSV data supplies of the OS NGD. Further information about COU data supplies can be found on the COU supplies page.

    The process to load the COU files will depend on a number of factors based on your own environment and requirements, including:

    • Database software

    • Data loading method or software

    • Feature retention and lifecycle requirements

    When processing COU supplies, it is essential that they are processed in the correct productVersion date order; therefore, in automated processes, we strongly recommend that you build in a test to ensure that the previous supply has been fully processed. For daily COU orders, that will be the previous day’s productVersion date; for monthly COU orders, that will be the preceding first of the month's productVersion date.

    Feature retention options

    There are two main scenarios that represent either extreme of the feature lifecycle options:

    1. Latest feature view

    2. Full feature archive

    Latest feature view

    In this scenario, the COU files are processed and only the current version of every feature is retained. This will result in the same data holdings that would be achieved if a new full supply was received on this date.

    To achieve this, either post-processing will have to be done once all COU data is loaded into a database, or the loading process will need to evaluate the COU data against your existing data and process accordingly. This processing will be based on the supplied attributes which detail the type of change and the dates for that version.

    Change type

    Each feature type is supplied with a Change Type attribute (changetype), which is populated from a code list value (changetypevalue).

    Below is a table of the possible change types and the resultant actions required to maintain a latest feature view of the data for the specific feature type. Individual features should be targeted based on that feature type's unique identifier. In the majority of feature types, this will be the osid, but this is not always the case; therefore, please check the appropriate feature type documentation.

    changetypevalue
    Action

    Version dates

    A single feature may be updated multiple times in a single COU file when multiple changes occur within the selected COU frequency. Instead of suppressing all changes other than the last edit, the COU will contain all of the edits which have been made to that feature.

    To obtain the current 'live' view of a feature, the latest edit is required; all previous edits can be discounted. In essence, this requires the following two processes:

    1. Discarding all feature records with the exception of the latest Version Available From Date (versionavailablefromdate)

    2. Discarding all feature records that have a Version Available To Date (versionavailabletodate) populated, i.e. it is NOT NULL. These records will also have the Change Type Value (changetypevalue) of 'End Of Life' or 'Moved To A Different Feature Type'.

    Full feature archive

    In this scenario, every record is retained, giving a full lifecycle since the supply started of each feature. This will result in multiple records for each feature.

    To enable this in a database, the default primary keys (as defined in the provided DDL scripts) will have to be changed to also include the version available from and to dates (versionavailablefromdate, versionavailabletodate).

    Technical specification

    API Reference

    OS NGD API – Features technical specification provides an overview of the endpoints available, as well as the parameters that can be used with each endpoint. The technical specification is intended to be used by customers who want to integrate with the API. The service offers the following endpoints:

    Use of CQL operators

    The OS NGD API – Features supports a generic filter grammar called Common Query Language (CQL) for specifying enhanced filter criteria to return a subset of features. CQL is written using a familiar text-based syntax, making it more readable and better-suited for creating complex filters.

    The following table documents the supported operators:

    Operator Type
    Supported Operators

    ESRI ArcGIS Pro

    Accessing OS NGD data with OS NGD API – Features via ESRI ArcGIS Pro

    ESRI ArcGIS Pro is a desktop geographic information system (GIS) application that allows users to maintain, visualise and analyse spatial data.

    The instructions that follow demonstrate how to connect to OS NGD API – Features using ESRI ArcGIS Pro.

    What you'll need

    • ESRI ArcGIS Pro (version 3.4.0 or later).

    • A preloaded base map, for example, or .

    • OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

    Instructions

    1

    Set up a connection

    Once a new project with a new map has been set up, select Insert > Connections > Server > New OGC API Server.

    2

    QGIS

    Accessing OS NGD data with OS NGD API – Features via QGIS

    QGIS is an open GIS (Geospatial Information System) desktop application that allows you to display, interrogate, visualise and create geospatial information including from geo-centric APIs (for example, a WFS).

    The instructions that follow demonstrate how to connect to OS NGD API – Features using QGIS.

    What you need

    • QGIS (version 3.12.0 or later).

    • A preloaded basemap, for example, or .

    • OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

    Instructions

    1

    Set up a new connection

    Once a new project with a base map map has been set up, zoom in to a small area to reduce the number of requests that are initially sent to the API. Select Layer > Add Layer > Add WFS / OGC API - Features Layer.

    2

    Creating a custom style for OS NGD API – Tiles

    This ‘how-to’ guide will show you how to create your own style for OS NGD API – Tiles which you can then use in web maps and GIS software.

    To do this, we recommend using the open source visual editor, Maputnik.

    It is important to note that OS NGD API – Tiles only works in EPSG:3857 (Web Mercator) in Maputnik. If you want to create a style for the EPSG:27700 (British National Grid) version of OS NGD API – Tiles, please contact the Geographic Data Visualisation Team at OS ([email protected]) who will advise you further.

    1

    Loading an existing style

    1. Go to and click on Editor from the top menu.

    2. We recommend starting with one of our existing styles as a basis for creating your own style; you can view the available styles from the endpoint. For example, https://api.os.uk/maps/vector/ngd/ota/v1/collections/ngd-base/styles/3857

    3. In Maputnik:

    2

    Loading the vector tiles

    1. Click Data Sources and delete any existing active sources.

    3

    Edit the map

    1. Using the Layers panel on the left, or click on a feature on the map, select the layer you want to alter.

    Data and Service Status Information

    This section contains pages relating to OS NGD live service disruption, planned maintenance, current data issues and resolved data issues.

    What's next?

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    The OS National Geographic Database (OS NGD) is a structured database containing authoritative geospatial data for Great Britain. It provides the most current, comprehensive and richly attributed data describing Great Britain ever produced by OS in non-proprietary data formats that are easily integrated into a wide array of customer systems and workflows.

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    Discover OS NGD

    Detailed documentation on OS NGD design and practical guides on how to apply OS NGD data:

    OS NGD Sample Data

    Download OS NGD sample data or visualise it online.

    There are now two options available for you to interact with OS NGD sample data:

    • You can visualise sample data online through the .

    Downloading with OS Select+Build

    Discover how to download OS NGD data using our bespoke download service, OS Select+Build.

    What is OS Select+Build?

    OS Select+Build is our download service that gives you access to OS NGD data. You can use it to choose the OS NGD data you need (by ) and select how you want to download your data as a data package. OS Select+Build is available via the .

    GDAL

    Using GDAL to load a GeoPackage into a database

    is a translator library for raster and vector geospatial data formats that is released under an X/MIT style Open Source by the . It comes with a variety of useful command line utilities for data translation and processing. The following section covers the loading of GeoPackage datasets into a database using the ETL tool GDAL. The process will be similar for other databases such as Oracle and SQL Server, as well as converting to other data formats.

    Requirements

    Loading CSV files

    Loading OS NGD CSV files into databases

    It is recommended that you have a basic understanding of database terminology before following the guides in the tabs below. The guides contain generic instructions, and it is recognised that there are multiple ways to load CSV files into databases which may be more suitable to your environment and existing processes.

    Prior to loading the data into a database, it is necessary to create the relevant tables in the database. We have supplied the DDL statements that can be accessed in our .

    These instructions are based on version 14, but should work for all supported versions. The instructions assume that you have set-up your database with the spatial extension.

    Once connected to your PostgreSQL database, with the relevant schema and table created, the CSV file can be loaded with the following SQL statement using the :

    Python (Geopandas)

    Accessing OS NGD API – Features via Python (Geopandas)

    This example will provide an introduction on how to use OS NGD API – Features to extract and plot OS NGD data! We’ll be using , a library that builds on Pandas to help manage and analyse spatial data.

    What you'll need

    • OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

    QGIS

    Accessing OS NGD data with OS NGD API – Tiles via QGIS

    QGIS is an open GIS (Geospatial Information System) desktop application that allows you to display, interrogate, visualise and create geospatial information including from geo-centric APIs (for example, a Vector Tiles Service).

    The instructions that follow demonstrate how to connect to OS NGD API – Tiles using QGIS.

    What you'll need

    Comparison

    EQUAL TO [ = ], LESS THAN [ < ], LESS THAN OR EQUAL TO [ <= ], GREATER THAN [ > ], GREATER THAN OR EQUAL TO [ >= ], ISNULL, LIKE, IN, BETWEEN

    Logical

    AND, OR, NOT [ <> ]

    Array

    AEQUALS, ACONTAINS, ACONTAINEDBY, AOVERLAPS

    Spatial

    INTERSECTS

    Landing page

    OS NGD API – Features landing page.

    Conformance

    List the OS NGD API – Features conformance to the OGC API – Features specification.

    Collections

    Get a list of all the available OS NGD feature types.

    Collection

    Get information about a specific OS NGD feature type.

    Schema

    Get the schema for a specific OS NGD feature type.

    Queryables

    Get a list of queryable attributes for a specific OS NGD feature type.

    Features

    Get features in an OS NGD feature type.

    Feature

    Get a specific feature in an OS NGD feature type by its OSID.

    ⚙️ Live Service Disruption and Planned Maintenance

    This page notes planned downtime due to maintenance or shutdown periods. Unexpected interruptions to product availability, releases and updates will also be displayed.

    🔧 Current Known Data Issues

    This page lists known current live data issues for the OS NGD themes, collections and feature types.

    ✅ Resolved Data Issues

    This page lists resolved data issues for the OS NGD themes, collections and feature types.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

    🗃️ Data Structure

    Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

    📝 Code Lists

    Access all of the code lists for the OS NGD.

    📖 OS NGD Fundamentals

    OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

    ▶️ Getting Started

    Our getting started guides will help you access, use and style OS NGD data. You'll also find FAQs, in-depth information on OS NGD design, and webinars, tutorials and case studies.

    🗺️ OS NGD Sample Data

    Download OS NGD sample data or visualise it online.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    🎨 Styling OS NGD Data

    Resources for styling OS NGD data.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    QGIS

    Modified Geometry

    Update the record (see section below)

    Modified Geometry And Attributes

    Update the record (see section below)

    New

    Insert as a new feature

    Moved From A Different Feature Type

    Insert as a new feature

    End Of Life

    Delete existing feature based on unique identifier

    Moved To A Different Feature Type

    Delete existing feature based on unique identifier

    Modified Attributes

    Update the record (see section below)

    changetypevalue

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    🎨 Styling OS NGD Data

    Resources for styling OS NGD data.

    📖 OS NGD Explained

    A high level summary of what the OS NGD is, how to access it and who can use it.

    ❓ FAQs

    Frequently asked questions on OS NGD data and access methods (OS Select+Build and OS NGD APIs).

    👩‍🏫 OS NGD Webinars, Tutorials and Case Studies

    Learn more about the OS NGD through our webinars and tutorials. Case studies demonstrate how customers across numerous sectors are already using and benefiting from OS NGD data.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    🎨 Styling OS NGD Data

    Resources for styling OS NGD data.

    📖 OS NGD Explained

    A high level summary of what the OS NGD is, how to access it and who can use it.

    ❓ FAQs

    Frequently asked questions on OS NGD data and access methods (OS Select+Build and OS NGD APIs).

    👩‍🏫 OS NGD Webinars, Tutorials and Case Studies

    Learn more about the OS NGD through our webinars and tutorials. Case studies demonstrate how customers across numerous sectors are already using and benefiting from OS NGD data.

    Screenshot of the Add Data layer selection dialog in ArcMap.
    Add Data layer selection dialog in ArcMap.
    Screenshot of the Add Data dialog in ArcMap.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    🎨 Styling OS NGD Data

    Resources for styling OS NGD data.

    Short YouTube video explaining what the OS NGD is.
    Add Data layer selection dialog in ArcGIS Pro.
    Screenshot of the Add Data button in ArcGIS Pro.
    Add Data button
    Screenshot of the Add Data dialog in ArcGIS Pro.
    Add Data dialog in ArcGIS Pro.
    Screenshot of the layer properties dialog in ArcPro.
    Screenshot showing how to create a new project in ArcGIS Pro.

    Click Next.

    Data Themes: Select your data themes.

  • Features: If necessary, use the editing tools (on the right) to delete feature types or to change the order in which they display in your SIS Workspace Definition (SWD). By default, all feature types within the selected data themes are available in the right panel.

  • Local cache: Select this option to store the data temporarily on your machine. If you save and reopen the SWD, the data will still be available as it is fetched from your local cache.

  • One-off import: Select this option to do a one-off import of the data. If you save and reopen the SWD, the data will not be available and you will need to re-import it. These imports have a larger file size.

  • Filtering: These settings are used in conjunction and define how much data is required for display. It is recommended that you always set a spatial filter and feature limit.

    • Spatial: The Intersect with current view extent option limits the download to only selected features within the current window extent. You can also load features within a specific area of interest using the polygon feature to draw your area of interest on the map BEFORE opening the Add Overlay dialog.

    • Maximum number of features: Limits the number of feature values downloaded to the number set. This limit is applied per feature within any filtered spatial area.

  • Click Finish.

  • The selected layer(s) will then display in the SIS Workspace Definition (SWD) and the data will display in the map area:

    Cadcorp SIS Desktop UI showing OS NGD API – Features data.
    Cadcorp SIS Desktop OS (GB) Data Hub dialog with the Next button and API Key button highlighted.
    Cadcorp SIS Desktop OS (GB) Data Hub dialog
    Cadcorp SIS Desktop UI highlighting Add Overlay button.
    Beautifully styled basemap, ready to customise

    Customise your maps to perfectly meet your needs. You have a choice between using Ordnance Survey styles or creating your own.

    Interactive mapping

    Control every aspect of your map with the flexibility to create dynamic interaction with the map and individual features.

    OS Data Hub plan: Premium Plan, Public Sector Plan

    What data is available?

    Click Next.

    The selected layer will then display in the SIS Workspace Definition (SWD) and the data will display in the map area:
    CadCorp SIS Desktop UI with a layer rendered in the map area.
    OS (GB) Data Hub dialog
    OS (GB) Data Hub dialog.
    OS (GB) Data Hub NGD API - Tiles dialog.
    OS (GB) Data Hub NGD API - Tiles dialog.
    Cadcorp SIS Desktop UI highlighting Add Overlay button

    Edit the name or description of a recipe

  • Create multiple data packages from a single recipe

  • Delete a data package

  • Search through your organisation's recipes in the OS Select+Build Recipe Library using the recipe name, description, or content (i.e. themes, collections, or feature types)

  • Search through your organisation's data packages in the Data packages list screen using the data package name, data package number, or product name

  • Collect your data package(s) via the OS Data Hub or the OS Downloads API

  • Share a recipe with another organisation that has access to OS Select+Build

  • 📋 Managing recipes

    Create and manage OS Select+Build recipes within your organisation:

    ✏️ Editing recipes

    Edit your OS Select+Build recipes to improve your recipe library:

    📔 Sharing recipes

    Share OS Select+Build recipes with external organisations to improve collaboration:

    ▶️ Getting started with attribute filtering

    Use attribute filtering to narrow down data selection beyond the feature type level, creating bespoke recipes of OS NGD data:

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Select the recipe you want to edit

    In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to edit.

    5

    View recipe details

    Click on the name of the recipe to view the recipe details.

    6

    Click the edit icon next to the recipe name

    Click on the pencil icon next to the recipe name.

    7

    Change the description of the recipe

    Enter the required changes to the recipe description in the dialog box.

    8

    Save changes to the recipe

    To save your changes, simply click away from the edit box. The recipe's change log at the bottom of the page will update to reflect the change to the recipe description.

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Select the recipe you want to edit from the list

    In your organisation's Recipe Library, scroll or search for the recipe you want to edit.

    5

    Edit recipe data

    Click on the recipe you plan to edit to add and remove themes and feature types, or change attribute filtering or data schema versions.

    Screenshot of the OS Select+Build Recipe details screen with the Recipe actions dropdown open, showing where you can share, edit or delete a recipe.
    6

    Save changes to your recipe

    Add a description of the change you have made, then select Save changes.

    To create a copy of a recipe:
    • Log into your OS Data Hub account.

    • Select Data from the main menu.

    • Choose Downloads > OS Select+Build Recipe Library from the secondary navigation menu.

    • From your list of recipes, click on the name of the recipe you wish to edit, then click on the Recipe actions dropdown and select Edit recipe.

    • When the 'Recipe cannot be edited' warning pop up appears, click the Copy recipe button.

    • Choose a suitable name for your copied recipe, then click Create recipe.

    The copied recipe will appear in your OS Select+Build Recipe Library and you can now edit it following the 'How do I edit a recipe?' steps outlined above.

    Editing recipe names

    Editing recipe descriptions

    Editing the content of recipes

    OS Data Hub
    OS Data Hub
    OS Data Hub
    dropdown.
  • Click the Share recipe button.

  • Please note that you can only share recipes created by your organisation.

    Open the notification menu

    Click the bell button. You will see details of a notification explaining You have been sent a shared recipe, which will include the name of the organisation that shared the recipe with you, along with a message if they added one when sharing the recipe.

    3

    View details of the received recipe

    Click View recipe details. The recipe details will be displayed for you to review

    4

    Accept the shared recipe

    Click the Accept recipe button. You will be presented with a dialog box explaining: When you accept a recipe, it is added to your organisation’s recipe library. It will show as 'shared'. You can create data packages from it, but you can’t share the recipe with other organisations.

    If another team member in your organisation declines the invitation to accept a shared recipe before you view it, you may no longer have access to the shared recipe.

    Shared recipes that you have accepted from another organisation can be identified by the presence of the Shared with me tag against them.

    Open the notification menu

    Click the bell button. You will see details of a notification explaining You have been sent a shared recipe, which will include the name of the organisation that shared the recipe with you, along with a message if they added one when sharing the recipe.

    3

    View details of the received recipe

    Click View recipe details. The recipe details will be displayed for you to review

    4

    Decline the shared recipe

    If this recipe is not right for you and you want to reject it, click the Reject button.

    Once a shared recipe is rejected, you will not be able to access it again.

    Sharing recipes

    Accepting a shared recipe

    Rejecting a shared recipe

    OS Data Hub
    OS Data Hub
    OS Data Hub
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    Screenshot of the OS Data Hub, showing the OS Select+Build Recipe Library screen.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.

    Add an API URL and set up custom parameters

    In the Add OGC API Server Connection dialog:

    • Server URL: Enter the URL for OS NGD API – Features, excluding the API Key. For example, https://api.os.uk/features/ngd/ofa/v1.

    ESRI ArcGIS Pro Add OGC API Server Connection dialog.
    • Select Custom request parameters and enter the following:

      • Parameter: key

      • Value: [Insert your OS API Key here]

    • Click OK.

    3

    Adding layers to the map

    You can explore the available layers in OS NGD API – Features by using the ArcGIS Pro Catalog panel.

    In the Catalog panel:

    • To add a layer to the map: Right-click on a layer and select Add to Current Map.

    In the pop-up Add OGC API Layer(s) dialog:

    • Set the maximum features returned: Set the maximum number of features to be displayed (we suggest 1000).

    • To specify the extent:

      • Select the Use Spatial Extent checkbox.

      • Get extent from

    The layer will then display in the Contents panel and the data will display on the map:

    4

    Adjusting the map view

    Features will not automatically refresh when you zoom or pan on the map. This is purposely designed to protect the API from unnecessary spikes in usage.

    If the extent of the screen changes and you need to update the features displayed, right-click on the layer in the Contents panel, then select the OGC Features property for the layer, re-click Current visible extent, and click Apply and OK. This will force ESRI ArcGIS Pro to send a new request to the API and load features based on the new extent.

    ESRI ArcGIS Pro UI showing how to add a new connection via Insert -> Connections -> Server -> New OGC API Server.
    ESRI ArcGIS Pro UI.

    Create a new connection

    In the Data Source Manager | WFS / OGC API - Features dialog click New and in the New WFS Connection dialog:

    • Name: Provide a name for the connection. You can reuse this connection in the future.

    • URL: Copy the OS NGD API – Features endpoint address from the OS Data Hub and paste it into this field. Your API Key is automatically appended to this URL in the key parameter.

    • Authentication: Leave these settings at their defaults. You do not need a username or password as authentication is done through your API Key.

    • Version: Click Detect to identify the version.

    • Enable feature paging: Select this option, if necessary.

    • Page size: Enter a maximum page size. This limits the page size to a maximum number of features. We recommend a setting of about 100 to speed up response times. Larger values may result in a very slow response time.

    • Other: Leave the other settings at their defaults.

    • Click OK.

    3

    Adding layers to the map

    Data Source Manager | WFS / OGC API - Features dialog:

    • Select your new connection in the dropdown, if necessary.

    • Click Connect.

    When you click Connect, a list of layers available in OS NGD API – Features populates in the main box:

    • To add a layer to the map: Select the layer to highlight it. You can select multiple layers by using the Ctrl key.

    As best practice, only load layers that relate to your current task – not all layers. The more features you call, the longer it takes to load them into QGIS. In addition, each feature, regardless of its layer, counts towards your .

    • Only request features overlapping the view extent: Select this option.

    • Click Add.

    The layer will then display in the Layers panel and the data will display on the map:

    Click Open.

  • Paste the style URL into the Load from URL box.

  • Click Load from URL.

  • Under Add New Source, enter the following details:
    1. Source ID: ngd-base

    2. Source Type: Vector (Tile URLs)

    3. Tile URL: https://api.os.uk/maps/vector/ngd/ota/v1/collections/ngd-base/tiles/3857/{z}/{y}/{x}?key=INSERT_API_KEY_HERE

    4. Scheme Type: xyz (Slippy map tilenames scheme)

    5. Min Zoom: 6

    6. Max Zoom: 19

  • Click Add Source.

  • The map should now appear in the map view.

    Maputnik UI with a map shown in the map view.
    You can now use Paint properties in the editing panel on the left to alter the styling of these features.
    Map styling options available in the Maputnik UI.
  • There are many things you can change in Maputnik with regard to styling, including the opacity of layers, the style of features at different zoom levels, and what features appear at various zoom levels. It is also possible to filter the data based on an attribute value.

  • https://maputnik.github.io/
    GET /collections/{collectionId}/styles
    You can download sample data (in GeoPackage or CSV formats) from the OS Data Hub.

    OS NGD Data Viewer

    An OS NGD Data Viewer is available that lets you visualise product sample data online for three areas (Exeter, Newport and Inverness).

    Sample data for most OS NGD feature types are available. The sample data always use the latest data schema version available for each feature type.

    Downloadable sample data

    Sample data are available to download from the OS Data Hub for the following OS NGD collections:

    OS NGD Collection
    Available Formats
    Sample Data Coverage

    🆕

    GeoPackage, CSV

    Three 5km x 5km areas

    🆕

    GeoPackage, CSV

    Three 5km x 5km areas

    🆕

    GeoPackage, CSV

    Three 5km x 5km areas

    Sample data for the collections are available in GeoPackage and CSV (comma-separated values) formats.

    One zip file of sample data is provided per OS NGD collection. Within each of these zip files, the individual feature types for each collection are separated into their own folder.

    Sample data always use the latest data schema version available for each collection.

    Standard sample data areas

    The sample data for each OS NGD collection typically cover three 5km x 5km areas in Great Britain: Exeter (England), Newport (Wales), and Inverness (Scotland).

    Exceptions to standard sample data areas

    • Please note that sample data are not available for the OS NGD Islands Address Collection or OS NGD Boundaries Collection.

    • Transport Network Collection sample data are available for Sheffield, Newport and Inverness; there are no sample data for Exeter.

    • Water Features Collection sample data are available for Plymouth, Newport and Inverness; there are no sample data for Exeter.

    Please note that as we are publishing three 5km x 5km sample data areas for most of the OS NGD collections, a small number of feature types are not represented within these areas and therefore their record counts will be zero:

    • Landform Point (OS NGD Land Features Collection)

    • Maintenance Point (OS NGD RAMI Collection)

    • Railway Link Set (OS NGD Transport Network Collection)


    OS NGD Data Viewer

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    File formats available with OS Select+Build

    OS NGD data from OS Select+Build can be downloaded in two file formats: GeoPackage and CSV. Detailed information on the supply options available can be found on the data ordering and currency page in the OS NGD Fundamentals guide.

    What's different about OS Select+Build?

    For the first time, you can select only the data you need rather than taking off-the-shelf OS products, such as AddressBase or OS MasterMap Topography Layer. For example, if you're only interested in buildings information, then you just create a recipe featuring only the OS NGD Buildings Theme and the content (feature types) you require within it.

    OS Select+Build also allows you to combine data from different OS NGD collections. For example, you could select the Building and Building Access Location Feature Types (which are both in the Building Features Collection of the Buildings Theme) and the Land Point and Landform Feature Types (which are both in the Land Features Collection of the Land Theme):

    Screenshot showing an example of creating a new recipe using OS Select+Build in the OS Data Hub.

    The screenshot above shows what selecting this data would look like using OS Select+Build. The secondary navigation menu on the left-hand side of the screen is where you select the feature types you want from the tree view of the OS NGD themes, collections, and feature types, and where you can apply filters to the feature types (if needed). The right-hand side panel displays the definition for the feature type you've selected and lists all the attributes present within it.

    Learn more about recipes in the Getting started with recipes guide.

    Adding a data package to your recipe allows you to select the area, format, and update frequency to receive for your data. Learn more about this in the Getting started with data packages guide.

    Using OS Select+Build

    Take a look at the following getting started guides to begin using OS Select+Build to access OS NGD data:


    theme, collection and feature type
    OS Data Hub
    Infographic showing the steps involved when using OS Select+Build in the OS Data Hub. The first step is OS Select+Build, the next step is creating a recipe, and the final step is adding then downloading data packages.
    Infographic showing the steps involved when using OS Select+Build on the OS Data Hub.

    Discover OS NGD

    Detailed documentation on OS NGD design and practical guides on how to apply OS NGD data:

    Explore OS NGD

    In-depth information on OS NGD data, including structure, applications and news:

    A PostgreSQL database with PostGIS extension enabled
  • GDAL version 1.11.0 or above (with access to a command line interface to use it)

  • A GeoPackage dataset

  • Instructions

    1

    Use the ogrinfo program to list information about the GeoPackage

    ogrinfo <PATH_TO_GEOPACKAGE>

    Without any arguments supplied, ogrinfo will return the layers contained within the GeoPackage.

    2

    Use ‘Summary Only’ (-so) and ‘List all features of all layers’ (-al) arguments to view summary information about the layers within the GeoPackage

    ogrinfo<PATH_TO_GEOPACKAGE>

    3

    Load the GeoPackage into a PostgreSQL database using the program

    The arguments below will load all layers from the source GeoPackage into the specified target schema in the database:

    ogr2ogr -f PostgreSQL "PG:user=<USERNAME>password=

    Different loading options (including renaming tables, reprojecting the data, etc.) can be found on the PostgreSQL / PostGIS — GDAL documentation page.

    GDAL
    License
    Open Source Geospatial Foundation
    PostgreSQL

    PostGIS will automatically store the geometry data that is supplied in Well-Known Text (WKT) format.

    There is a known bug affecting PostgreSQL versions 11, 12 and 13 in Windows environments, where the COPY command cannot load files larger than 4GB. As a workaround, version 14 (or later) of the COPY command can be used to load data into the affected database versions.

    For reference, the error message states ERROR: could not stat file.

    These instructions are based on Microsoft SQL Server 2019, but should work for all supported versions.

    Once connected to your SQL Server database, with the relevant schema and table created, the CSV file can be loaded with the following SQL statement using the BULK INSERT command:

    BULK INSERT destination_schema.destination_table
    FROM 'source_path_to_csv_file\source_name_of_csv_file.csv'
    WITH (
        FORMAT = 'CSV',
        FIRSTROW = 2
    );

    It is not possible to BULK INSERT the geometries directly in their Well-Known Text (WKT) format.

    However, it is possible to change the destination geometry column to a nvarchar(max) type, and then either post process the table or use a a computed column to generate a geometry type column (see code examples below).

    It is not possible to load OS NGD CSV files into an Oracle database using the default SQL*Loader utility. The geometries are supplied in Well-Known Text (WKT) format and some of them are too large for SQL*Loader to process.

    However, with the relevant schema and table created in your Oracle database, the CSV file can be loaded using ETL (extract, transform, load) tools, for example, GDAL or FME.

    OS NGD Resources GitHub repository
    PostgreSQL
    PostGIS
    COPY command
    COPY destination_schema.destination_table 
        FROM 'source_path_to_csv_file\source_name_of_csv_file.csv'
        DELIMITER ','
        CSV HEADER
        ENCODING 'UTF8';

    The following dependencies installed:

    • GeoPandas

    • Requests

    • Shapely

    More examples in an executable notebook format are available through our OS APIs Python wrapper.

    1

    Import the required libraries

    2

    Set up your OS API credentials

    3

    Request data from OS NGD API – Features

    4

    Load data into a GeoPandas DataFrame

    5

    Plot Data

    GeoPandas
    QGIS (version 3.22.0 or later).
  • OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

  • QGIS currently only supports the EPSG: 3857 version of the tiles. You will however be able to transform the API using a dynamic coordinate transformation into EPSG: 27700 (allowing you to use the vector tile service alongside your British National Grid data).

    Instructions

    1

    Set up a new connection

    Once a new project with a base map map has been set up, select Layer > Add Layer > Add Vector Tile Layer.

    QGIS Add Vector Tile Layer option.
    2

    Create a new connection

    In the Data Source Manager | Vector Tile dialog:

    • Click New

    • Select New Generic Connection...

    In the Vector Tiles Connection dialog:

    • Name: Provide a name for the connection.

    • URL: Input the request URL for the OS NGD API – Tiles collection.

    • Min. Zoom Level: Minimum zoom = 6.

    • Max. Zoom Level: Maximum zoom = 19.

    The following are some example URLs to retrieve the ngd-base collection:

    • URL: {INSERT_YOUR_API_KEY}

    • Style URL: {styleId}

    You will need to replace the /{tileMatrix}/{tileRow}/{tileCol} used in the default request URL with /{z}/{y}/{x} to be able to connect to OS NGD API – Tiles.

    3

    Add layer

    Navigate to Layer > Data Source Manager > Vector Tile.

    In the Data Source Manager | Vector Tile dialog:

    • Select your new connection to OS NGD API – Tiles

    4

    Add a custom style

    You can change the style of features and labels directly in QGIS by right-clicking on the API in the Layers Panel and going to Properties.

    If you have a custom style JSON file that you have created in software such as , you can use this in QGIS. You will need to host the JSON file before using it (e.g. on GitHub) and then use the resource URL as your 'Style URL' when setting up your API connection.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    The OS NGD is available to OS Partners and to public sector organisations who are members of the Public Sector Geospatial Agreement (PSGA). OS Select+Build and the OS NGD APIs can be accessed via the OS Data Hub on either the Premium Plan or Public Sector Plan.

    What's the PSGA?

    The PSGA (Public Sector Geospatial Agreement) sets out how Ordnance Survey (OS) provides world-leading location data and expertise to the public sector across Britain. It supports the delivery of critical infrastructure and services, as well as working to help protect our environment. 

    , including the benefits of joining, instructions on how to access OS data, success stories, support, registration process information and instructions, and a PSGA Member finder tool to check if your organisation is already a member.

    Data Exploration Licence

    Alternatively, you can try out OS NGD collection data for free for three to six months by applying for . This licence is available for all collections apart from the Islands Address Collection.

    The licence is primarily designed for organisations either considering becoming an OS Partner or who want to trial OS Premium data before working with an existing OS Partner.

    Short YouTube video showing the OS NGD access methods of OS Select+Build and the OS NGD APIs.
    Short YouTube video explaining what the OS NGD is.
    ESRI ArcGIS Pro Add OGC API Server Connection dialog with URL and custom request parameters set.
    ArcGIS Online Add Layers dialog: Select a layer to add field.
    ArcGIS Online UI showing OS NGD API – Features data in the map area.

    Data schema versioning

    Through the OS NGD, Ordnance Survey aims to iterate and release data enhancements quicker than ever before. We want to be able to do this without disrupting customers who have adopted data schemas and are heavily reliant on a specification remaining the same for a longer period of time. With this in mind, the OS NGD is able to run multiple data schema versions for a single feature type at any given time.

    Data schema version: The specification to which OS delivers an OS NGD feature type. This includes the attributes a feature type contains, what the attributes are called, the data types of the attributes, whether they are nullable, the precision (if applicable), the scale (if applicable), whether there is a code list associated with an attribute, and the max length (if applicable).

    When we release a new data schema version in the OS NGD, the changes will be visible on the feature type pages of this documentation platform. As you can see from the image below, each attribute on a feature type page states which data schema version it is present within, with the Version Date attribute in the example below being present in both data schema versions 1.0 and 2.0:

    Please note that data schema versioning is implemented at a feature type level. Therefore, increments and withdrawals of data schema versions are done at a feature type level and not at an OS NGD wide level.

    How has data schema versioning been implemented?

    As new enhancements are made to a given feature type in the OS NGD which require the schema to be uplifted (for example, new attributes being added, resulting in a major schema version increment from 1.0 to 2.0), the new data schema version will become available via the OS NGD access services (i.e. OS Select+Build and the OS NGD APIs).

    There are two types of version increments that can be applied:

    • Minor: A non-breaking change that does not usually impact a customer’s implementation of the data, for example, the addition of an attribute value to a code list.

    • Major: A significant breaking change that usually impacts a customer’s implementation of the data, for example, the addition or removal of an attribute.

    When a data schema undergoes a minor version increment, the previous version will no longer be available. This is because the change is deemed to be so small that there is little to no work involved in customers migrating to the latest version of the data.

    When a data schema undergoes a major version increment, the previous version will become known as being in 'maintenance' and the new data schema version will be known as the ‘latest’. This reflects an understanding of the work required for customers to move to a new version and allows time for this to happen.

    Latest: The latest data schema version released for a given feature type.

    Maintenance: An older data schema version for a given feature type, but one which is still receiving updates and can be accessed by customers via OS NGD access services.

    End Of Life: A retired data schema version for a given feature type which is no longer receiving updates and cannot be ordered by customers via OS NGD access services.

    When using the OS NGD access services, you will be able to choose which data schema version you want to use for feature types when ordering or interacting with the data where more than one major version exists. You can choose from data schema versions which are in the 'latest' or 'maintenance' states.

    If you choose not to specify a data schema version for a given feature type or if you don't change the selection from its default, then you will always be provided with the latest data schema version for that feature type.

    Older data schema versions (i.e. those in a maintenance state) will remain in the OS NGD for a period of time; it's important to note that these maintenance versions will continue to receive updates. Before any data schema version is retired for a given feature type (i.e. when it no longer receives updates and will be removed from the ordering and selection process), customer communications will be distributed, and a notice period will be issued to allow sufficient time for customers to upgrade to a newer version of a data schema.

    Code list versioning

    Code lists within the OS NGD have only one type of version increment applied: major.

    A code list will undergo a major version change when a new code list value is added to it. Values will never be removed from a code list because this would impact within the OS NGD.

    When a code list undergoes a major version increment, all feature types that implement the code list will undergo a minor version increment, reflecting the data change that will occur.

    Worked example

    In the worked example below, we demonstrate how a feature type has new major data schema versions released (v2.0 and then v3.0), while maintaining older data schema versions (v1.0 and then v2.0), before the original data schema version (v1.0) moves into end of life and is retired.

    • In this example, the feature type starts with a single data schema version (v1.0), known as the latest data schema version.

    • At a point in the future, data enhancements are made which require the data schema version to be uplifted, so a second major data schema version (v2.0) is released. As there can only be one latest data schema version (v2.0), the original data schema version (v1.0) drops down into maintenance – but it still receives updates and is still accessible to customers via the OS NGD access services.

    • Further again into the future, additional new enhancements are made to the feature type, requiring a third major data schema version (v3.0) to be released. Again, as before, there can only be one latest data schema version for a feature type (v3.0), so the second data schema version (v2.0) drops down into maintenance. Two major data schema versions (v1.0 and v2.0) are now in maintenance, but again, both are still receiving updates and are accessible to customers via the OS NGD access services.

    Annual Full Supply orders and data schema versioning

    If you select an Annual Full Supply frequency for your OS NGD data order in OS Select+Build, we will provide you with the data as it was on 01 January of the current year. This means if a new feature type or a new data schema version of an existing feature type was released after 01 January and you order either of these as part of your Annual Full Supply, you will receive an empty data package for the newly released feature type / new data schema version of an existing feature type. The data for the new feature type / new data schema version of an existing feature type will then be included in your supply on the next 01 January after the release.

    For example, the March 2025 OS NGD data enhancements release contained 3 new feature types (Building Access Location, Crowd Sourced Name Point, and Street Light), and 11 new data schema versions (Building v4.0, Building Part v2.1, Land v3.1, Path Link v2.0, Rail v3.1, Road Link v4.0, Road Track Or Path v3.1, Site v2.2, Site Access Location v2.0, Structure v3.1, and Water v3.1). The data for the new feature types and the new data schema versions will not be part of Annual Full Supply orders until 01 January 2026.

    For example, the Autumn 2025 OS NGD data enhancements releases contained 6 new feature types (Royal Mail Address, Royal Mail Address, Bus Lane, Cycle Lane, Tidal Boundary Continuous High and Tidal Boundary Continuous Low), and 14 new data schema versions for existing feature types (Built Address v3.0, Built Address v3.0, Historic Address v3.0, Historic Address v3.0, Land v3.2, Non-Addressable Object v3.0, Non-Addressable Object v3.0, Path Link v3.0, Pre-Build Address v3.0, Pre-Build Address v3.0, Road Link v5.0, Site v1.3 and 2.4, and Water Link v2.0) and 3 new data schema versions for existing addressing related components (Alternate Address v3.0, Other Classification v3.0 and Related Entity v3.0). The data for the new feature types and the new data schema versions will not be part of Annual Full Supply orders until 01 January 2026.

    Getting started with temporal filtering

    This guide introduces the concept of temporal filtering in the OS NGD and gives instructions on how to add a temporal filter to a new data package.

    Introducing temporal filtering

    Temporal filtering allows you to order a one-off snapshot of data from the OS NGD from a current or past date.

    Temporal filtering is an optional step when you create a new data package against one of your existing recipes. For further information and step-by-step instructions on creating recipes and data packages, please see the Getting started with recipes and Getting started with data packages pages.

    Things to note

    • You cannot apply a temporal filter to an existing data package held in your Data packages list; a temporal filter can only be added to new data packages during the data package creation stage.

    • The earliest date you can request for the majority of feature types in the OS NGD via a temporal filter is 29 September 2022.

    • As new feature types are added to the OS NGD, their temporal filter range will begin on the date they are added (for example, 28 March 2023 for the Waterbody Catchment Feature Type). Each feature type page states the earliest start date available for temporal filtering on that feature type.

    How do I add a temporal filter to a new data package?

    To create a new OS NGD data package and apply a temporal filter to it:

    1

    Log into your account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    You will receive an email confirming that your data package is being created and another one when your new data package is ready to download.

    GB Address

    The OS NGD GB Address Collection is a complete, analytical and authoritative addressing dataset for Great Britain. It is designed to provide a detailed view of an address and its lifecycle.

    Collection applications

    The OS NGD GB Address Collection allows you to:

    • Keep your address data current with up to daily updates.

    • Utilise the richness of Local Authority data and analyse addresses by their classification, postal status and build status to create a detailed picture of a given area.

    • Access all addresses in Royal Mail’s Postcode Address File (PAF), with the ability to use PAF’s Unique Delivery Point Reference Number (UDPRN) alongside the Unique Property Reference Number (UPRN).

    • Create mail shots using the Royal Mail address.

    • Carry out spatial analysis and aggregation using the accurate rooftop coordinates provided for each address.

    • Easily identify and download addresses by pre-build, built and historic lifecycle stages.

    • Use the UPRN to easily link different data sets right down to a single address.

    Key elements

    • A full representation of an address as you can view both the Royal Mail and Local Authority representations of it.

    • Up to daily updates to data.

    • New simplified data model means there’s no need to be an addressing expert to use the data.

    • Plug and play – the data is simple and quick to implement as you don't need to pre-process it before you use it.

    Coverage

    Great Britain.

    Default coordinate reference system

    British National Grid (EPSG: 27700).

    Temporal filtering

    The earliest date on which you can request a one-off snapshot of a date in the past for data in this collection is noted at the top of the individual feature type pages.

    Supply formats

    GeoPackage or CSV (comma-separated values).

    Supply mechanism

    GB Address data can be accessed through the via OS Select+Build, the bespoke OS NGD download service. It can't be accessed through OS NGD API – Features or OS NGD API – Tiles.

    Using our data

    • Included in the (PSGA) – therefore, it's free at point of use for Public Sector organisations.

    • Available to OS Partners for commercial resell in your solutions.

    • Available for organisations to try out for free for three months under the ; this licence is primarily designed for organisations either considering becoming an OS Partner or who want to trial OS Premium data before working with an existing OS Partner.

    The OS NGD is available to OS Partners and to public sector organisations who are members of the Public Sector Geospatial Agreement (PSGA). OS Select+Build and the OS NGD APIs can be accessed via the OS Data Hub on either the Premium Plan or Public Sector Plan.

    What's the PSGA?

    The PSGA (Public Sector Geospatial Agreement) sets out how Ordnance Survey (OS) provides world-leading location data and expertise to the public sector across Britain. It supports the delivery of critical infrastructure and services, as well as working to help protect our environment. 

    , including the benefits of joining, instructions on how to access OS data, success stories, support, registration process information and instructions, and a PSGA Member finder tool to check if your organisation is already a member.

    Data Exploration Licence

    Alternatively, you can try out OS NGD collection data for free for three to six months by applying for . This licence is available for all collections apart from the Islands Address Collection.

    The licence is primarily designed for organisations either considering becoming an OS Partner or who want to trial OS Premium data before working with an existing OS Partner.

    Getting started with data packages

    Step-by-step instructions on how to create new data packages, find and download existing ones, and delete data packages.

    Adding a data package to your OS Select+Build recipe allows you to select the area, format, and update frequency to receive for your data.

    The following sub-sections on this page cover:

    How do I create a new data package?

    Once you've created a recipe, you'll then need to create a data package against it to receive your OS NGD data.

    To create a new OS NGD data package:

    OpenLayers

    Accessing OS NGD API – Features via OpenLayers

    is a free and open-source JavaScript library for displaying interactive maps on the web. It is a powerful tool that can be used to create a wide variety of map-based applications, from simple web maps to complex GIS applications.

    OpenLayers is easy to use and can be integrated with a variety of other web development frameworks.

    What you'll need

    Zoom levels

    What is a tile matrix set?

    A tile matrix set is a standardised way to divide the coverage of the service into a regularly spaced grid system made up of tiles (512x512 pixels).

    By defining the tile matrix set for each coordinate reference system, we can ensure interoperability across different software, achieve accurate positioning with consistent behaviour, and improve performance.

    OS NGD Webinars, Tutorials and Case Studies

    Learn more about the OS NGD through our webinars and tutorials. Case studies demonstrate how customers across numerous sectors are already using and benefiting from OS NGD data.

    🖥️ Webinars

    If you are a PSGA Member or OS Partner and you'd like to know more about how to get the most out of the OS NGD, head to the or the and watch the recordings of our recent webinars, including 'An introduction to the OS NGD' and 'Maximising the benefits of ordering OS NGD data using OS Select+Build'. New webinars are added to both areas periodically.

    OS NGD Address

    Introduction to the theme

    The OS NGD Address Theme provides a complete and definitive view of UK address data. It's designed to underpin a range of analytical use cases and provide the most detailed view of an address and its lifecycle.

    The OS NGD Address Theme contains all of the address data found in the product:

    • Local Authority addresses

    Data Structure Information

    This section gives an overview of the OS NGD data structure and details the data available for each OS NGD theme, collection and feature type.

    Overview of the OS NGD data structure

    OS NGD data is different from our other products because you access it from a single source where you'll find the data you need without having to download unnecessary datasets. It also has a simple data structure, designed to help you quickly answer questions and develop more intelligent solutions.

    OS NGD data has been categorised to make it easier and quicker for you to discover the data you need:

    Example:
    ogrinfo wtr_ntwk_waterlinkset.gpkg
    ogrinfo output
    INFO: Open of `C:\wtr_ntwk_waterlinkset.gpkg'
          using driver `GPKG' successful.
    1: wtr_ntwk_waterlinkset
    2: wtr_ntwk_waterlinkset_wtrlinkref (None)
    import requests
    import geopandas as gpd
    from shapely.geometry import shape
    Find out more about the PSGA by visiting the OS website
    a Data Exploration Licence
    Find out more about the PSGA by visiting the OS website
    a Data Exploration Licence
    Create a new recipe
    Find my Recipe Library
    Check what's in a recipe
    Delete a recipe
    Edit the name of a recipe
    Edit the description of a recipe
    Edit a recipe
    Share a recipe
    Accept a shared recipe
    Reject a shared recipe
    Check if filters are used in a recipe
    Add attribute filters to a new recipe
    Add attribute filters to an existing recipe
    Worked example of creating a simple filter
    Worked example of creating a nested filter
  • At a future point, and after customer communications have been distributed and a formal notification period has elapsed, it is decided to retire the original data schema version (v1.0). V1.0 moves into the end of life state, where it stops receiving updates and can no longer be accessed by customers via the OS NGD access services. V3.0 remains the latest data schema version and v2.0 remains in maintenance, with both data schema versions receiving updates and being accessible to customers via the OS NGD access services.

  • temporal filtering
    Screenshot from a feature type page on the OS NGD Documentation platform showing where data schema version information is held for an attribute.
    Data schema version information is held against each attribute listed on a feature type page.
    Diagram showing a worked example of data schema versioning in the OS NGD. The diagram is explained fully in the accompanying text on the page.
    Worked example of how data schema versioning works in the OS NGD.

    Rich attribution ensures the data is straightforward to navigate and query.

  • Persistent unique identifiers with lifecycle information.

  • The ability to select addresses from a specific lifecycle state (for example, Built Address and Pre-Build Address).

  • Full UK address coverage available via accessing the OS NGD GB Address and Islands Address Collections together.

  • Cross-references make it easy for you to link data in this collection with data from other OS NGD collections.

  • OS Data Hub
    Public Sector Geospatial Agreement
    Data Exploration Licence
    Examples of Built Address and Royal Mail Address features and the attribution provided for these features. The visualisation shows an image of house and a shop. Pop ups against each image show what example attribution might look like for the Built Address features and Royal Mail Address features.
    Examples of Built Address and Royal Mail Address features and the attribution provided for these features.

    🆕 Land Use Features

    GeoPackage, CSV

    Three 5km x 5km areas

    Named Features

    GeoPackage, CSV

    Three 5km x 5km areas

    Routing and Asset Management Information (RAMI)

    GeoPackage, CSV

    Three 5km x 5km areas

    🆕 Structure Features

    GeoPackage, CSV

    Three 5km x 5km areas

    🆕 Transport Features

    GeoPackage, CSV

    Three 5km x 5km areas

    🆕 Transport Network

    GeoPackage, CSV

    Three 5km x 5km areas (Sheffield, Newport & Inverness)

    🆕 Water Features

    GeoPackage, CSV

    Three 5km x 5km areas (Plymouth, Newport & Inverness)

    🆕 Water Network

    GeoPackage, CSV

    Three 5km x 5km areas

    GB Address
    Building Features
    Land Features

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    Screenshot of the Add Data layer selection dialog in ArcGIS Pro.

    📖 Getting started with OS Select+Build recipes

    A guide to creating a bespoke selection of OS NGD data within OS Select+Build, covering:

    Managing OS Select+Build recipes

    Editing OS Select+Build recipes

    Sharing OS Select+Build recipes

    Applying attribute filtering

    📚 Getting started with data packages

    A guide to applying data packages to your OS Select+Build recipes, covering:

    Creating a new data package

    Finding and downloading a data package

    Viewing an Order Summary file

    Deleting a data package

    Adding temporal filters

    🗺️ Getting started with GeoPackage

    A guide to accessing GeoPackage data GeoPackage data via popular GIS software packages

    📑 Getting started with CSV

    A guide to accessing OS NGD data in CSV (comma-separated values) format.

    📖 OS NGD Explained

    A high level summary of what the OS NGD is, how to access it and who can use it.

    ❓ FAQs

    Frequently asked questions on OS NGD data and access methods (OS Select+Build and OS NGD APIs).

    👩‍🏫 OS NGD Webinars, Tutorials and Case Studies

    Learn more about the OS NGD through our webinars and tutorials. Case studies demonstrate how customers across numerous sectors are already using and benefiting from OS NGD data.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD.

    🗃️ Data Structure

    Data structure pages provide more detailed information about data available for OS NGD themes, collections and feature types.

    🎨 Styling OS NGD Data

    Resources for styling OS NGD data.

    Screenshot of the OS Select+Build Recipe creator screen within the OS Data Hub, showing an example of creating a new recipe. Several themes, collections and feature types have been selected from the secondary navigation menu on the left-hand side of the screen.
    Post process example
    -- Add new geometry column
    ALTER TABLE destination_schema.destination_table
    ADD new_geometry_column_name geometry;
    
    -- Set new geometry column using existing WKT column
    UPDATE destination_schema.destination_table
    SET [new_geometry_column_name] =  geometry::STGeomFromText(destination_table.geometry, /* EPSG_CODE_OF_GEOM */); 
    
    -- Optional drop original WKT column
    ALTER TABLE destination_schema.destination_table
    DROP COLUMN geometry;
    -so -al

    Combined, these arguments will provide summary information about all the layers within the GeoPackage, including projection, schema, feature count and extents.

    <PASSWORD>
    dbname=
    <DATABASENAME>
    host=
    <HOST>
    port=
    <PORTNUMBER>
    active_schema=
    <TARGETSCHEMA>
    "
    <PATHTOGEOPACKAGE>

    <USERNAME>, <PASSWORD>, <DATABASENAME>, <HOST>, <PORTNUMBER> are the connection details of the target PostgreSQL database.

    <TARGETSCHEMA> is the schema in the database that the layers should be loaded into. If this doesn’t exist or if it is omitted, they will be loaded into the default schema, the default is usually the ‘public’ schema.

    This will create twp tables in the example_schema schema:

    ogr2ogr
    Computed column example
    ALTER TABLE destination_schema.destination_table
    ADD new_computed_column_name AS
        geometry::STGeomFromText(destination_table.geometry, /* EPSG_CODE_OF_GEOM */) persisted;
    Example:
    ogrinfo wtr_ntwk_waterlinkset.gpkg -so -al
    ogrinfo detailed output
    INFO: Open of `C:\wtr_ntwk_waterlinkset.gpkg'
          using driver `GPKG' successful.
    Layer name: wtr_ntwk_waterlinkset
    Geometry: Unknown (any)
    Feature Count: 116
    Extent: (209562.134000, 79229.510000) - (341688.834000, 853194.875000)
    Layer SRS WKT:
    PROJCRS["OSGB 1936 / British National Grid",
    [...]
    ogr2ogr -f PostgreSQL "PG:user=example_user password=example_password dbname=postgres host=localhost port=5432 active_schema=example_schema" wtr_ntwk_waterlinkset.gpkg
    schemaname     | tablename
    ---------------+---------------------------------
    example_schema | wtr_ntwk_waterlinkset
    example_schema | wtr_ntwk_waterlinkset_wtrlinkref
    : Select
    Current visible extent
    .
  • Click OK to load the features onto the map.

  • ESRI ArcGIS Pro Add OGC API Server Connection dialog displaying the OS NGD API – Features base URL and custom parameters added.
    ESRI ArcGIS Pro Add OGC API Server Connection dialog with custom request parameters set.
    ESRI ArcGIS Pro Catalog panel showing a list of available layers alongside the Add OGC Layer(s) dialog box to set the extent.
    ESRI ArcGIS Pro Add OGC API Layer(s) dialog and the Catalog panel.
    A map in ESRI ArcGIS Pro with features loaded from a selected layer.
    ESRI ArcGIS Pro UI showing OS NGD API – Features data in the map area.
    ESRI ArcGIS Pro UI showing OS NGD API – Features data in the map area. Layer Properties dialog box with the OGC Features property displayed that defines the number of features loaded and the extent used. This dialog box allows these properties to be changed.
    ESRI ArcGIS Pro UI showing OS NGD API – Features data in the map area and a Layer Properties dialog for one of the layers.
    ESRI ArcGIS Pro Add OGC API Server Connection dialog displaying the OS NGD API – Features base URL.

    Style URL: Input your selected style request URL (you can view the available styles at GET /collections/{collectionId}/styles).

  • Authentication: Leave these settings at their defaults.

  • Other: Leave all other settings at their defaults.

  • Click OK.

  • Options for {styleId} are:

    • 3857: Our traditional outdoor style focusing on spaces.

    • road-3857: Our road style focusing on the transport network.

    • light-3857: Our light style perfect for overlaying data.

    • blackwhite-3857: Our high contrast basemap perfect for overlaying data.

    Please note: Style URL does not require you to append your API Key as a query parameter.

    To learn more about the available collections in OS NGD API – Tiles (e.g. asu-bdy) you can view what data is available .

    Click Add.

    The layer will then display in the Layers panel and the data will display on the map:

    QGIS UI showing OS NGD API – Tiles data in the Layers panel and map area.
    Retrieve Tile
    https://api.os.uk/maps/vector/ngd/ota/v1/collections/ngd-base/tiles/3857/{z}/{y}/{x}?key=
    https://api.os.uk/maps/vector/ngd/ota/v1/collections/ngd-base/styles/
    Retrieve Tile
    Maputnik
    QGIS Data Source Manager | Vector Tile dialog.
    QGIS New Vector Tile Connection dialog filled in
    QGIS Vector Tiles Connection dialog.
    QGIS Add Vector Tile Layer option.

    If you request a temporal filter date for your new data package that precedes the date a feature type in the data package was added to the OS NGD, then no results will be returned.

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    4

    Find the recipe you want to create a data package against

    In your OS NGD Select+Build Recipe Library, scroll or search for the recipe you wish to create a data package against, select that recipe, then click the Add data package button.

    5

    Add details to the data package

    Screenshot showing an example of adding a data package to a recipe using OS Select+Build in the OS Data Hub.

    Add the following details to your data package under Add a data package in the secondary navigation menu:

    • Give your data package a name.

    • Choose the area you want to receive your data for: either 'All of Britain or Predefined Area' (this means you receive data and it will not be refined by location) or 'Draw a polygon / upload a file / use an OS polygon' (to select a smaller area for your data to be provided for).

    • Select the desired .

    • Select a file format: or .

    • Select the updates you want. Instead of selecting the 'not required' or COU (Change-Only Update) frequency options (which are available under the 'Select updates' drop-down), to apply a temporal filter, you should select the option for a one-off snapshot of a current or past date by ticking the following check box:

    • Select the supply date needed for the snapshot:

    6

    Finish creating your data package

    Click the Create data package button.

    OS Data Hub
    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    4

    Find the recipe you plan to add a data package against

    In your OS NGD Select+Build Recipe Library, scroll or search for the recipe you wish to create a data package against, select that recipe, then click the Add data package button.

    5

    Add details to the data package

    Add the following details to your data package under Add a data package in the secondary navigation menu:

    • Give your data package a name.

    • Choose the area you want to receive your data for: Either 'All of Britain or Predefined Area' (this means you receive data and it will not be refined by location) or 'Draw a polygon / upload a file / use an OS polygon' (to select a smaller area for your data to be provided for).

    • Select the desired .

    • Select a file format: or .

    • Select the updates you want: Either not required or (Change-Only Update) frequency. There is also an option to select a one-off snapshot of a current or past date.

    • Set your initial supply date.

    6

    Finish creating the data package

    Click the Create data package button.

    Screenshot showing an example of adding a data package to a recipe using OS Select+Build in the OS Data Hub.

    You will receive an email confirming that your data package is being created and another one when your new data package is ready to download.

    Please note:

    • When you order data through OS Select+Build, the data package/s you receive will be provided at a feature type level. Each feature type you order will be available to download as a .zip file. Currently, grouped files are not available for OS NGD data packages.

    • Single or multiple data packages can be created from a single defined recipe. Creating multiple data packages from a single recipe is useful if you want to select a different file format or area of interest for a recipe.

    • The Annual Full Supply order frequency option will not be available for a data package containing one (or more) of the new feature types or new data schema versions of existing feature types released in March and / or September of the current year. If you select an Annual Full Supply frequency for your OS NGD data order in OS Select+Build, we will provide you with the data as it was on 01 January of the current year. This means if a new feature type or a new data schema version of an existing feature type was released after 01 January and you order either of these as part of your Annual Full Supply, you will receive an empty data package for the newly released feature type / new data schema version of an existing feature type. The data for the new feature type / new data schema version of an existing feature type will then be included in your supply on the next 01 January after the release, after which point, data packages containing one of these feature types will no longer contain blank files.

    How do I find and download an existing data package?

    All OS NGD, OS OpenData and OS Premium data packages created and ordered by your organisation will be catalogued in your Data Packages list in the OS Data Hub.

    To find and download an existing data package:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to Data packages

    Choose Downloads > Data packages from the secondary navigation menu. You will then be taken to your data package list.

    4

    Find the data package you're looking for

    Scroll through the list to find a particular data package or use the search bar to search by data package name, data package number, or product name.

    5

    Download the desired data package

    • Once you have found the data package you want from the list, click the Download button in the Status column.

    What is the Order Summary file?

    This is also known as a manifest file, a computing file which contains metadata. We provide an Order Summary file for each feature type in your data package. The following file naming convention will be applied to each Order Summary file you receive:

    • collection_featuretype_orderSummary.jso

    For example, the file name for the Building Part Feature Type Order Summary file would look like this:

    • bld_fts_buildingpart_orderSummary.jso

    The example below shows the information an Order Summary file contains:

    How do I delete a data package?

    To delete an existing OS NGD data package:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to Data packages

    Choose Downloads > Data packages from the secondary navigation menu. You will then be taken to your data package list.

    4

    Find the data package you are looking for

    Scroll through the list to find a particular data package or use the search bar to search by data package name, data package number, or product name.

    5

    Delete the package from the data packages summary screen

    • Click the Package options dropdown in the top right-hand side of your screen.

    Creating data packages

    Finding and downloading existing data packages

    Deleting data packages

    Viewing Order Summary files

    OS Maps API and OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.
  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

  • 1

    Set up your HTML file

    • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

    • Add the basic HTML structure to your file with a placeholder <div> for the map.

    2

    Insert your API Key and OS NGD collection

    • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing

    3

    Add a basemap

    • Create a source for the basemap layer using OS Maps API and initialise the ol.map class with the applicable map properties – target, layers

    4

    Add an OS NGD API – Features layer

    • Define and initialise the source using the ol.source.Vector class to make a request to OS NGD API – Features. By utilising the ol.loadingstrategy.bbox

    What's next?

    Congratulations! You've successfully created a map using OpenLayers and added an OS NGD layer using OS NGD API – Features in a few steps.

    Now you can continue to explore Ordnance Survey's code examples to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

    OpenLayers
    EPSG:3857 tile matrix set

    The table below shows the resolution (meters per pixel) and scale of the zoom levels within the EPSG:3857 tile matrix set.

    The zoom levels start at 6 to fit in with the industry-standard initial zoom layer. This improves the interoperability of this tile matrix set with third party tools and applications.

    Zoom Level
    Resolution
    Scale
    Open or Premium

    6

    1222.9924525628201

    4367830.1877243574709

    OpenData

    7

    611.49622628141

    2183915.0938621787354

    OpenData

    8

    305.748113140705

    1091957.5469310893677

    EPSG:27700 tile matrix set

    The table below shows the resolution (meters per pixel) and scale of the zoom levels within the EPSG:27700 tile matrix set.

    The zoom levels start at 0 rather than at 6 used for the EPSG:3857 tile matrix set, but the range of resolutions and scales is comparable. EPSG:27700 zoom level 0 is similar to EPSG:3857 zoom level 6.

    Zoom Level
    Resolution
    Scale
    Open or Premium

    0

    3584

    12799999.998

    OpenData

    1

    1792

    6399999.99899

    OpenData

    2

    896

    3199999.999496063

    👩‍🏫 Tutorials

    To help make getting started easier with OS Select+Build and the OS NGD APIs, we have created the following tutorial videos (available from our YouTube channel) to give you step-by-step guidance:

    • OS Select+Build: How to build a recipe

    • OS Select+Build: How to download a data package

    • OS Select+Build: How to add attribute filters to a new recipe

    • How to use OS NGD API – Features

    Additional useful OS NGD data tutorials:

    • Using OS's new buildings data attribute: Number of Floors

    • Filtering and the Common Query Language (CQL)

    • Edit vector tile styles in Maputnik

    OS NGD tutorials on More than Maps

    Numerous OS NGD tutorials are available on our 'More than Maps' site (a self-serve learning hub that acts as a one-stop shop for all your OS technical geospatial support needs, offering interactive demonstrators, step-by-step tutorials, and case studies). These tutorials introduce the OS NGD data themes, collections and feature types and show you what can be achieved using OS NGD data and how. New tutorials are added to the More than Maps site periodically.

    The same tutorials are available to PSGA (Public Sector Geospatial Agreement) Members and OS Partners from the and the , respectively (just search for 'Lightning Talks').

    📔 Case studies

    Find out how customers across numerous sectors are using and benefiting from OS NGD data:

    • Analysing roof attribution data: Discover how enhanced roof attribution data can benefit a wide range of sectors, including sustainability and energy, insurance and property, and Emergency Services.

    • Emergency Services: Find out how new data on pedestrian and vehicular access points to key public buildings will help the Emergency Services to enhance their emergency planning and response times and improve their situational awareness.

    • Solar panel presence case study: Discover how to use OS NGD Buildings features data to locate and map solar panels on roofs across Great Britain.

    • : Learn how OS and the ONS worked together to measure travel times and access to amenities.

    • : Learn how the OS NGD is supporting nature conservation in Greater Manchester and saving ecologists lots of time.

    • : Find out how new data for number of floors, sites, and bridge interactions will help the Emergency Services.

    • : Discover how OS NGD data can support better planning and future modelling for new housing developments.

    • : Discover how the British Army use OS NGD API – Features for battlefield training.

    • : Learn how to determine pavement widths in OS NGD data.

    • : Find out more about how the OS NGD speed datasets make it easier to analyse travel times, enhance routing analytics and provide accurate insight for safety and infrastructure policy decisions.

    • : Discover how the North Wales Cave Rescue Organisation has used OS NGD data to enable faster responses to underground incidents in North Wales.

    • : Learn how ONS are using OS NGD data to provide up-to-date estimates of the value that green and blue spaces add to house prices.

    • : Explore how using attributes from OS NGD data can help to identify homes which are hard to heat.

    • : Find out how North Yorkshire Fire & Rescue Service used OS Select+Build to reduce data analysis timeframes.

    PSGA Members area
    Partner Portal
  • Royal Mail postal addresses

  • Lifecycle data

  • Addresses for features that are not conventionally addressable (such as warehouses, car parks, etc.)

  • Multi-lingual addresses

  • Alternative addresses

  • However, the OS NGD Address Theme builds on the AddressBase Premium data by providing data with up to daily currency that is simple to use, understand and interrogate. This makes the data more accessible to non-address experts as it is easy to plug and play it into databases or a GIS (geographic information system).

    The theme is interoperable with other OS NGD themes through cross-reference information and the Unique Property Reference Number (UPRN) as the key identifier, allowing you to easily combine multiple datasets to answer analytical questions.

    Address data is collated from Local Land and Property Gazetteers (LLPG), which are maintained by Local Authorities in England and Wales, and also from Local Authorities in Scotland, who maintain the Corporate Address Gazetteer (CAG). These data sources are supplemented by the Royal Mail Postcode Address File (PAF), references to Valuation Office Agency (VOA) data in England and Wales, and additional addresses and coordinates from Ordnance Survey.

    Please note that the OS NGD Address Theme is only available via OS Select+Build (the bespoke OS NGD data download service) and is not available via OS NGD API – Features or OS NGD API – Tiles. You can access OS Select+Build through the OS Data Hub.

    Data structure

    The OS NGD Address Theme is made up of the OS NGD GB Address and OS NGD Islands Address Collections, and each collection is comprised of six feature types: Built Address, Historic Address, Non-Addressable Object, Pre-Build Address, Royal Mail Address and Street Address.

    Four of the feature types in each collection (Built Address, Historic Address, Non-Addressable Object and Pre-Build Address) are supported by the following three related components, which provide supplementary information against each UPRN:

    • Alternate Address: These provide alternative address labels where they exist for the ‘current’ address represented on a given feature type.

    • Other Classification: These provide additional VOA classification information.

    • Related Entity: These contain cross-reference relationship information between addresses and features in other OS NGD themes (such as buildings, sites, roads and boundaries) or third-party data sets.

    For more information on the related components, please see the Related Components page.

    Data structure diagram

    The OS NGD Address Theme data structure diagram below is applicable to the latest data schema versions of all address feature types (i.e. data schema version 3.0 of Built Address, Historic Address, Non-Addressable Object and Pre-Build Address, and data schema version 1.0 of Royal Mail Address and Street Address):

    OS NGD Address Theme data structure diagram showing the theme name, collection names, feature type names, and related component names.
    Superseded data structure diagram for the OS NGD Address Theme

    The OS NGD Address Theme data structure diagram below is applicable to the older (maintenance) data schema versions of four of the address feature types (i.e. data schema versions 1.0 and 2.0 of Built Address, Historic Address, Non-Addressable Object and Pre-Build Address) and to the latest data schema version (1.0) of Street Address:

    Superseded OS NGD Address Theme data structure diagram showing the theme name, collection names, feature type names, and related component names.

    Postal Address Related Component

    • Until September 2025, was the fourth related component in the OS NGD. It has been discontinued in the latest data schema version 3.0 of the Built Address, Historic Address, Non-Addressable Object and Pre-Build Address Feature Types in the GB Address and Islands Address Collections, which released in September 2025.

    • The Postal Address Related Component contained delivery point data from the Royal Mail Postcode Address File (PAF). This information is now available in the new Royal Mail Address Feature Type (which launched in September 2025), which can be found in the and Collections.

    • The Postal Address Related Component is still provided against the older (maintenance) data schema versions 1.0 and 2.0 of the Built Address, Historic Address, Non-Addressable Object and Pre-Build Address Feature Types in the GB Address and Islands Address Collections. These data schema versions are available for customers to use, but they are now older and in maintenance mode. (Data schema version 3.0 is the latest and recommended data schema version to use for these feature types.)

    Please see Data schema versioning for more information on data schema versioning in the OS NGD.

    Unique identifiers

    OS unique identifiers

    At least one of the following four unique identifiers is provided with each feature within the OS NGD Address Theme:

    • Unique Property Reference Number (UPRN): The primary identifier and unique key for this theme. A UPRN is a unique and persistent numeric identifier for every addressable location in Great Britain. Each address record has a UPRN, assigned by Local Authorities in England, Wales and Scotland or Ordnance Survey depending on the type of address. Throughout its lifecycle, information on the address of a property can change. This may be due to a change of name, change of use, or the eventual demolition of the property. Independent of any changes being made the UPRN associated to an address is never changed, meaning the unique identifier remains persistent and reliable.

    • Unique Street Reference Number (USRN): A USRN is a unique and persistent identifier for a street which is curated by Local Authority custodians in England, Wales or Scotland.

    • OSID (Ordnance Survey Identifier): A primary identifier and unique key used in other OS NGD themes. OSIDs are referenced in the OS NGD Address Theme for purposes of cross-refencing to other themes.

    • TOID (Topographic Identifier): An additional secondary identifier which can aid further data linking. TOIDs are an optional attribute and therefore will not always be provided with every feature.

    PAF unique identifiers

    One unique PAF identifier is provided with Royal Mail Address features within the OS NGD Address Theme:

    • Unique Delivery Point Reference Number (UDPRN): A UDPRN is a unique and persistent identifier that Royal Mail assigns to identify a specific delivery point (for example, a mailbox or business unit). Each UDPRN is an up to 8-character code that can be used instead of the current address keys on PAF.

    Useful links

    An introductory guide to OS NGD Address data is available on our More than Maps site. This guide details the layers, formats, and attribution available for OS NGD Address data.

    OS AddressBase Premium

    Themes: Geographic data of Great Britain is structured into nine themes of related items.

  • Collections: Each theme is made up of one or more collections, which in turn have feature types.

  • Feature types: Feature types are the most granular level, with objects (features) grouped by geometry or classification.

  • The nine OS NGD data themes.

    More in-depth information about OS NGD data terminology (themes, collections, feature types) is available from the OS NGD Fundamentals pages – these pages cover core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

    We recommend that you refer to the OS NGD Fundamentals pages as you work your way through this Data Structure section.

    Explore OS NGD data

    Content in this section is ordered by themes, collections and feature types, mirroring the OS NGD data structure itself. This level of categorisation should make it easier and quicker for you to discover the data you need.

    For example, if you are interested in water or river data, then you should select 'OS NGD Water' from the card below or the left-hand-side navigation menu, then drill down through the collections to the water feature type(s) that interest you.

    What's next?

    Infographic showing OS NGD terminology and data structure: themes, collections, feature types and features.
    OS NGD data structure: themes, collections, feature types and features.
    An example plot of the wtr-fts-water-2 data covering the Glastonbury Canals.
    rate limits
    QGIS Create a New WFS Connection dialog.
    QGIS Data Source Manager | WFS > Server Connections.
    QGIS Data Source Manager | WFS > Server Connections.
    QGIS Data Source Manager | WFS / OGC API - Features.
    QGIS Data Source Manager | WFS / OGC API - Features.
    QGIS UI showing OS NGD API - Features data in the Layers panel and map area.
    QGIS UI showing OS NGD API – Features data in the Layers panel and map area.
    Maputnik UI with the Editor button highlighted.
    Screenshot of the OS Data Hub 'Recipe cannot be edited' warning pop up in OS Select+Build.
    Screenshot of the OS Select+Build Recipe details screen in the OS Data Hub, with the Recipe actions dropdown showing where you can share, edit or delete a recipe.

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Cadcorp SIS Desktop UI showing OS NGD API – Features data in the map area.
    CadCorp SIS Desktop UI with a layer rendered in the map area.

    Coordinate reference systems

    OS Select+Build

    The GeoPackage and CSV formats accessible via OS Select+Build are available in four different coordinate reference systems dependent on your selection:

    • British National Grid (BNG: EPSG: 27700)

    • British National Grid + ODN Height (EPSG: 7405)

    • European Terrestrial Reference System (ETRS89: EPSG: 4258)

    • World Geodetic System (WGS84: EPSG: 4326)

    Default coordinate reference systems for OS Select+Build

    The following table outlines the default coordinate reference system used by each OS NGD collection in OS Select+Build:

    Collection
    Default coordinate reference system

    Selecting a coordinate reference system

    When (the Download service for OS NGD), you can choose what coordinate reference system you'd like to receive the data in.

    If you don't choose a particular coordinate reference system for your data package, OS Select+Build will automatically select the default coordinate reference systems for the feature types in your data package for you.

    OS NGD APIs

    OS NGD API – Features

    The GeoJSON format accessible via OS NGD API – Features is available in four different coordinate reference systems:

    • British National Grid (BNG: EPSG: 27700).

    • World Geodetic System (WGS84: EPSG: 4326)

    • British National Grid + ODN Height (EPSG: 7405)

    • Web Mercator (EPSG: 3857)

    OS NGD API – Tiles

    The vector tiles format accessible via OS NGD API – Tiles is available in two different coordinate reference systems:

    • British National Grid (BNG: EPSG: 27700)

    • Web Mercator (EPSG: 3857)

    Definitions for the coordinate reference systems available in the OS NGD

    Coordinate reference system
    Definition

    What data is available?

    What feature types are available in OS NGD API – Features?

    The following table documents the OS NGD datasets available through the OS NGD API – Features showing the themes, collections and lists the available feature types.

    OS NGD themes and collections have been created to group similar geographic entities and data types, making it quicker and easier to identify the data you need. The OGC API – Features standard also references feature collections, and in the context of OS NGD datasets, this is equivalent to feature types.

    The following naming convention has been applied to the feature collections: theme-collection-featuretype-version. Short codes have been used for both the theme and collection to keep the feature collection names manageable and not overly long. An example of the short codes used is below:

    bld-fts-buildingline-1

    Click on the theme to find out more information about the dataset:

    Theme
    Collection
    Feature Type(s)

    Find out more about the hierarchy of OS NGD data from the .

    If you are interested in addressing information, provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

    osngd-resources/styling at main · OrdnanceSurvey/osngd-resourcesGitHub
    GitHub - OrdnanceSurvey/OS-NGD-Stylesheets: Ordnance Survey Repository containing stylesheets for OS NGD data in QML, QLR, LYRX, LYR and SLD formatGitHub

    Managing OS Select+Build recipes

    Step-by-step instructions on how to create and manage your OS Select+Build recipes.

    This guide will help you get started with creating, managing and deleting recipes in your OS Select+Build Recipe Library.

    The following sub-sections on this page cover:

    How do I create a new recipe?

    Before you create a data package to receive your OS NGD data, you'll need to create a recipe.

    1

    Leaflet

    Accessing OS NGD API – Features via Leaflet

    is an open-source JavaScript library for displaying interactive maps on the web or mobile. A simple and lightweight library that will enable you to display and visualise location data and build dynamic applications.

    What you'll need

    • OS Maps API and OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

    Leaflet

    Accessing OS NGD API – Tiles via Leaflet

    is an open-source JavaScript library for displaying interactive maps on the web or mobile. A simple and lightweight library that will enable you to display and visualise location data and build dynamic applications.

    What you'll need

    • OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

    OpenLayers

    Accessing OS NGD API – Tiles via OpenLayers

    is a free and open-source JavaScript library for displaying interactive maps on the web. It is a powerful tool that can be used to create a wide variety of map-based applications, from simple web maps to complex GIS applications.

    OpenLayers is easy to use and can be integrated with a variety of other web development frameworks.

    What you'll need

    OS NGD News

    This section contains pages relating to new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

    📣 Recent announcements

    OS NGD Improvements

    A high-level summary of data improvements implemented for the OS NGD.

    September 2025 to March 2026 – Improvements to data coverage for Bus Lane and Cycle Lane Feature Types

    There will be partial data coverage across Great Britain for the Bus Lane and Cycle Lane Feature Types between September 2025 and late March 2026, with iterative increases in coverage released monthly. Full data coverage for Great Britain will be achieved by late March 2026.

    The data have been through thorough testing ahead of initial release in September 2025. The data will go through additional quality testing ahead of achieving full Great Britain coverage in March 2026.

    The interactive map below indicates the current availability of Bus Lane and Cycle Lane data across Great Britain:

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    {
     "featureName": "bld-fts-buildingline",
     "crs": "http://www.opengis.net/def/crs/EPSG/0/27700",
     "schemaVersion": "1.0",
     "validFromDate": null,
     "validToDate": "2023-03-01",
     "recordCount": 202653
    }
    # OS NGD API - Features API Key
    api_key = "INSERT_API_KEY"
    
    # OS NGD API - Features base URL
    base_url = "https://api.os.uk/features/ngd/ofa/v1"
    
    # OS NGD API - Features CollectionId
    collection= "wtr-fts-water-2"
    # Define your bounding box
    bbox = [-314177.76517933805,6641680.87433119,-304909.7754997604,6653318.411887609] # Example: Glastonbury Canal
    
    # Initialize an empty list to collect all features
    all_features = []
    
    # Loop through 20 pages
    for page in range(20):
     offset = page * 100  # Calculate the offset based on the page number
     params = {
            "key": api_key,
            "bbox": ",".join(map(str, bbox)),
            "limit": 100,
            "offset": offset,
            "bbox-crs": "http://www.opengis.net/def/crs/EPSG/0/3857",
            "crs": "http://www.opengis.net/def/crs/EPSG/0/3857",
     }
     
     # Send a request to the OS NGD API - Features
     response = requests.get(f"{base_url}/collections/{collection}/items", params=params)
     
     # Check if the request was successful
     if response.status_code == 200:
       data = response.json()
       features = data.get("features", [])
       all_features.extend(features)
       if len(features) < params["limit"]:  # Stop as there are no more features to retrieve 
         break
     else:
       print(f"Error: {response.status_code}")
       break  # Stop the loop in case of an error
    # Extract the geometries and attributes for each feature
    geometry = [shape(feature["geometry"]) for feature in all_features]
    attributes = [feature["properties"] for feature in all_features]
    
    # Create a GeoDataFrame from the geometries and attributes
    gdf = gpd.GeoDataFrame(attributes, geometry=geometry)
    
    # Set the CRS of the GeoDataFrame to EPSG:3857 (Web Mercator)
    gdf.set_crs("EPSG:3857", inplace=True)
    # Plot the features
    gdf.plot(figsize=(12,8),facecolor="#2d8fb6", edgecolor="#b19d3e", lw=0.05)

    OpenData

    9

    152.8740565703525

    545978.7734655446839

    OpenData

    10

    76.4370282851763

    272989.3867327723419

    OpenData

    11

    38.2185141425881

    136494.693366386171

    OpenData

    12

    19.1092570712941

    68247.3466831930855

    OpenData

    13

    9.554628535647

    34123.6733415965427

    OpenData

    14

    4.7773142678235

    17061.8366707982714

    OpenData

    15

    2.3886571339118

    8530.9183353991357

    OpenData

    16

    1.1943285669559

    4265.4591676995678

    Premium data

    17

    0.5971642834779

    2132.7295838497839

    Premium data

    18

    0.298582141739

    1066.364791924892

    Premium data

    19

    0.1492910708695

    533.182395962446

    Premium data

    OpenData

    3

    448

    1599999.9997480316

    OpenData

    4

    224

    799999.9998740158

    OpenData

    5

    112

    399999.9999370079

    OpenData

    6

    56

    199999.99996850395

    OpenData

    7

    28

    99999.99998425198

    OpenData

    8

    14

    49999.99999212599

    OpenData

    9

    7

    24999.999996062994

    OpenData

    10

    3.5

    12499.999998031497

    OpenData

    11

    1.75

    6249.9999990157485

    OpenData

    12

    0.875

    3124.9999995078742

    Premium data

    13

    0.4375

    1562.4999997539371

    Premium data

    14

    0.21875

    781.2499998769686

    Premium data

    15

    0.109375

    390.6249999384843

    Premium data

    How to use OS NGD API – Tiles
    PSGA Members area
    Partner Portal
    OS and Office for National Statistics case study
    Greater Manchester Ecology Unit case study
    Emergency Services
    Supporting planning and new housing developments
    British Army case study
    Analysing pavement widths using OS Select+Build case study
    Speed data case study
    North Wales Cave Rescue Organisation case study
    Office for National Statistics case study
    Identifying hard to heat homes case study
    North Yorkshire Fire & Rescue Service case study

    Land Features

    British National Grid (EPSG: 27700).

    Land Use Features

    British National Grid (EPSG: 27700).

    Structure Features

    British National Grid (EPSG: 27700).

    Routing and Asset Management Information (RAMI)

    British National Grid (EPSG: 27700) for all feature types, except the Average And Indicative Speed Feature Type which is British National Grid + ODN Height (EPSG: 7405).

    Transport Features

    British National Grid (EPSG: 27700).

    Transport Network

    British National Grid + ODN Height (EPSG: 7405) for most feature types in the collection; British National Grid (EPSG: 27700) for the Ferry Terminal, Path, Road, Road Junction, Street and Pavement Link Feature Types.

    Water Features

    British National Grid (EPSG: 27700).

    Water Network

    British National Grid + ODN Height (EPSG: 7405) for the Water Link and Water Node Feature Types; British National Grid (EPSG: 27700) for the Water Link Set Feature Type.

    GB Address

    British National Grid (EPSG: 27700).

    Islands Address

    European Terrestrial Reference System

    (EPSG: 4258)

    Boundaries

    British National Grid (EPSG: 27700).

    Building Features

    British National Grid (EPSG: 27700).

    Named Features

    British National Grid (EPSG: 27700).

    British National Grid (BNG: EPSG: 27700)

    The British National Grid (BNG) spatial reference system uses the OSGB36 geodetic datum and a single Modified Transverse Mercator projection for the whole of Great Britain. Positions on this projection are described using easting and northing coordinates in units of metres. The BNG is a horizontal spatial reference system only; it does not include a vertical (height) reference system.

    British National Grid + ODN Height (EPSG: 7405)

    The BNG with ODN height reference uses the OSGB36 geodetic datum and a modified Transverse Mercator projection for the whole of Great Britain. Positions in this system are described by easting and northing coordinates plus a height value, all in units of metres. Please note, this will only be available for some OS NGD feature types.

    European Terrestrial Reference System (ETRS89: EPSG: 4258)

    The European Terrestrial Reference System uses the ETRS89 geodetic reference system which is the EU-recommended frame of reference for European data. Positions on this projection are described using latitude and longitude, and coordinates are provided in degrees. ETRS89 is a horizontal spatial reference system only; it does not specify a vertical (height) reference system. Please note, this coordinate system is only used for the OS NGD Islands Address Collection due to the coverage of this data being Northern Ireland, Isle of Man, and the Channel Islands.

    World Geodetic System (WGS84: EPSG: 4326)

    The WGS84 spatial reference system uses the WGS84 geodetic datum. Positions on this projection are described as latitude and longitude, and coordinates are provided in decimal degrees. There will also be an option to receive this reference system via CRS 84, meaning the coordinates will be provided as longitude / latitude rather than latitude / longitude.

    Web Mercator (EPSG: 3857)

    Web Mercator is not a recognised geodetic system, but it is used for many visualisation and web mapping use cases. It uses the WGS84 geodetic datum, and positions on this projection are described as easting and northing, all in units of metres.

    creating a new data package in OS Select+Build
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    Postal Address Related Component
    GB Address
    Islands Address
    Tree diagram showing the data structure of the OS NGD Address Theme. It lists the theme name, collection names, feature type names, and related component names.
    Tree diagram showing the superseded data structure of the OS NGD Address Theme. It lists the theme name, collection names, feature type names, and related component names.

    OS NGD Address

    OS NGD Administrative and Statistical Units

    OS NGD Buildings

    OS NGD Geographical Names

    OS NGD Land

    OS NGD Land Use

    OS NGD Structures

    OS NGD Transport

    OS NGD Water

    📝 Code Lists

    Access all of the code lists for the OS NGD.

    📖 OS NGD Fundamentals

    OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

    ▶️ Getting Started

    Our getting started guides will help you access, use and style OS NGD data. You'll also find FAQs, in-depth information on OS NGD design, and webinars, tutorials and case studies.

    📣 OS NGD News

    Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

    ⚙️ Data and Service Status

    Find out about OS NGD planned maintenance, any live service disruption, current data issues and resolved data issues.

    🗺️ OS NGD Sample Data

    Download OS NGD sample data or visualise it online.

    Image showing a simple map of Great Britain. The 9 OS NGD data themes names are listed: Address, Administrative and Statistical Units, Buildings, Geographical Names, Land, Land Use, Structures, Transport, and Water.
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Cover
    Data packages linked to an OS NGD recipe

    Data packages linked to an OS NGD recipe can be identified by their prefix of 'OS NGD Recipe' against the recipe name in the Product column in the Data packages list.

    Screenshot showing an example of the 'OS NGD Recipe' prefix.

    You are now within the Data package summary screen, where you can view and download files. Under 'Individual file downloads' in the bottom left-hand side of your screen, you will see a .zip file for every feature type in your data package order. Click on a file to download it.

    Data packages linked to an OS NGD recipe

    Data packages linked to an OS NGD recipe can be identified by their prefix of 'OS NGD Recipe' against the recipe name in the Product column in the Data packages list.

    Screenshot showing an example of the 'OS NGD Recipe' prefix.

    Click Delete package.

    Screenshot showing an example of a Data package summary screen in the OS Data Hub with the Package options dropdown open.

    A warning pop up will appear.

    • Click the Delete package button in the pop up.

    coordinate reference system
    CSV
    GeoPackage
    COU
    Screenshot of OS Data Hub, showing an example of the Data packages list screen.
    Screenshot showing an example of the Data packages list screen in the OS Data Hub.
    Screenshot of OS Data Hub, showing an example of the Data packages list screen.
    Screenshot showing an example of the Data packages list screen in the OS Data Hub.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    Screenshot of the OS Data Hub, showing the OS Select+Build Recipe Library screen.
    Screenshot of the Add a data package screen in the OS Data Hub, showing an example of adding a data package to a recipe.
    'INSERT_API_KEY_HERE'
    with the API Key from your project.
  • Add a variable called collectionId, replacing 'INSERT_COLLECTIONID_HERE' with the collection ID for the desired OS NGD feature type and version (for example, bld-fts-buildingpart-1).

  • and
    view
    . Add the following code inside the JavaScript block:

    The above code creates the main map instance using the OpenLayers library where you can specify various properties:

    • target: Defines where the map should be displayed. In this instance, it is set to the id of the <div> element.

    • layers: An array containing the layers to be added to the map.

    • view: Defines the initial view of the main, containing various settings such as projection, extent (the geographic bounds of the map), minimum and maximum zoom levels, centre of the map and the initial zoom level.

    this means that data from OS NGD API – Features will be loaded based on the visible map extent.
  • To create a separate layer to overlay OS NGD data onto the map, you will need to add the ngdFeatures layers to the ol.map object to render both layers on the map.

  • Features within the viewport extent will load initially (first 100 features) and will continue to load as you pan across the map.

    , ,

    , , , ,

    , , , ,

    , , , , , , , , , , , , , , , , , , ,

    , , , , , , , , , , , , ,

    , , ,

    , ,

    OS NGD Buildings

    Building Features

    Building, Building Access Location, Building Line, Building Part

    OS NGD Geographical Names

    Named Features

    Crowd Sourced Name Point, Named Area, Named Point, Named Road Junction

    OS NGD Land

    Land Features

    Land, Land Point, Landform, Landform Line, Landform Point

    OS NGD Terminology and access page
    OS Places API

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    Screenshot showing the OS Data Hub homepage.
    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu.

    4

    Choose Create a new recipe

    Click the Create a new recipe button at the top right-hand-side of the screen.

    5

    Add details to the recipe

    • Give your recipe a descriptive name.

    • Add a detailed description for your recipe.

    • Select your OS NGD data by choosing the themes, collections and feature types you want to include in your recipe.

    • (Optional) Add filters to the feature types, if needed; more information about this is available on the .

    (Optional) Choose a data schema version

    If you wish to choose which schema version (where applicable) you'd like to receive the data in for a feature type, click on the feature type name within the tree view in the secondary navigation menu, then choose a data schema version from the drop-down box in the right-hand side panel.

    6

    Finish creating the recipe

    Click the Create recipe button. Your new recipe will now instantly be available in your OS Select+Build Recipe Library.

    Please note

    • We recommend defining a naming convention for your organisation before creating OS NGD recipes and / or data packages.

    • Adding filters to feature types is an optional step for those with advanced OS data knowledge; see the for more information on applying filters and step-by-step instructions.

    • Selecting a data schema version for a feature type is an optional step; if you don't choose a particular data schema version for a feature type, OS Select+Build will always select the latest available data schema version for you for each feature type by default. See the for more information.

    What's next?

    How do I find my OS Select+Build Recipe Library?

    Any recipes created by your organisation will be stored in your OS Select+Build Recipe Library in the OS Data Hub.

    To find your OS Select+Build Recipe Library:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    Screenshot showing the OS Data Hub homepage.
    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    Choose Downloads > OS Select+Build Recipe Library from the secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    How do I check what's in a recipe?

    You can easily check details about any of your organisation's existing recipes, including a recipe's name, description, creation date, author, the filters used (if applicable), and what OS NGD themes, collections and feature types are included in a recipe.

    To check what's in an existing recipe:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    Choose Downloads > OS Select+Build Recipe Library from the secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    4

    Navigate to the recipe you'd like to find out more about

    Select the recipe you're interested in from the menu. In this view, you can see the following high-level details about a recipe:

    • The recipe's name

    5

    Find out what OS NGD themes, collections and feature types are in a recipe

    Clicking on a recipe opens the detailed information view, where you can find more information about the recipe, including:

    • The recipe's name

    How do I delete a recipe?

    A recipe can be deleted within your recipe library. You can do this if you are the author of the recipe or an admin user.

    To delete a recipe:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    Choose Downloads > OS Select+Build Recipe Library from the secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    4

    Find the recipe you want to delete

    In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to delete.

    5

    Open the detailed recipe view

    Click on the name of the recipe to view the recipe details. In this view, you will be able to see the Recipe actions dropdown (where you can share, edit or delete a recipe).

    6

    Open the recipe actions dropdown

    7

    Delete the recipe

    • Click on the name of the recipe to view the recipe details.

    Creating new recipes

    Finding your OS Select+Build Recipe Library

    Checking what's in a recipe

    Deleting recipes

    A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

    1

    Set up your HTML file

    • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

    • Add the basic HTML structure to your file with a placeholder <div> for the map.

    2

    Insert your API Key and OS NGD collection

    • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing

    3

    Add a basemap

    • Define the configuration options for the map, defining minZoom, maxZoom, center

    4

    Add an OS NGD API – Features layer

    • Create a function called fetchFeatures that fetches the API based on the current map extent (bounding box) by generating a bbox string.

    5

    Load and update features on the map dynamically

    The map.on('moveend',...) event handler fetches and updates the features based on the map's current extent.

    What's next?

    Congratulations! You've successfully created a map using Leaflet and added an OS NGD layer using OS NGD API – Features in a few steps.

    Now you can continue to explore Ordnance Survey's code examples to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

    Leaflet

    A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

    1

    Set up your HTML file

    • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

    • Add the basic HTML structure to your file with a placeholder <div> for the map.

    2

    Insert your API Key

    • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE'

    3

    Adding a fetch and response interceptor

    • We need to intercept and customise the style request, adding a tiles property to provide a correctly formatted URL and ensure authentication through the apiKey is enabled to make sure that the correct tiles are requested.

    4

    Create a map and map view

    • Initialize the map object using the L.Map class to configure the vector tile layer and the mapOptions variable to define its properties – minZoom

    What's next?

    Congratulations! You've successfully created a vector map using Leaflet using OS NGD API – Tiles in a few steps.

    Now you can continue to explore Ordnance Survey's code examples to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

    Leaflet
    OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.
  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

  • 1

    Set up your HTML file

    • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

    • Add the basic HTML structure to your file with a placeholder <div> for the map.

    2

    Insert your API Key

    • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE'

    3

    Tile grid set up

    • To correctly render the vector tiles within OpenLayers, you will need to fetch the defined EPSG:3857 Tile Matrix Set and style definitions from the OS NGD API – Tiles service. The two endpoints provide information about the structure of the vector tiles and how the styles are to be applied.

    4

    Define a vector tile layer

    • Define the a new vector tiles layer and source that will be used to fetch vector tiles from OS NGD API – Tiles. The ol.layer.VectorTile uses a ol.source.OGCVectorTile

    5

    Create a map and map view

    • Initialize the map object using the ol.map class to configure the vector tile layer and define its properties – target, layers

    What's next?

    Congratulations! You've successfully created a vector map using OpenLayers using OS NGD API – Tiles in a few steps.

    Now you can continue to explore Ordnance Survey's code examples to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

    OpenLayers
    2025 announcements

    Autumn 2025 – OS NGD data enhancements releases now live

    The Autumn 2025 data enhancements releases for the OS NGD are now live. To find out more information about what these enhancements include, please see the 'What's New?' page.

    July 2025 – Improvements to data in the OS NGD Building, OS NGD Land, OS NGD Land Use, OS NGD Structures and OS NGD Water Features Collections

    We are making numerous improvements to data in the OS NGD Building, OS NGD Land, OS NGD Land Use, OS NGD Structures and OS NGD Water Features Collections in July 2025; to find out information about what these improvements include, please see the OS NGD Improvements page.

    June 2025 – Edit a recipe functionality added to OS Select+Build

    You can now edit a recipe in OS Select+Build to add or remove themes / feature types, or change attribute filtering or data schema versions. Please see 'How do I edit a recipe?' on the Downloading with OS Select+Build page for more details.

    June 2025 – OS NGD GSS code data improvements for OS NGD Buildings, OS NGD Structures, OS NGD Land, OS NGD Transport features and OS NGD Water features

    We have enhanced the assignment and maintenance of Government Statistical Service (GSS) codes, which are used to accurately identify a wide range of UK geographical areas for statistical and administrative purposes. This improvement increases the precision and reliability of boundary representation within our datasets. To find out more information about what these improvements include, please see the OS NGD Improvements page.

    June 2025 – OS NGD Building Feature Type data improvements for Basement Presence, Construction Material and Number of Floors

    As a result of work in collaboration with Verisk, there will be improvements made in June 2025 to the Basement Presence, Construction Material and Number of Floors attribution in the OS NGD Building Feature Type. To find out more information about what these improvements include, please see the OS NGD Improvements page.

    May 2025 – Height data enhancement for OS NGD Structures and OS NGD Buildings data

    A new enhancement to the way OS NGD Structures and OS NGD Buildings data is created is now live. To find out more information about what these enhancements include, please see the OS NGD Improvements page.

    March 2025 – OS NGD enhancements release now live

    The March 2025 enhancements release for the OS NGD is now live. To find out more information about what these enhancements include, please see the 'What's New' page.

    2024 announcements

    OS NGD Address Christmas shutdown

    There will be no daily updates of OS NGD Address over the Christmas shutdown period (24/12/2024–01/01/2025). Updates will resume as normal on the 02 January 2025.

    OS NGD Data Viewer now available

    We've added links to the new OS NGD Data Viewer to this site (under the 'Using OS NGD Data' section and in the OS NGD Sample Data Information page). The viewer lets you visualise product sample data online for three areas (Exeter, Newport and Inverness).

    Sample data for most OS NGD feature types are available. The sample data always use the latest data schema version available for each feature type.

    OS NGD enhancements release now live

    The September 2024 enhancements release for the OS NGD is now live. To find out more information about what these enhancements include, please see the 'What's New?' page.

    Improvement to UPRNs in the Site Feature Type, OS NGD Land Use Theme

    Improvement details

    The Site Feature Type within the OS NGD Land Use Theme includes an attribute that references the primary Unique Property Reference Number (UPRN) for the site extent. Previously, the Primary UPRN attribute was only populated when there was a single address within the site extent. The improvement introduces new logic to determine the population of this attribute with the appropriate primary UPRN when there is more than one UPRN within a site extent.

    Approximately 1.4 million sites are being improved as a result of this improvement.

    The improvement will be available to customers automatically through the OS NGD access services of OS Select+Build and OS NGD API – Features.

    Impact to customers

    Customers do not need to take any direct action as a result of this improvement. On 19 August 2024, some customers may have experienced a slight delay in receiving their daily OS Select+Build orders or on any new orders placed that day.

    Customers with an existing order that includes the Site Feature Type may have noticed an increase in the size of their change-only update (COU) file on 19 August 2024 or might notice an increase in the size of their next monthly update on 01 September 2024, as approximately 1.4 million sites are being improved.

    OS NGD Buildings Theme COU pause

    There is planned maintenance scheduled for the OS NGD Buildings Theme from Saturday 20 July 2024 to Monday 22 July 2024 to run an upgrade to one of our background systems which underpins the OS NGD. This maintenance is needed to enhance the data which will be made available in the OS NGD Buildings Theme in September 2024.

    During the planned maintenance period, the OS NGD Buildings Theme will not have any updates available and the daily Change-Only Update (COU) files received will be empty. In addition, the data within OS Select+Build and OS NGD API – Features will not be updated daily for the OS NGD Buildings Theme.

    At the end of the maintenance period, all the changes will be made available and any daily COU files are likely to be larger than normal.

    Any customers receiving monthly COU files will not be affected.

    OS NGD Features Collections bug fixes

    From 07 June to 08 June 2024, bug fixes are being applied to 1.6 million features across the OS NGD Features Collections, as part of our ongoing efforts to provide better data.

    These improvements include fixes to Associated Structure, Land Use Tier A and Land Use Tier B values.

    Planned maintenance on six OS NGD themes

    Background system maintenance for the OS NGD is required to deliver the enhancements scheduled for September 2024. The planned maintenance period will be from Sunday 16 June through to Saturday 29 June, at the latest.

    Throughout the maintenance period, all the OS NGD access services (OS Select+Build and the OS NGD APIs) will remain available to customers with no disruption to the service availability. The data within these services will not be updated daily with surveyed change for the following affected OS NGD collections:

    • Building Features

    OS NGD enhancements release now live

    The March 2024 enhancements release for the OS NGD is now live. To find out more information about what these enhancements include, please see our .

    What's next?

    🆕 What's New?

    A high-level summary of new data enhancements and service updates launched for the OS NGD.

    📜 Change Log

    This page lists all changes made to OS NGD documentation. Changes will be made for a variety of reasons, including reflecting any alterations made to the OS NGD data itself as we enhance and improve the offering, plus simple improvements to the documentation to aid understanding.

    🔧 OS NGD Improvements

    A high-level summary of recent improvements implemented for the OS NGD.

    🚀 Future OS NGD Data Enhancements

    A high-level summary of upcoming data enhancements for the OS NGD.

    July 2025 – Improvements to the OS NGD Building, OS NGD Land, OS NGD Land Use, OS NGD Structures and OS NGD Water Features Collections

    The following improvements will be implemented into the OS NGD during a planned maintenance period in July 2025; more details on the timing of the scheduled maintenance can be found on the OS NGD Live Service Disruption and Planned Maintenance page.

    Improvements on 'Industry And Business' and 'Business Or Industrial Park' Land Use Sites and related attribution on Topographic Areas

    As a result, customers will see improvements to over 400 000 ‘Industry and Business’ and ‘Business or Industrial Park’ sites in the OS NGD Land Use Collection and their corresponding topographic area feature (Building, Building Part, Land, Structure, and Water Feature Types). These enhancements will be visible in the OS Land Use Tier A attribute.

    We have also improved the following OS Land Use Tier A definitions to improve clarity and the accuracy of classifications:

    • Commercial Activity: Industrial Or Manufacturing – Locations where raw materials are extracted or processed, or where component parts are made into finished items. This classification typically only applied to larger sites > 1ha in extent.

    • Commercial Activity: Other – Locations where commercial activities occur, where a more detailed classification has not been determined or are not otherwise categorised.

    This was caused by our original background mappings which classified a commercial site as Industrial or Manufacturing by default when no further detail was available. This misleadingly resulted in retail areas or offices displaying as places where raw materials are extracted and processed where we do not currently have a data source. This will be a target area for future improvements.

    Improvements to show the full lifecycle of a building in a single theme – OS NGD Buildings Theme

    In preparation for the OS NGD product release in September 2025, we will be making some background changes to the OS NGD Buildings Theme. Approximately 39 000 features representing under-construction buildings – currently classified under the OS NGD Land Features Collection – will be reclassified into the OS NGD Building Features Collection. This transition will begin in June 2025, with the data initially appearing in the Building Part Feature Type. In the September 2025 OS NGD product release, the same data will also be available in the corresponding Building Feature Type.

    These changes will enable a more complete view of the building lifecycle – from construction through to dereliction – within a single collection, ultimately delivering more valuable insights to our customers.

    Improved depiction of inland water polygons no longer splitting inland water polygons with Topographic Lines

    To improve customers’ ability to query and report using OS data, we will no longer be splitting inland water polygons where Topographic Lines for Ferry Alignments cross water polygons. As a result, Ferry Alignments will show as Minor Topographic Lines in both OS MasterMap Topography Layer and OS NGD themes, where Water polygon features formerly split by a ferry will merge into more logical single features.

    Improved coverage of OS Land Use Tier B attribution on Solar Panels

    Over 27 000 ‘Solar Panels on Bare Earth Or Grass’ within the OS NGD Structures Theme will have an OS Land Use Tier B of ‘Energy Generation’ added where they currently are null to improve accuracy of reporting for renewables.

    Improvements to ‘Status’ of Roofed Castle Wall in OS NGD Building Part Feature Type

    Currently 27 Roofed Castle Wall features are incorrectly listed with a Status of ‘Derelict’ in our Building Part Feature Type data. These are being updated to have a Status of ‘Unknown’ as there is no available information to confirm whether the features are in such disrepair that they can no longer serve their original purpose.

    Improved consistency of intertidal classifications on features in the OS NGD Land and OS NGD Water Themes

    As part of our background work to improve the data quality of features within the intertidal zone, 23 features currently attributed as ‘Inter Tidal + Reeds’ located in the OS NGD Water Theme will be reclassified and published in the OS NGD Land Theme as ‘Saltmarsh’ features with Is Tidal attribute = true in the product reflecting their correct environmental context. 

    Improved consistency of Weirs in the OS NGD Structures Theme

    To enhance the customer experience, we have revised mappings to consolidate almost all ‘weir’ and ‘roofed weir’ features into the OS NGD Structures Theme. Weirs that do not make up the tidal extent will now be published as Structures in all cases. Those that are necessary for tidal boundaries will remain in the OS NGD Water Theme. As a result, approximately 8 000 new features will be added to the Structure Line Feature Type, which sits within the Structure Features Collection of the OS NGD Structures Theme. The Change Type attribute will therefore show as ‘Moved From A Different Feature Type.’

    Knowing the location of weirs is useful for flood planning, monitoring freshwater ecosystems and environmental modelling.

    Please note, there are 53 roofed weirs which have not moved to the OS NGD Structures Theme as part of this data improvement, and these will remain in the OS NGD Buildings Theme. 

    Improved consistency of Slipways in the OS NGD Land Theme

    Previously, slipways were categorised into two separate themes within the OS NGD product. Slipways below the tidal extent were classified as Structures, while those above the tide line were classified as Land. To enhance the customer experience, we have revised the mappings to consolidate all slipway features previously in the OS NGD Structures Theme into the OS NGD Land Theme, with the Is Tidal attribute set to 'true'. In addition, to better the customer experience, this change also allows for easier implementation of lifecycle for the OS ESG (Slipways) product. As a result, approximately 3 800 weir features will be added to the Land Feature Type, and will be removed from the Structure Feature Type.

    Improvements to ‘Grandstands’ in OS NGD Building and OS NGD Building Part Feature Types

    As part of ongoing improvements to the OS NGD, approximately 60 features currently in the OS NGD Structure Features Collection with a classification of 'Grandstand' will move to the OS NGD Building Features Collection, where they will have other descriptions such as ‘Stand’ to improve consistency and accuracy of capture of Building Access Locations.

    June 2025 – OS NGD GSS code data improvements for OS NGD Building Features, OS NGD Land Features, OS NGD Transport Features, OS NGD Structure Features and OS NGD Water Features Collections

    We are pleased to share a recent enhancement which improves how administrative boundary changes are reflected in the OS NGD ‘Features’ Collections.

    We have enhanced the assignment and maintenance of Government Statistical Service (GSS) codes, which are used to accurately identify a wide range of UK geographical areas for statistical and administrative purposes. This improvement increases the precision and reliability of boundary representation within our datasets.

    The feature types affected are:

    • Building Part v2.0

    • Land v3.0

    • Road Track Or Path v3.0

    • Structures v3.0

    • Water v3.0

    This improvement will be incorporated in the June 2025 OS NGD Features Collections daily updates from 13/06/2025. As a result of this improvement work, customers receiving daily updates may receive larger than usual Change-Only Updates (COUs) and customers taking monthly supplies may receive larger than usual COUs in their July 2025 data package.

    We anticipate similar levels of change in October 2025 and May 2026, aligned with updates to the OS NGD Boundaries Collection, as we continue to deliver the most up-to-date data possible.

    June 2025 – OS NGD Building Feature Type data improvements for Basement Presence, Construction Material and Building Age

    As a result of work in collaboration with Verisk, there will be improvements made in June 2025 to the Basement Presence, Construction Material and Building Age attribution in the OS NGD Building Feature Type. This work has involved improving the processing of energy performance certificate (EPC) data to increase accuracy; changes in some capture type and confidence levels in OS NGD data may be seen.

    As a result of this improvement work, customers may receive larger than usual Change-Only Updates (COUs) if they take a daily supply of OS NGD Building Feature Type data schema versions 2.0, 3.0 and 4.0 throughout June 2025 as the data flows through. Customers taking their supply monthly of this feature type may receive larger than usual COUs in their July 2025 data package. No action is required by customers. If you have any further questions, please get in touch.

    May 2025 – Height data enhancement for OS NGD structures and OS NGD buildings data

    At Ordnance Survey, we are modernising our data creation platforms. This includes the creation of additional height data for our building and structures datasets. A recent key improvement we've made as part of these efforts was to improve the accuracy and granularity of the height evidence date attribute, which details the date of capture for the imagery used to derive the height data.

    Previously, height metadata was derived from large imagery flight blocks (exceeding 500km²), which sometimes required several flights over multiple days. This occasionally resulted in buildings and structures being assigned an imagery date different from the actual capture date.

    Our new system allows the population of imagery date metadata to a more granular level, using the appropriate flight block. This ensures there is only one imagery date per building or structure feature, giving a more accurate representation of height evidence date for a specific feature. As a result, from 10 May 2025, some customers using Change-Only Updates (COUs) may notice that a small number of height evidence dates have changed to slightly older dates as we move to the new system. This change reflects more accurate data, not incorrect data.

    This impacts some features in the following data schema versions:

    • Structures

      • Structure Feature Type v1.0

      • Structure Feature Type v2.0

      • Structure Feature Type v3.0

    • Buildings

      • Building Part Feature Type v1.0

      • Building Part Feature Type v2.0

      • Building Feature Type v4.0

    Some customers may also see a larger than usual supply of COU if taking a daily supply of the above data schema versions as change begins to flow into the data from the start of our flying season, where data is captured using aerial imagery during the National Cyclic Revision (NCR) programme.

    The .xlsx file below contains a complete list of features across all feature types that have a revised height evidence date that's earlier than previously stated.

    Please see Data schema versioning for more information about versioning in the OS NGD.

    12MB
    BFH_BackwardsInTime_ProdFeatures.xlsx
    Open
    coordinate reference system
    CSV
    GeoPackage
    Screenshot showing the one-off snapshot check box option when creating a new data package in OS Select+Build in the OS Data Hub.
    Screenshot showing the one-off snapshot option when creating a new data package in OS Select+Build.
    Screenshot of OS Select+Build during the new data package creating stage showing the one-off snapshot check box option selected and a date selected.
    Screenshot of OS Select+Build showing the one-off snapshot check box option selected and a date selected.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    Screenshot showing an example of adding a data package to a recipe using OS Select+Build in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
     UI showing OS NGD API – Tiles data in the Layers panel and map area.

    MapLibre GL JS

    Accessing OS NGD API – Tiles via MapLibre GL JS

    MapLibre GL JS is a free and powerful JavaScript library for displaying interactive maps on the web. It's based on Mapbox GL JS and provides a wide range of features for creating maps with custom styles, markers and interactivity.

    What you'll need

    • OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

    • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

    1

    Set up your HTML file

    • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

    What's next?

    Congratulations! You've successfully created a vector map using MapLibre GL JS using OS NGD API – Tiles in a few steps.

    Now you can continue to explore Ordnance Survey's to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>OS NGD API – Features | Template (EPSG:3857) | OpenLayers</title>
        
        <!--Add the Ordnance Survey Styling-->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/[email protected]/os-api-branding.css" />
        <script src="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/[email protected]/os-api-branding.js"></script>
        
        <!--Add the OpenLayers libraries-->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/ol.css" />
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ol.js"></script>
        
        <style>
            /* Set the map container size and style */
            body { margin: 0; padding: 0; }
            #map { position: absolute; top: 0; bottom: 0; width: 100%; }
        </style>
    </head>
    <body>
        
        <!--Create a div element to hold the map-->
        <div id="map"></div>
        
        <!--Add your Javascript code below--> 
        <script>
            // Your Javascript code will go here
    
        </script>
    
    </body>
    </html>
    // Set API Key 
     const apiKey = 'INSERT_API_KEY_HERE';
     
     const collectionId= 'INSERT_COLLECTIONID_HERE';
    // Initialize the map object.
        const map = new ol.Map({
            target: 'map',
            layers: [
                new ol.layer.Tile({
                    source: new ol.source.XYZ({
                        url: `https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key=${apiKey}`
                    })
                })
            ],
            view: new ol.View({
                projection: 'EPSG:3857',
                extent: ol.proj.transformExtent([ -10.76418, 49.528423, 1.9134116, 61.331151 ], 'EPSG:4326', 'EPSG:3857'),
                minZoom: 7,
                maxZoom: 20,
                center: ol.proj.fromLonLat([ -3.541809, 50.727589 ]),
                zoom: 18
            })
        });
    // Create the NGD Features API layer (with BBOX strategy).
        const ngdFeatures = new ol.layer.Vector({
            source: new ol.source.Vector({
                format: new ol.format.GeoJSON(),
                url: function(extent) {
                    return (
                        `https://api.os.uk/features/ngd/ofa/v1/collections/${collectionId}/items?key=${apiKey}&bbox=${extent.join(',')}&bbox-crs=http://www.opengis.net/def/crs/EPSG/0/3857`
                    );
                },
                strategy: ol.loadingstrategy.bbox
            })
        });
    
        // Add the NGD Features API layer to the map.
        map.addLayer(ngdFeatures);

    All of the OS NGD access services (OS Select+Build and the OS NGD APIs) will remain available to customers with no disruption to service availability.

    Land Features

  • Land Use Features

  • Structure Features

  • Transport Features

  • Water Features

  • Any daily Change-Only Update (COU) files for the other OS NGD collections will be unaffected during the maintenance period.

    Customers will continue to be able to access all daily COU orders during the maintenance period and any new orders. During the maintenance period, any COU files for the above affected OS NGD collections will continue to be delivered and will be smaller than normal or empty. At the end of the maintenance period, all the surveyed changes for the affected OS NGD collections will be made available, and any daily COU files are likely to be larger than normal.

    Any customers who receive monthly COU files will not be affected.

    OS NGD Address Theme

    The fix for the known data issue relating to the description of Parish and Community Government Statistical Services (GSS) codes as Ward GSS codes and vice versa will be rolled out to 4 million features (UPRNs) a day alongside the usual daily updates starting from 17 May 2024 until 27 May 2024.

    This will result in larger daily Change-Only Update (COU) files. On 01 June 2024, the OS NGD Address Theme monthly COU file will be larger than a Full Supply file as all features will have a delete record and an update record.

    ⚙️ Data and Service Status

    Find out about OS NGD planned maintenance, any live service disruption, current data issues and resolved data issues.

    ✨ OS NGD Key Benefits to Customers

    Find out what the key benefits of the OS NGD are.

    🗺️ OS NGD Sample Data

    Download OS NGD sample data or visualise it online.

    📖 OS NGD Fundamentals

    OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

    ▶️ Getting Started

    Our getting started guides will help you access, use and style OS NGD data. You'll also find in-depth information on OS NGD design, and webinars, tutorials and case studies.

    ❓ FAQs

    View frequently asked questions about OS NGD data and access methods (OS Select+Build and OS NGD APIs).

    🗃️ Data Structure

    Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

    📝 Code Lists

    Access all of the code lists for the OS NGD.

    'What's New?' page
    OS NGD Land Use
    Land Use Features
    Site
    Site Access Location
    Site Routing Point
    OS NGD Structures
    Structure Features
    Compound Structure
    Field Boundary
    Structure
    Structure Line
    Structure Point
    OS NGD Transport
    Transport Features
    Cartographic Rail Detail
    Rail
    Road Line
    Road Track Or Path
    Street Light
    Transport Network
    Bus Lane
    Connecting Link
    Connecting Node
    Cycle Lane
    Ferry Link
    Ferry Node
    Ferry Terminal
    Path
    Path Link
    Path Node
    Railway Link
    Railway Link Set
    Railway Node
    Pavement Link
    Road
    Road Junction
    Road Link
    Road Node
    Street
    Tram On Road
    Routing and Asset Management Information (RAMI)
    Average And Indicative Speed
    Highway Dedication
    Maintenance Area
    Maintenance Line
    Maintenance Point
    Reinstatement Area
    Reinstatement Line
    Reinstatement Point
    Restriction
    Routing Hazard
    Routing Structure
    Special Designation Area
    Special Designation Line
    Special Designation Point
    OS NGD Water
    Water Features
    Inter Tidal Line
    Tidal Boundary
    Water
    Water Point
    Water Network
    Water Link
    Water Link Set
    Water Node
    Logo
    Logo
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Maputnik UI with a map shown in the map view.
    Map styling options available in the Maputnik UI, which can be found in Layers panel > Paint properties.
    Screenshot showing an example of the OS NGD Recipe prefix on a recipe name. The OS NGD Recipe prefix on the recipe name is highlighted in yellow.
    Screenshot showing an example of the OS NGD Recipe prefix on a recipe name. The OS NGD Recipe prefix on the recipe name is highlighted in yellow.
    Screenshot showing an example of a Data package summary screen in the OS Data Hub, with the Package options dropdown open.
    YouTube video showing how to create and download a data package using OS Select+Build.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    YouTube video showing how to add a temporal filter to a new data package in OS Select+Build.

    The recipe's author

  • The date the recipe was created

  • A description of the recipe, if one has been added

  • OS NGD theme tags to show which themes are included in the recipe

  • In the screenshot below, you can see that the example recipe includes the following OS NGD themes: Land, Buildings, and Structures:

    Screenshot of the OS Select+Build Recipe Library screen, which shows high-level details about the contents of an example recipe.

    A description of the recipe, if one has been added

  • An option to view all of the filters applied to feature types in the recipe (if applicable)

  • The date the recipe was created

  • The recipe's author

  • An option to show the data schema version of each feature type in the recipe

  • A recipe tree detailing the OS NGD themes, collections, and feature types included in the recipe

  • Screenshot of the OS Select+Build Recipe details screen, which shows in-depth information about the contents of an example recipe.

    If there are no data packages associated with the recipe, you will be asked to confirm the deletion of the recipe.

  • Where there are data packages associated, you will see the following warning:

  • Click the Delete recipe button.

  • A shared recipe cannot be deleted.

    📚 Getting started with data packages

    Once you've created a recipe, you'll need to create a data package against it to receive your OS NGD data. This guide takes you through creating a new data package to apply against your newly created recipe.

    Getting started with attribute filtering page
    Getting started with attribute filtering page
    Data schema versioning page
    Screenshot of the OS Select+Build Recipe creator screen within the OS Data Hub, showing an example of creating a new recipe and selecting a data schema version for a feature type.
    Screenshot showing an example of selecting a data schema version for a feature type in a new recipe using OS Select+Build in the OS Data Hub.
    Screenshot of the OS Data Hub, showing the OS Select+Build Recipe Library screen.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    'INSERT_API_KEY_HERE'
    with the API Key from your project.
  • Add a variable called collectionID, replacing 'INSERT_COLLECTIONID_HERE' with the collection ID for the desired OS NGD feature type and version (for example, bld-fts-buildingpart-1).

  • ,
    zoom
    ,
    maxBounds
    ,
    attributionControl
    .
    • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

    • center: Sets the initial centre point of the map.

    • zoom: Sets the initial zoom level of the map.

    • maxBounds: Defines the maximum bounds and restricts panning the map.

    • style: Defines the style of the map, configured via a URL pointing at the style specified.

    • attributionControl: When set to 'false', it hides the attribution control which displays map credits.

  • Initialize the map with the id of the <div> element and the configuration option defined in mapOptions.

  • Using the 'L.tileLayer' method, specify the basemap layer for OS Maps API, which includes your API Key to load the tiles to your map.

  • Construct the API request URL to fetch OS NGD data from OS NGD API – Features. The URL includes the collectionId, bbox and apiKey.

  • Once the features have been returned in JSON, update the source data of the map's layers to display the features.

  • Features within the viewport extent will load initially (first 100 features) and will continue to load as you pan and zoom across the map.
    with the API Key from your project.
  • Inside the <script> tag, add another variable called collectionIdwith the collection ID for the OS NGD API – Tiles basemap – ngd-base.

  • Add the following code inside the JavaScript block:

    ,
    maxZoom
    ,
    maxBounds
    ,
    center
    and
    zoom
    .

    The above code creates the main map instance using the Leaflet library where you can specify various properties:

    • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

    • maxBounds: Defines the maximum bounds and restricts panning the map.

    • center: Sets the initial centre point of the map.

    • zoom: Sets the initial zoom level of the map.

    with the API Key from your project.
  • Inside the <script> tag, add another variable called collectionId with the collection ID for the OS NGD API – Tiles basemap – ngd-base.

  • A promise.all is used to process the data to ensure that both requests are completed before proceeding.

  • Based on the fetched Tile Matrix Set data, a tile grid is defined using the ol.tilegrid.TileGrid class. The tile grid provides information about the resolution, origin and tile sizes to handle the vector tiles correctly.

  • Add the following code inside the JavaScript block:

  • source to retrieve tiles from the API.
  • After creating the vector layer, you will need to use a style function to ensure that the Ordnance Survey styles are applied to each tile. Use the olms.applyStyle function to retrieve the style sheets available for the basemap.

  • and
    view
    .

    The above code creates the main map instance using the OpenLayers library where you can specify various properties:

    • target: Defines where the map should be displayed. In this instance it is set to the ID of the <div> element.

    • layers: An array containing the layers to be added to the map.

    • view: Defines the initial view of the main, containing various settings such as projection, extent (the geographic bounds of the map), minimum and maximum zoom levels, centre of the map and the initial zoom level.

    Add the basic HTML structure to your file with a placeholder <div> for the map.
    2

    Insert your API Key

    • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE' with the API Key from your project.

    • Inside the <script> tag, add another variable called collectionId with the collection ID for the OS NGD API – Tiles basemap – ngd-base.

    3

    Adding a fetch and response interceptor

    • We need to intercept and customise the style request, adding a tiles property to provide a correctly formatted URL and ensuring authentication through the apiKey is enabled to make sure that the correct tiles are requested.

    • Add the following code inside the JavaScript block:

    4

    Create a map and map view

    • Initialise the map object using the maplibregl.Map class to configure the vector tile layer and define its properties – container, minZoom, maxZoom, maxBounds, style, center and zoom.

    • Add navigation controls to the map, excluding the compass button and disabling map rotation.

    The above code creates the main map instance using the MapLibre GL JS library where you can specify various properties:

    • container: Defines where the map should be displayed. In this instance, it is set to the ID of the <div> element.

    • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

    code examples

    OS NGD API – Features landing page

    get
    Responses
    200

    Ordnance Survey National Geographic Database API – Features landing page.

    application/json
    400

    The request was not supported.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    get
    /

    Get a single OS NGD feature collection

    get

    Get information about an OS NGD feature collection

    Path parameters
    collectionIdstring · enumRequired

    A known collection ID.

    Example: bld-fts-building-1Possible values:
    Responses
    200

    A single Ordnance Survey National Geographic Database feature collection.

    application/json
    400

    The request was not supported.

    404

    Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    get
    /collections/{collectionId}

    Get schema for a single OS NGD feature collection

    get
    Path parameters
    collectionIdstring · enumRequired

    A known collection ID.

    Example: bld-fts-building-1Possible values:
    Responses
    200

    Schema for an Ordnance Survey National Geographic Database feature collection.

    */*
    400

    The schema request is not supported. Please refer to documentation for examples.

    404

    Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    get
    /collections/{collectionId}/schema

    Get a list of queryable attributes for this feature collection

    get
    Path parameters
    collectionIdstring · enumRequired

    A known collection ID.

    Example: bld-fts-building-1Possible values:
    Responses
    200

    A list of queryable attributes and their types for this feature collection.

    application/json
    400

    The queryable request is not supported. Please refer to documentation for examples.

    404

    Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    get
    /collections/{collectionId}/queryables

    Retrieve features in the feature collection

    get
    Authorizations
    keystringRequired
    keystringRequired
    OAuth2clientCredentialsRequired
    Token URL:
    Path parameters
    collectionIdstring · enumRequired

    A known collection ID.

    Example: bld-fts-building-1Possible values:
    Query parameters
    bboxnumber[] · min: 4 · max: 6Optional

    The optional bbox parameter specifies a supported bounding box. Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four comma-separated numbers: Lower left corner, coordinate axis 1 (e.g. min x axis) Lower left corner, coordinate axis 2 (e.g. min y axis) Upper right corner, coordinate axis 1 (e.g. max x axis) Upper right corner, coordinate axis 2 (e.g. max y axis)The default coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter bbox-crs.

    Example: [-0.183678,51.474968,-0.068321,51.540143]
    bbox-crsstring · enumOptional

    The coordinate reference system of the bbox parameter. It must be a 2D coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

    Possible values:
    crsstring · enumOptional

    The coordinate reference system of the response geometries. It must be a coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

    Possible values:
    datetimestringOptional

    Either a local date, a date-time with UTC time zone (Z) or an open or closed interval. Open ranges in time intervals at the start or end are supported using a double-dot (..) or an empty string for the start/end. Date and time expressions adhere to RFC 3339. Examples:A date-time: '2021-12-12T23:20:50Z'A closed interval: '2021-12-12T00:00:00Z/2021-12-18T12:31:12Z'Open intervals: '2021-12-12T00:00:00Z/..' or '../2021-12-18T12:31:12Z'An interval until now: '2018-02-12T00:00:00Z/..' or '2018-02-12T00:00:00Z/'Selects features that have a temporal property that intersects the value of the parameter.

    Example: 2018-02-12T00:00:00Z/..
    limitinteger · min: 1 · max: 100Optional

    The optional limit parameter limits the number of items that are presented in the response document. Minimum = 1. Maximum = 100. Default = 100.

    offsetintegerOptional

    The optional offset parameter skips past the specified number of features in the collection. Minimum = 0. Default = 0.

    filterstringOptional

    The optional filter parameter is a filter expression in CQL format which is applied when retrieving resources to determine which resources are included in a result set.

    filter-crsstring · enumOptional

    Specify which of the supported CRSs to use to encode geometric values in a filter expression. It must be a 2D coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

    Possible values:
    filter-langstring · enumOptional

    The optional filter-lang parameter is the specific language used for the filter parameter. Default = cql-text

    Possible values:
    Responses
    200

    A list of features in a feature collection.

    application/geo+json
    400

    The items request is not supported. Please refer to documentation for examples.

    404

    Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    504

    The request has timed out. Please check the service availability dashboard: https://osdatahub.os.uk/serviceStatus .

    get
    /collections/{collectionId}/items

    Retrieve a feature from the feature collection

    get
    Authorizations
    keystringRequired
    keystringRequired
    OAuth2clientCredentialsRequired
    Token URL:
    Path parameters
    collectionIdstring · enumRequired

    A known collection ID.

    Example: bld-fts-building-1Possible values:
    featureIdstringRequired

    A feature ID which is the identifier(id) for the feature.

    Example: 11111111-1111-1111-1111-111111111111
    Query parameters
    crsstring · enumOptional

    The coordinate reference system of the response geometries. It must be a coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

    Possible values:
    Responses
    200

    A single feature in the feature collection.

    application/geo+json
    400

    The feature request contains elements that are not supported. Please refer to documentation for examples.

    404

    The feature collection '{collectionId}' or feature with id:'{featureId}' could not be found. Please check it is a supported collection or feature.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    504

    The request has timed out. Please check the service availability dashboard: https://osdatahub.os.uk/serviceStatus .

    get
    /collections/{collectionId}/items/{featureId}

    Get list of all OS NGD feature collections

    get

    Get a list of all the available OS NGD feature collections

    Responses
    200

    All Ordnance Survey National Geographic Database feature collections.

    application/json
    400

    The request was not supported.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    get
    /collections

    OS NGD API – Features conformance page

    get
    Responses
    200

    Ordnance Survey National Geographic Database API – Features conformance page.

    application/json
    400

    The request was not supported.

    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    406

    A request header value was not supported.

    get
    /conformance

    File formats and naming

    Available formats for OS NGD data

    OS NGD data is available in four easy-to-use formats: GeoPackage, CSV (comma-separated values), GeoJSON and vector tiles. The download service of OS Select+Build supports GeoPackage and CSV. OS NGD API – Features supports GeoJSON. OS NGD API – Tiles supports vector tiles.

    Getting started with attribute filtering

    Step-by-step instructions on how to add attribute filters to recipes in your OS Select+Build Recipe Library.

    Introducing attribute filtering

    Attribute filtering is a new concept which we have introduced as part of OS Select+Build. The filters can help you to narrow down the exact data you need from the OS NGD. If required, you can add attribute filters to individual feature types when you create a new bespoke recipe of OS NGD data using OS Select+Build. The has step-by-step instructions on how to create a new recipe. You can also add, edit or remove attribute filters to / in / from feature types in an existing recipe of OS NGD data.

    Attribute filtering is an optional step for those with advanced OS data knowledge.

    MapLibre GL JS

    Accessing OS NGD API – Features via MapLibre GL JS

    is a free and powerful JavaScript library for displaying interactive maps on the web. It's based on Mapbox GL JS and provides a wide range of features for creating maps with custom styles, markers and interactivity.

    What you'll need

    • OS Maps API and OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

    Resolved Data Issues

    This page lists resolved data issues in relation to the OS NGD themes, collections and feature types.

    Please see the page for details about current live data issues issues.

    Any live interruptions to the availability of OS NGD API – Features and OS NGD API – Tiles will be documented on the .

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>OS NGD API – Features | Template (EPSG:3857) | Leaflet</title>
        
        <!--Add the Ordnance Survey Styling-->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/[email protected]/os-api-branding.css" />
        <script src="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/[email protected]/os-api-branding.js"></script>
        
        <!--Add the Leaflet libraries-->
        <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
        <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
        
       
        <style>
            /* Set the map container size and style */
            body { margin: 0; padding: 0; }
            #map { position: absolute; top: 0; bottom: 0; width: 100%; }
        </style>
    </head>
    <body>
        
        <!--Create a div element to hold the map-->
        <div id="map"></div>
        
        <!--Add your Javascript code below--> 
        <script>
            // Your Javascript code will go here
    
        </script>
    
    </body>
    </html>
    // Add event which will be triggered when the map has finshed moving (pan + zoom).
    // Implements a simple strategy to only request data when the map viewport invalidates
    // certain bounds.
        map.on('moveend', function() {
            let bounds1 = new L.latLngBounds(bounds.getSouthWest(), bounds.getNorthEast()),
                bounds2 = map.getBounds();
    
            if( JSON.stringify(bounds) !== JSON.stringify(bounds1.extend(bounds2)) ) {
                bounds = bounds2;
                fetchFeatures(bounds);
            }
        });
    // Set API Key 
     const apiKey = 'INSERT_API_KEY_HERE';
     
     const collectionId= 'INSERT_COLLECTIONID_HERE';
    // Initialize the map.
        const mapOptions = {
            minZoom: 7,
            maxZoom: 20,
            center: [ 50.727589, -3.541809 ],
            zoom: 18,
            maxBounds: [
                [ 49.528423, -10.76418 ],
                [ 61.331151, 1.9134116 ]
            ],
            attributionControl: false
        };
    
        const map = L.map('map', mapOptions);
    
        // Load and display ZXY tile layer on the map.
        const basemap = L.tileLayer(`https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key=${apiKey}`, {
            maxZoom: 20
        }).addTo(map);
    // Add layer group to make it easier to add or remove layers from the map.
        const lyrGroup = new L.layerGroup().addTo(map);
    
    // Define an asynchronous function to fetch and display the NGD Features API features.
        async function fetchFeatures(bounds) {
            // Generate a BBOX string for the map extent.
            const bbox = bounds.toBBoxString();
    
            // Construct the NGD Features API request URL.
            const url = `https://api.os.uk/features/ngd/ofa/v1/collections/${collectionId}/items?key=${apiKey}&bbox=${bbox}`;
    
            // Fetch features from the API endpoint.
            const features = await fetch(url).then(response => response.json());
    
            // Parse the GeoJSON data and display it on the map.
            lyrGroup.clearLayers().addLayer(L.geoJSON(features));
        }
    
    // Get the visible map bounds (BBOX).
        let bounds = map.getBounds();
    
    // Initial fetch and display of features.
        fetchFeatures(bounds);
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>OS NGD API – Tiles | Template (EPSG:3857) | Leaflet</title>
        
        <!--Add the Ordnance Survey Styling-->
        <link rel="stylesheet" href="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.css" />
        <script src="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.js"></script>
        
        <!--Add the Leaflet libraries-->
        <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
        <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/maplibre-gl.css" />
        <script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
        <script src="https://unpkg.com/[email protected]/dist/maplibre-gl.js"></script>
        <script src="https://unpkg.com/@maplibre/[email protected]/leaflet-maplibre-gl.js"></script>
        
        <style>
            /* Set the map container size and style */
            body { margin: 0; padding: 0; }
            #map { position: absolute; top: 0; bottom: 0; width: 100%; }
        </style>
    </head>
    <body>
        
        <!--Create a div element to hold the map-->
        <div id="map"></div>
        
        <!--Add your Javascript code below--> 
        <script>
            // Your Javascript code will go here
    
        </script>
    
    </body>
    </html>
    // Set API Key and collection ID
     const apiKey = 'INSERT_API_KEY_HERE';
     
     const collectionId = 'ngd-base';
    // Modify the JSON style request incorporate a `tiles` property which lists an array of tile endpoints.
    // The '&key=' HTTP query parameter is also appended to each tile endpoint to authenticate the request.
    // NOTE: The {z}, {x} and {y} template values are replaced with the corresponding integers at runtime.
        const { fetch: originalFetch } = window;
        window.fetch = async (...args) => {
            let [ resource, config ] = args;
    
            let response = await originalFetch(resource, config);
            if( response.url != `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857` )
                return response;
    
            // Response interceptor.
            const json = () =>
                response.clone().json().then((data) => {
                    delete data.sources[ collectionId ].url;
                    data.sources[ collectionId ].tiles = [ `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/tiles/3857/{z}/{y}/{x}?key=${apiKey}` ];
                    return data;
                });
    
            response.json = json;
            return response;
        };
    // Initialize the map.
        const mapOptions = {
            minZoom: 7,
            maxZoom: 20,
            center: [ 50.727589, -3.541809 ],
            zoom: 18,
            maxBounds: [
                [ 49.528423, -10.76418 ],
                [ 61.331151, 1.9134116 ]
            ],
            attributionControl: false
        };
    
        const map = L.map('map', mapOptions);
    
        // Load and display vector tile layer on the map.
        const gl = L.maplibreGL({
            style: `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857`
        }).addTo(map);
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>OS NGD API – Tiles | Template (EPSG:3857) | OpenLayers</title>
        
        <!--Add the Ordnance Survey Styling-->
        <link rel="stylesheet" href="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.css" />
        <script src="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.js"></script>
        
        <!--Add the OpenLayers libraries-->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/ol.css" />
        <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ol.js"></script>
        <script src="https://unpkg.com/[email protected]/dist/olms.js"></script>
            
        <style>
            /* Set the map container size and style */
            body { margin: 0; padding: 0; }
            #map { position: absolute; top: 0; bottom: 0; width: 100%; }
        </style>
    </head>
    <body>
        
        <!--Create a div element to hold the map-->
        <div id="map"></div>
        
        <!--Add your Javascript code below--> 
        <script>
            // Your Javascript code will go here
    
        </script>
    
    </body>
    </html>
    // Set API Key and collection ID
     const apiKey = 'INSERT_API_KEY_HERE';
     
     const collectionId = 'ngd-base';
    // Define the Tile Grid and style
    
    const tmsPromise = fetch('https://api.os.uk/maps/vector/ngd/ota/v1/tilematrixsets/3857').then((response) => response .json());
    const glStylePromise = fetch(`https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857`).then((response) => response .json());
    
    Promise.all([tmsPromise, glStylePromise]).then((values) => {
        const tms = values[0];
        const glStyle = values[1];
    
        const tilegrid = new ol.tilegrid.TileGrid({
            resolutions: tms.tileMatrices.map(({ cellSize }) => cellSize),
            origin: tms.tileMatrices[0].pointOfOrigin,
            tileSize: [ tms.tileMatrices[0].tileHeight, tms.tileMatrices[0].tileWidth ]
        });
    // Define the vector tile layer.
        const formatMvt = new ol.format.MVT();
        formatMvt.supportedMediaTypes.push('application/octet-stream');
    
        const vectorTileLayer = new ol.layer.VectorTile({
            source: new ol.source.OGCVectorTile({
                url: `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/tiles/3857?key=${apiKey}`,
                format: formatMvt,
                projection: 'EPSG:3857',
                tileGrid: tilegrid
            }),
            declutter: true
        });
    
    // Apply a style function to the vector tile layer.
        olms.applyStyle(
            vectorTileLayer,
            glStyle,
            collectionId,
            { styleUrl: null } ,
            tilegrid.getResolutions()
        );
    // Initialize the map object.
        const map = new ol.Map({
            layers: [ vectorTileLayer ],
            target: 'map',
            view: new ol.View({
                projection: 'EPSG:3857',
                extent: ol.proj.transformExtent([ -10.76418, 49.528423, 1.9134116, 61.331151 ], 'EPSG:4326', 'EPSG:3857'),
                resolutions: tilegrid.getResolutions(),
                minZoom: 6,
                maxZoom: 19,
                center: ol.proj.fromLonLat([ -3.541809, 50.727589 ]),
                zoom: 17
            })
        });
    });
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>OS NGD API – Tiles | Template (EPSG:3857) | MapLibre GL JS</title>
        
        <!--Add the Ordnance Survey Styling-->
        <link rel="stylesheet" href="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.css" />
        <script src="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.js"></script>
        
        <!--Add the MapLibre GL JS libaries -->
         <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/maplibre-gl.css" />
        <script src="https://unpkg.com/[email protected]/dist/maplibre-gl.js"></script>
        
        <style>
            /* Set the map container size and style */
            body { margin: 0; padding: 0; }
            #map { position: absolute; top: 0; bottom: 0; width: 100%; }
        </style>
    </head>
    <body>
        
        <!--Create a div element to hold the map-->
        <div id="map"></div>
        
        <!--Add your Javascript code below--> 
        <script>
            // Your Javascript code will go here
    
        </script>
    
    </body>
    </html>
    Screenshot of the delete recipe dialogue showing a warning about associated data packages.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub. This screen shows high-level details about an example recipe, including the recipe name, its author, the creation date, a description of the recipe, and the OS NGD themes present within the recipe.
    Screenshot of the OS Data Hub, showing the OS Select+Build recipe details screen. This screen shows in-depth information about an example recipe, including the recipe name, a description of the recipe, the filters used, the creation date, its author, and the OS NGD themes, collections and feature types present within it.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    YouTube video showing how to create a recipe using OS Select+Build.
    GET /features/ngd/ofa/v1/ HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "title": "text",
      "description": "text",
      "links": [
        {
          "href": "text",
          "rel": "text",
          "type": "text",
          "title": "text"
        }
      ]
    }
    {
      "id": "text",
      "title": "text",
      "description": "text",
      "crs": [
        "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
      ],
      "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "itemType": "text",
      "extent": {
        "spatial": {
          "bbox": [
            [
              1
            ]
          ],
          "crs": "text"
        },
        "temporal": {
          "interval": [
            [
              "text"
            ]
          ],
          "trs": "text"
        }
      },
      "links": [
        {
          "href": "text",
          "rel": "text",
          "type": "text",
          "title": "text"
        }
      ]
    }
    GET /features/ngd/ofa/v1/collections/{collectionId} HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "ANY_ADDITIONAL_PROPERTY": {}
    }
    GET /features/ngd/ofa/v1/collections/{collectionId}/schema HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "$schema": "text",
      "$id": "text",
      "type": "text",
      "title": "text",
      "description": "text",
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "type": "text",
          "format": "text",
          "maxLength": 1,
          "pattern": "text",
          "description": "text",
          "hierarchy": "text",
          "parent": "text",
          "child": "text",
          "minItems": 1,
          "maxItems": 1,
          "items": {
            "title": "text",
            "type": "text",
            "format": "text",
            "maxLength": 1,
            "pattern": "text",
            "description": "text",
            "hierarchy": "text",
            "parent": "text",
            "child": "text",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "title": "text",
              "type": "text",
              "format": "text",
              "maxLength": 1,
              "pattern": "text",
              "description": "text",
              "hierarchy": "text",
              "parent": "text",
              "child": "text",
              "minItems": 1,
              "maxItems": 1,
              "items": {
                "title": "text",
                "type": "text",
                "format": "text",
                "maxLength": 1,
                "pattern": "text",
                "description": "text",
                "hierarchy": "text",
                "parent": "text",
                "child": "text",
                "minItems": 1,
                "maxItems": 1,
                "items": "[Circular Reference]",
                "enum": [
                  "text"
                ]
              },
              "enum": [
                "text"
              ]
            },
            "enum": [
              "text"
            ]
          },
          "enum": [
            "text"
          ]
        }
      }
    }
    GET /features/ngd/ofa/v1/collections/{collectionId}/queryables HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    GET /features/ngd/ofa/v1/collections HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "links": [
        {
          "href": "text",
          "rel": "text",
          "type": "text",
          "title": "text"
        }
      ],
      "crs": [
        "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
      ],
      "collections": [
        {
          "id": "text",
          "title": "text",
          "description": "text",
          "crs": [
            "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
          ],
          "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
          "itemType": "text",
          "extent": {
            "spatial": {
              "bbox": [
                [
                  1
                ]
              ],
              "crs": "text"
            },
            "temporal": {
              "interval": [
                [
                  "text"
                ]
              ],
              "trs": "text"
            }
          },
          "links": [
            {
              "href": "text",
              "rel": "text",
              "type": "text",
              "title": "text"
            }
          ]
        }
      ]
    }
    GET /features/ngd/ofa/v1/conformance HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "conformsTo": [
        "text"
      ]
    }
    {
      "type": "text",
      "links": [
        {
          "href": "text",
          "rel": "text",
          "type": "text",
          "title": "text"
        }
      ],
      "timeStamp": "2025-12-13T04:31:57.360Z",
      "features": [
        {
          "id": "text",
          "type": "text",
          "geometry": {
            "type": "text",
            "coordinates": [
              {
                "x": 1,
                "y": 1
              }
            ]
          },
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {}
          }
        }
      ]
    }
    GET /features/ngd/ofa/v1/collections/{collectionId}/items HTTP/1.1
    Host: api.os.uk
    key: YOUR_API_KEY
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    {
      "id": "text",
      "type": "text",
      "geometry": {
        "type": "text",
        "coordinates": [
          {
            "x": 1,
            "y": 1
          }
        ]
      },
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {}
      }
    }
    GET /features/ngd/ofa/v1/collections/{collectionId}/items/{featureId} HTTP/1.1
    Host: api.os.uk
    key: YOUR_API_KEY
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    maxBounds: Defines the maximum bounds and restricts panning the map.
  • style: Defines the style of the map, configured via a URL pointing at the default style for the 'collectionId' defined.

  • center: Sets the initial centre point of the map.

  • zoom: Sets the initial zoom level of the map.

  • CSV overview

    CSV files are delimited text files which use commas to separate each attribute from the next. CSV is one of the file formats available via OS Select+Build. A single record is commonly provided per line, with a new line being started for each new record.

    Geometry attribution will be provided as Well-Known Text (WKT).

    CSV offers the following benefits:

    • The single file is familiar to many customers and well used across GIS and data science tools.

    • It is plug and play with most databases.

    • The ability to quickly load large datasets using COPY method rather than INSERT.

    If you want a file format that allows you to quickly load OS NGD data into a database / central data repository and the option to receive COU (Change-Only Update) supplies, then CSV is your best choice.

    Please be aware that CSV files are designed to be opened in a database or GI system, and opening them in other software applications could corrupt the data. In particular, Excel has a row limit which might be exceeded by some of our CSV files containing OS NGD data, depending on the order you placed and its size. We recommend that you load CSV files containing OS NGD data directly into a database or GI system, rather than trying to open these files in Excel.

    CSV structure

    The following table shows how different attribute types in the OS NGD are delivered when you choose to receive a CSV format. This includes whether to expect quotes, and how NULL values are treated.

    Attribute type
    Quotes (Y/N)
    If NULL
    Example

    Integer

    N

    "

    123

    Real

    N

    "

    1.23

    Decimal

    GeoPackage overview

    GeoPackage (GPKG) is an open standard data format as defined by the Open Geospatial Consortium (OGC). It is one of the file formats available via OS Select+Build. GeoPackage is designed to be a lightweight format that can contain large amounts of varied and complex data in a single, easy to distribute and ready to use file. Please be advised that older versions of GIS software may need updating before being able to display and interact with GeoPackage files.

    GeoPackage offers the following benefits:

    • The single file is easy to transfer and offers the end-user a rich experience.

    • Attribute names are not limited in length, making it user-friendly.

    • The file size limit is very large at 140TB, so lots of data can be easily accommodated (please note that a file size limit may be imposed by the file system to which the file is written).

    • It supports raster, vector and database formats, making it a highly versatile solution.

    • It is an OGC standard.

    • In most cases, it is a plug and play format.

    If you want a file format that allows you to quickly load full supplies of OS NGD data into a GIS, then GeoPackage is your best option.

    GeoJSON overview

    GeoJSON is an IETF standard designed to represent simple geographical features and their non-spatial attributes. It is used for encoding geographic data structures using JavaScript Object Notation (JSON). GeoJSON is used by OS NGD API – Features.

    More information about the GeoJSON IETF standard can be found here.

    Supported geometry types:

    • Point

    • LineString

    • Polygon

    • Multipart geometries: MultiPoints, MultiLineString, or MultiPolygon features

    Vector tiles overview

    Vector tiles are clipped tiles, or grid squares, composed of layers of vector features which are optimised for caching, scaling and producing map imagery quickly. They serve in a similar way to raster tiles but have the added functionality of being customisable by users. A client application requests tiles based on a zoom level and extent, and the server responds with binary data representing the vector tiles containing the layers to be visualised on that map.

    OS NGD API – Tiles serves vector tiles as raw information which is presented using compressed packets of geographic data using the Protocolbuffer Binary Format (.pbf).

    Vector tiles offer the following benefits:

    • User customisation and styling functionality – customise your map with full and dynamic design control.

    • Small file size – lightweight tiles that are efficient and quick to render in your client application.

    • Pixel perfect maps – high-resolution, beautiful mapping for all devices (web and mobile devices).

    • Snapping ability – due to the data being vector, data can be snapped to and traced.

    • Smooth zooming and scaling effect – a seamless user experience when zooming in and out of maps.

    • Advanced features – vector tiles contain geographic data (not just images) which can be interrogated and analysed.

    File naming

    When you place an order for OS NGD data via OS Select+Build, the following file naming convention will be applied to the data you receive:

    themeshortcode_collectionshortcode_featuretype

    In order to keep file names manageable and not overly long, shortened file names ('short codes') have been used for both the theme and collection. Using short codes in our naming convention also ensures we have consistency in naming between OS Select+Build and the OS NGD APIs.

    An example of how these short codes are used is below, with the example showing a file name which would be created for an order of the Built Address Feature Type within the OS NGD GB Address Collection of the OS NGD Address Theme:

    add_gb_builtaddress

    A full list of the short codes we use in OS Select+Build and the OS NGD APIs is detailed in the following table:

    Theme
    Theme short code
    Collection
    Collection short code

    Buildings

    bld

    Building Features

    fts

    Water

    wtr

    Water Features

    fts

    You can:

    • Add attribute filters to feature types in a new recipe

    • Add, edit or remove attribute filters to / in / from feature types in an existing recipe

    The following sub-sections cover:

    How do I add attribute filters to a new recipe?

    To add attribute filters to a new recipe:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Create a recipe

    Click the Create a new recipe button, adding the relevant details to your recipe.

    See the for more information on creating recipes.

    5

    Add filters to feature types in your recipe

    Click the filter icon next to the feature type(s) you want to add a filter to in the theme selection tree.

    The Advanced Filter Options panel will then slide into view from the right and you can begin to build your filter(s):

    6

    Finish creating the recipe

    Click the Create recipe button. Your new recipe with filters will now instantly be available in your OS Select+Build Recipe Library.

    How do I add attribute filters to an existing recipe?

    To add attribute filters to an existing recipe:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Find the recipe you want to edit

    In your OS NGD Select+Build Recipe Library, scroll or search for the recipe you would like to edit. Once you've found the recipe, click on its name; you'll be taken to the Recipe details screen.

    5

    Edit the recipe

    In the Recipe details screen, click on the Recipe actions dropdown and select Edit recipe.

    You'll now be able to add filters (see Step 6) or remove filters (see Step 7) from feature types in the recipe.

    6

    Add a filter to a feature type

    • Click the filter icon next to the feature type you want to add a filter to in the selection tree for the recipe.

    The Advanced Filter Options panel will then slide into view from the right and you can begin to build your filter(s):

    7

    Remove a filter from a feature type

    • Click the Edit filter iconnext to the feature type you want to remove a filter from in the selection tree for the recipe.

    Worked example of creating a simple filter

    In the following worked example of creating a simple filter, we will use the OS NGD Buildings Theme and select the Building Part Feature Type from the Building Features Collection. Our aim is to build a filter to select buildings where education is recorded as the land use.

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Create a new recipe

    Click the Create a new recipe button.

    See the for more information on creating recipes.

    5

    Add details to the recipe

    • Give your recipe a descriptive name.

    6

    Add a filter to the Building Part Feature Type where the OS Land Use Tier A attribute is set to Education

    • Click on the filter icon to the right of Building Part.

    7

    Finish creating the recipe

    Click the Create recipe button. Your new recipe will now instantly be available in your OS Select+Build Recipe Library.

    Your filter will return buildings where education (Education) is recorded as the land use (OS Land Use Tier A attribute).

    Worked example of creating a nested filter

    What if, in addition to the simple filter above (returning results for buildings with a land use of education), we want those results to show only buildings over 15metres in height? What if you also wanted to add an additional filter to show buildings with a land use of rail? To achieve this, you could create a nested filter using the + Add group option.

    1

    Follow the steps outlined above for creating a simple filter for Building Part until you reach the Advanced Filter Options panel step (Step 6).

    2

    Add a simple filter to the Building Part Feature Type

    • In the Advanced Filter Options panel, click + Add group, then select OSLandUseTierA from the first drop-down.

    • Leave the operator in the second drop-down as: = (i.e. the equal sign), then select Education from the third drop-down.

    3

    Add a nested filter to the Building Part Feature Type

    • Click + Add rule to add a second rule below the OSLandUseTierA rule.

    4

    Finish creating the recipe

    Click the Create recipe button. Your new recipe will now instantly be available in your OS Select+Build Recipe Library.

    Your filter will return results for buildings (Building Part) that have either an education (Education) land use if that building is over 15 metres high or a railway land use (Transport:Rail).

    How do I check if filters are used in an existing recipe?

    To check what filters have been applied to feature types in an existing recipe:

    1

    Log into your OS Data Hub account

    Click Login on the OS Data Hub menu bar to log into your account.

    2

    Navigate to the OS Data Hub workspace

    Select Data from the menu bar to view your workspace.

    3

    Navigate to the OS Select+Build Recipe Library

    4

    Find the recipe you want to check for filter presence on

    In your OS NGD Select+Build Recipe Library, scroll or search for the recipe you would like to edit. Once you've found the recipe, click on its name; you'll be taken to the Recipe details screen.

    5

    Check for filter presence

    You are now within the Recipe details screen, where you can view detailed information about the recipe, including the recipe's name, the date it was created, etc. If filters have been applied to the recipe, a filter icon(i.e. a black funnel symbol) will appear under the recipe name alongside text stating: 'Filters have been applied to this recipe'.

    managing OS Select+Build recipes page
    YouTube video showing how to add attribute filters to a new recipe in OS Select+Build.

    A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

    1

    Set up your HTML file

    • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

    • Add the basic HTML structure to your file with a placeholder <div> for the map.

    2

    Insert your API Key and OS NGD collection

    • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing

    3

    Add a basemap

    • To add the OS Maps API, you will need to define the map style using MapLibre GL JS's format. This specifies the source of map tiles, which will be retrieved from OS Maps API in the 'Light' raster tiles style.

    4

    Add an OS NGD API – Features layer

    • Create an empty GeoJSON placeholder to hold the feature objects called by OS NGD API – Features.

    5

    Load and update features on the map dynamically

    • Event listeners are triggered when the map loads and finishes moving (panning or zooming) to load and update features based on the map's updated extent. Inside the map.on('load',...) event handler, we add styles for various types of features, including polygons, linestrings and points so that any

    What's next?

    Congratulations! You've successfully created a map using MapLibre GL JS and added an OS NGD layer using OS NGD API – Features in a few steps.

    Now you can continue to explore Ordnance Survey's code examples to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

    MapLibre GL JS
    Generic OS NGD resolved data issues

    No current resolved data issues to note that impact multiple OS NGD themes.

    OS NGD Address Theme resolved data issues

    Data Issue Name
    Original Description for Data Issue
    Data Issue Resolution Date
    Resolution Message

    Incorrect GSS code values for Barnsley and Sheffield

    The GSS codes for Sheffield and Barnsley have only been updated in OS NGD Address GB Collection features that have received change-only updates (COUs) since 01/04/2025. Features in Sheffield or Barnsley that have not received COU since this date will display the previous (incorrect) GSS code.

    24/06/2025

    We are pleased to inform you that the fix for GSS codes affecting the OS NGD Address GB Collection was made available to customers on Tuesday 24/06/2025.

    OS NGD Administrative and Statistical Units Theme resolved data issues

    No current resolved data issues to note for this theme.

    OS NGD Buildings Theme resolved data issues

    No current resolved data issues to note for this theme.

    OS NGD Geographical Names Theme resolved data issues

    No current resolved data issues to note for this theme.

    OS NGD Land Theme resolved data issues

    No current resolved data issues to note for this theme.

    OS NGD Land Use Theme resolved data issues

    No current resolved data issues to note for this theme.

    OS NGD Structures Theme resolved data issues

    Data Issue Name
    Original Description for Data Issue
    Resolution Date
    Resolution Message

    Duplicate features in the OS NGD Structures and OS NGD Land Themes, and duplicate features in OS NGD Structures and OS NGD Building Themes

    Following a recent update, not all features which were due to move themes fully migrated from one OS NGD theme to another. There are 3 595 duplicate features in the below themes:

    • 3 584 ‘slipway’ features are in both the OS NGD Structures Theme and the OS NGD Land Theme. These features should only be available in the OS NGD Land theme.

    • 11 ‘Grandstand’ features are in both the OS NGD Structures Theme and the OS NGD Buildings Theme. These features should only be available in the OS NGD Building Part Feature Type.

    The duplicated features have the same ID when represented in the more than one Feature Type.

    02/09/2025

    This issue was resolved on 02 September 2025. Customers who take monthly updates will see this fix in the next update on 01 October 2025.

    OS NGD Transport Theme resolved data issues

    Data Issue Name
    Original Description for Data Issue
    Resolution Date
    Resolution Message

    Unexpected references for Street features in the Highway Dedication Network Reference cross reference table

    Where the Highway Dedication Network Reference cross reference table (used by Highway Dedication features, data schema v1.0) references a Street feature (data schema version 1.0), the Network Reference ID attribute is populated with an OSID rather than a USRN as is expected for Street features. This issue is currently being investigated.

    22/11/2025

    We are pleased to inform you that Updates have been made available to customers on Saturday 22nd November to resolve this data issue. This will require an update to every record in the Highway Dedication Network Reference cross-reference table where a street is referenced, approximately 5.6 million rows. Customers who take monthly updates will see this fix in the next update on 01 December 2025.

    Road Links with unexpected pavement update dates

    17 Road Link features (data schema versions 2.0, 3.0 and 4.0) with an incorrect Presence of Pavement Update Date attribute date value in the future (2999). The update date should reflect when the attribute was last updated, so it should never be a future date. This issue is currently being investigated.

    05/11/2025

    This issue was resolved on 05 November 2025. Customers who take monthly updates will see this fix in the next update on 01 December 2025.

    OS NGD Water Theme resolved data issues

    Data Issue Name
    Original Description for Data Issue
    Resolution Date
    Resolution Message

    Unexpectedly null Catchment Name and Catchment ID for Water Links

    Approximately 19 000 Water Link features (data schema version 1.0) incorrectly have a null Catchment Name and Catchment ID. Only links which straddle catchment boundaries or sit entirely outside catchments should have null values in these attributes.

    28/10/2025

    This issue was resolved on 28 October 2025. Customers who take monthly updates will see this fix in the next update on 01 November 2025.

    Water Link features with an End Node attribute value of 'MissingXRef'

    3 667 Water Link features (data schema version 1.0) erroneously have an End Node attribute value of 'MissingXRef'. This may cause problems with validation as the value is not a valid OSID.

    28/10/2025

    This issue was resolved on 28 October 2025. Customers who take monthly updates will see this fix in the next update on 01 November 2025.

    Orphaned Water Nodes

    Archived resolved data issues for temporal filtering

    Resolved data issues older than six months are included in the tabs below under each OS NGD theme.

    Snapshots of OS NGD data retrieved through temporal filtering in OS Select+Build may include issues with the data that were present at the time but have since been resolved. The following tabs contain details of resolved data issues more than six months old, arranged by the OS NGD themes they apply to.

    For more information on temporal filtering within OS Select+Build, please see the getting started with temporal filtering page.

    Data Issue Name
    Original Description for Data Issue
    Resolution Date
    Resolution Message

    Interruption to the supply of Daily Updates for OS NGD Building Part (February 2025) and impact on topological data ‘surface’ of OS NGD 'Feature' Collections

    We are currently deploying improvements to the Building Height data available on OS NGD Building Part (data schema v1.0 and v2.0) until 24 February 2025. During this period, daily updates to the Building Part Feature Type, such as changes captured by surveyors, will be temporarily paused. These changes will be reflected in the product data after the completion of the improvements.

    Consequently, users may observe anomalies in the consistency of the topological surface when utilising various OS NGD 'Feature' Collections (such as OS NGD Land Features). These anomalies will manifest as holes or overlaps where the Building Part feature has not been updated concurrently with the surrounding features. This impact will also be visible in OS NGD API – Features and OS NGD API – Tiles.

    Please note that we advise against using counts from the OS NGD Building Part Feature Type with a temporal filter set between 02 February 2025 and 24 February 2025 as the counts may not be accurate due to the impact on a small number of topographic features.

    Data Issue Name
    Original Description for Data Issue
    Resolution Date
    Resolution Message
    Data Issue Name
    Original Description for Data Issue
    Resolution Date
    Resolution Message
    Current Known Data Issues
    Service Availability Dashboard on the OS Data Hub

    What data is available?

    What feature types are available in OS NGD API – Tiles?

    Basemap (ngd-base)

    The following table details the OS NGD datasets that were used to create the OS NGD API – Tiles basemap. The result is a detailed OS basemap that combines and OS NGD data.

    Theme
    Collection
    Feature Type(s)

    Find out more about the hierarchy of OS NGD data from the .

    If you are interested in addressing information, provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

    Data overlays

    The following table details the OS NGD datasets that can be used as overlays to the basemap to add additional information:

    Theme
    Collection
    Feature Type(s)
    Collection ID

    Attribution available in OS NGD API – Tiles

    The following attribution is available as part of OS NGD API – Tiles:

    CollectionID
    Layer(s)
    Available Attribution

    The map features do not contain every OS NGD feature type, nor the complete list of attribution available within the feature types that are included; we have purposefully only selected feature types and a subset of attribution from them that are useful for visualisation as this keeps the tiles lightweight and quick to render.

    The inclusion of unique identifiers (IDs), where available, allows you to cross-reference with the full product, for example, with . Find out more about OS NGD .

    Update frequency

    Collection ID
    Update Frequency

    Although OS NGD API – Tiles will be updated weekly, the data updates are based on the set (for example, the OS NGD Structure Features Collection currency is daily, whereas the OS NGD Water Network Collection currency is monthly).

    here
    // Set API Key and collection ID
     const apiKey = 'INSERT_API_KEY_HERE';
     
     const collectionId = 'ngd-base';
    // Modify the JSON style request incorporate a `tiles` property which lists an array of tile endpoints.
    // The '&key=' HTTP query parameter is also appended to each tile endpoint to authenticate the request.
    // NOTE: The {z}, {x} and {y} template values are replaced with the corresponding integers at runtime.
        
        const { fetch: originalFetch } = window;
        window.fetch = async (...args) => {
            let [ resource, config ] = args;
    
            let response = await originalFetch(resource, config);
            if( response.url != `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857` )
                return response;
    
            // Response interceptor.
            const json = () =>
                response.clone().json().then((data) => {
                    data.sources[ collectionId ].tiles = [ `${data.sources[ collectionId ].url}/{z}/{y}/{x}?key=${apiKey}` ];
                    delete data.sources[ collectionId ].url;
                    return data;
                });
    
            response.json = json;
            return response;
        };
    // Initialize the map object.
        const map = new maplibregl.Map({
            container: 'map',
            minZoom: 6,
            maxZoom: 19,
            maxBounds: [ [ -8.74, 49.84 ], [ 1.96, 60.9 ] ],
            style: `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857`,
            center: [ -3.541809, 50.727589 ],
            zoom: 17,
            attributionControl: false
        });
    
        map.dragRotate.disable(); // Disable map rotation using right click + drag.
        map.touchZoomRotate.disableRotation(); // Disable map rotation using touch rotation gesture.
    
        // Add navigation control (excluding compass button) to the map.
        map.addControl(new maplibregl.NavigationControl({
            showCompass: false
        }));

    N

    "

    1.23

    Text

    N

    "

    Some Text

    Text (including comma in string)

    Y

    "

    "Some, Text"

    Array (code list)

    Y

    "

    "item 1,item 2"

    Timestamp

    N

    "

    2022-08-17T00:00:00.000Z

    Date

    N

    "

    2022-08-31

    Water Network

    ntwk

    Land

    lnd

    Land Features

    fts

    Structures

    str

    Structure Features

    fts

    Transport

    trn

    Transport Features

    fts

    Transport Network

    ntwk

    RAMI

    rami

    Administrative and Statistical Units

    asu

    Boundaries

    bdy

    Address

    add

    GB Address

    gb

    Islands Address

    isl

    Geographical Names

    gnm

    Named Features

    fts

    For a simple filter, select +Add rule.
  • For a more complex nested filter, select +Add group.

  • Once you have added all of your relevant filters, click Apply Filter.

  • For a simple filter, select +Add rule.

  • For a more complex nested filter, select +Add group.

  • Once you have added all of your relevant filters, click Apply Filter.

  • Screenshot of the OS Select+Build Recipe Edit recipe screen with the Advanced Filter Options panel showing, where you can add a filter to a recipe.
    • Select Save changes.

    • Add a description of the change you have made, then select Save changes.

    When the Advanced Filter Options panel slides into view from the right, select Clear all filters.

    Screenshot of the OS Select+Build Recipe Edit recipe screen with the Advanced Filter Options panel showing. There is one filter applied to the Building Part Feature Type.
    • Select Save changes.

    • Add a description of the change you have made, then select Save changes.

    Add a detailed description for your recipe
  • Select your OS NGD data by choosing the themes, collections and feature types you want to include in your recipe. For this worked example:

    • Click on the arrow to the right of Buildings within the theme selection tree to see the collections available within the theme, then click on the arrow to the right of Buildings Features to see the feature types available within that collection.

    • Click on the check box next to Building Part to select that feature type.

  • Screenshot showing a filter icon against the selected feature type in the theme selection tree in OS Select+Build
    The Advanced Filter Options panel will slide into view from the right, where you can begin to build your filter(s):
    • In the Advanced Filter Options panel, click + Add rule, then select OSLandUseTierA from the first drop-down.

    Screenshot of adding a rule in the Advanced Filter Options panel in OS Select+Build.
    • Leave the operator in the second drop-down as: = (i.e. the equal sign), then select Education from the third drop-down.

    Screenshot of adding a rule in the Advanced Filter Options panel in OS Select+Build.
    • Click the Apply filter button.

    In the second rule, select relativeHeightMaximum from the first drop-down, set the operator in the second drop-down as > (i.e. the more than sign), and type 15 in the input box.

  • Before continuing, select whether you would like the rules within the group to have an And or an Or condition. In this case, you should select And from the And / Or selector.

  • Screenshot of creating a nested filer in the Advanced Filter Options panel in OS Select+Build.
    • Next, click + Add group.

    Screenshot of creating a nested filter in the Advanced Filter Options panel in OS Select+Build.
    • The application has drawn an extra box for you. Whatever rules are contained inside this box will be evaluated together, before combining with any rules outside the box.

    • Before continuing, select whether you would like the rule in the second group to have an And or an Or condition. In this case, you should select Or from the And / Or selector.

    • In the rule in the extra box, select OSLandUseTierA from the first drop-down, leave the operator as = (i.e. the equal sign) in the second drop-down, and select Transport: Rail from the third drop-down.

    • Click Apply filter.

    Screenshot of creating a nested filter with And and Or conditions in the Advanced Filter Options panel in OS Select+Build.
    Click
    View all filters
    to view all of the filters that have been applied to feature types in the recipe.

    In the example recipe below, you can see that there is a filter icon(i.e. the black funnel symbol) against the Building Part Feature Type; therefore, this feature type has filters applied to it.

    Screenshot of the OS Select+Build Recipe details screen, which shows in-depth information about the contents of an example recipe.

    Adding filters to a new recipe

    Adding filters to an existing recipe

    Creating a simple filter (worked example)

    Creating a more complex nested filter (worked example)

    Checking if filters are used in an existing recipe

    Managing OS Select+Build recipes page
    Managing OS Select+Build recipes page
    Screenshot of the OS Select+Build Recipe details screen with the Recipe actions dropdown open, showing where you can share, edit or delete a recipe.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    A screenshot of the OS Data Hub home page showing the sign up and log in buttons in the top right hand corner
    Screenshot showing the OS Data Hub homepage.
    Filter icon in OS Select+Build
    Filter icon in OS Select+Build
    Filter icon in OS Select+Build
    Filter icon in OS Select+Build
    Filter icon in OS Select+Build

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.

    Choose Downloads > OS Select+Build Recipe Library from the left hand side secondary navigation menu. You will then be taken to your organisation's OS Select+Build Recipe Library.

    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    'INSERT_API_KEY_HERE'
    with the API Key from your project.
  • Add a variable called collectionId, replacing 'INSERT_COLLECTIONID_HERE' with the collection ID for the desired OS NGD feature type and version (for example, bld-fts-buildingpart-1).

  • Initialise the map object using the maplibregl.Map class to configure the basemap layer and define its properties – container, minZoom, maxZoom, maxBounds, style, center and zoom.

  • Add navigation controls to the map, excluding the compass button and disabling map rotation.

  • The above code creates the main map instance using the MapLibre GL JS library where you can specify various properties:

    • container: Defines where the map should be displayed. In this instance, it is set to the id of the <div> element.

    • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

    • maxBounds: Defines the maximum bounds and restricts panning the map.

    • style: Defines the style of the map, configured via a URL pointing at the style specified.

    • center: Sets the initial centre point of the map.

    • zoom: Sets the initial zoom level of the map.

    Create a function called fetchFeatures that fetches the API based on the current map extent (bounding box) by generating a bbox string.
  • Construct the API request URL to fetch OS NGD data from OS NGD API – Features. The URL includes the collectionId, bbox and apiKey.

  • Once the features have been returned in JSON, update the source data of the map's layers to display the features.

  • collectionId
    specified will render.

    The map.on('moveend',...) event handler will then fetch and update the features based on the map's current extent.

    Features within the viewport extent will load initially (first 100 features) and will continue to load as you pan and zoom across the map.

    Speed data is supplied quarterly from our third-party supplier. We have identified an issue in which OS have not correctly processed this data. This has resulted in possible incorrect values in the Average and Indicative Speed Feature Type.

    25/07/2024

    This issue was resolved on 25 July 2024. Any data ordered or provided after this date will include the fixed data.

    Welsh speed limit changes

    On 17 September 2023, default 20 mph speed limits were introduced across Wales. We are aware that these changes are not yet reflected in the Average and Indicative Speed Feature Type. Speed limit data is supplied by our third-party supplier quarterly. The most recent supply occurred before the Welsh speed limit changes took place and therefore will not be reflected in the OS NGD until the next supply. We expect the updated Welsh speed limits to be in NGD from December 2023.

    13/12/2023

    This issue was resolved on 13 December 2023. Any data ordered or provided after this date will include updated Welsh speed limit data.

    Incorrect speed values

    In the Average and Indicative Speed Feature Type, the indicative speed value for individual Road Links can be inferred by Ordnance Survey. We are aware that in certain instances some of these indicative speed values are incorrect. We are working to resolve this issue and have an approximate implementation date of the start of July 2023. This issue impacts just over 2% (174 000) of the total Road Links in the Average and Indicative Speed Feature Type.

    02/07/2023

    This issue was resolved on 02 July 2023. Any data ordered or provided after this date will include the fixed data.

    1 007 Water Node features (data schema version 1.0) are not referenced by any extant Water Link.

    28/10/2025

    This issue was resolved on 28 October 2025. Customers who take monthly updates will see this fix in the next update on 01 November 2025.

    Unexpected Water Link names

    Approximately 4 000 Water Link features (data schema version 1.0) are not being named as expected: Name 1 Text / Name 2 Text attribute populated with the name from the longest (by length) named waterway; Name Secondary 1 Text attribute populated with the name of the next longest named waterway, etc.

    28/10/2025

    This issue was resolved on 28 October 2025. Customers who take monthly updates will see this fix in the next update on 01 November 2025.

    24/02/2025

    The improvements were completed by 24/02/2025 as planned and Daily Updates resumed as normal for impacted feature types.

    Please note that we advise against using counts from the OS NGD Building Part Feature Type with a temporal filter set between 02 February 2025 and 24 February 2025 as the counts may not be accurate due to the impact of the improvement work on a small number of topographic features.

    3D geometry missing in GeoPackage format for some feature types in the OS NGD Transport Network and Water Network Collections

    In the OS NGD Transport Network Collection and OS NGD Water Network Collection, there are multiple feature types that contain 3D geometry. We are aware of an issue where 3D geometry is not being supplied in the GeoPackage format. This issue impacts the following feature types: Connecting Link, Connecting Node, Ferry Link, Ferry Node, Path Link, Path Node, Road Link, Road Node, Water Link and Water Node. Customers taking CSV format will not be affected.

    26/11/2024

    This issue was resolved on 26 November 2024. To receive updated data:

    • Customers who have only ordered once: Customers will need to re-order to receive the corrected data.

    • Monthly Update Customers: 01 December monthly updates with corrected data will be supplied as normal.

    • Annual Update Customers: 01 January annual updates with corrected data will be supplied as normal.

    Topographic features missing from four feature types

    From 26 September 2024 to 31 October 2024, an issue affected the following four OS NGD feature types, causing features to be missing from the data:

    • OS NGD Building Part Feature Type: ~80 000 features are missing from data schema v2.0 compared to data schema v1.0.

    • OS NGD Land Feature Type: ~38 000 features are missing from data schema v3.0 compared to data schema v2.0.

    • OS NGD Water and OS NGD Structure Feature Types: ~100 features are missing in total across both feature types from data schema v3.0 compared to data schema v2.0.

    For example, where an affected Building feature should be visible, a blank area will instead be seen, creating a ‘gap’:

    31/10/2024

    This issue was resolved on 31 October 2024. Any data ordered or provided after this date will include the fixed data.

    Please note, we advise against using counts from the four aforementioned affected OS NGD feature type datasets when taking historic snapshots of data between 26 September 2024 and 31 October 2024 as the counts may not be accurate due to the missing topographic features.

    Site count discrepancies for some Land features

    In a small number of instances, the Containing Site Count attribute presents the wrong value in Land features. This error only impacts 0.7% of Land features, and we expect it to be fixed by early October 2024.

    12/10/2024

    This issue was resolved on 12 October 2024. Any data ordered or provided after this date will include the fixed data.

    Duplicate Street Light features

    There are around 84 000 Street Light features that are duplicated in Milton Keynes, Bedford and surrounding areas. This means that in this area, each street Light geometry is replicated twice; however, each geometry will still have its own unique OSID.

    03/04/2025

    This issue was resolved on 03 April 2025. Customers who take monthly updates will see this fix in the next update on 01 May 2025.

    Incorrect Street Light coverage values on Road Links

    We are aware of an issue that has caused a small number of incorrect values for Street Light coverage attribution on Road Links. Impacted Road Links will have a Presence Of Street Light Coverage attribute value that does not align with the evidence of street light presence in the Street Light Feature Type.

    For example, a Road Link that has Street Lights features along it may have a coverage value of 'Fully Unlit' when it does in fact have Street Light features alongside it.

    This issue affects approximately 0.45% of Road Links.

    03/04/2025

    This issue was resolved on 03 April 2025. Customers who take monthly updates will see this fix in the next update on 01 May 2025.

    Local Authority District

    Previous GSS Code (prior to 01 April 2025)

    Current GSS Code

    (Effective from 01 April 2025)

    Barnsley

    E08000016

    E08000038

    Sheffield

    E08000019

    E08000039

    Incorrect speed values

    , , ,

    , , ,

    , ,

    , , ,

    , ,

    ,

    wtr-ctch

    ,

    wtr-tidalboundary

    osid, description, versionavailablefromdate

    osid,

    name1_text,

    name2_text,

    versionavailablefromdate

    wtr-ctch

    osid, riverbasindistrictname, versionavailablefromdate

    osid, waterbodyname_text, waterbodycategory, versionavailablefromdate

    wtr_tidalboundary

    N/A

    N/A

    OS NGD Buildings

    Building Features

    Building Part

    OS NGD Geographical Names

    Named Features

    Named Point

    OS NGD Land

    Land Features

    Land, Land Point, Landform, Landform Line

    OS NGD Administrative and Statistical Units

    Boundaries

    Boundary High Water Mark, Ceremonial County, Country, Devolved Parliament Constituency, Devolved Parliament Electoral Region, Electoral Division, GLA Assembly Constituency, Historic County, Historic European Region, Lower Tier Local Authority, Parish Or Community, Polling District, Region, Regional Authority, Upper Tier Local Authority, Ward, Westminster Constituency

    asu-bdy

    OS NGD Transport

    Transport Network

    Railway Link, Railway Link Set, Railway Node

    trn-ntwk-railway

    OS NGD Water

    ngd-base

    All

    osid, description, name1_text (only applicable to the Named Point, Site and Water Link Set layers), designatedname1_text (only applicable to the Road layer), versionavailablefromdate

    asu-bdy

    All

    osid, description, name1_text (only applicable to the Country layer), name2_text,

    pollingdistrictid (only applicable to the Polling District layer), versionavailablefromdate

    trn-ntwk-railway

    Railway Link

    osid, description, railwayuse, operationalstatus, physicallevel, name1_text, versionavailablefromdate

    ngd-base

    Weekly

    asu-bdy

    Biannually

    trn-ntwk-railway

    Monthly

    wtr-ctch

    Updated as and when updates are received from the authoritative bodies

    wtr-tidalboundary

    Monthly

    OS Open Zoomstack
    Terminology and access page in the OS NGD Fundamentals
    OS Places API
    OS NGD API – Features
    Unique identifiers
    currency of the OS NGD collections

    Retrieve the OS NGD API – Tiles landing page for this service.

    get
    Responses
    200

    The landing page provides links to the API definition (link relation service-desc, in this case path /api), to the Conformance declaration (path /conformance, link relation conformance), and to the Collections of geospatial data (path /collections, link relation data).

    application/json
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /

    Retrieve the set of OS NGD API – Tiles conformance classes that are supported by this service.

    get
    Responses
    200

    The URIs of all conformance classes supported by the server

    application/json
    Responseall ofExample: {"conformsTo":["http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core","http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/json","http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/html","http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/oas30","http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/collections","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/core","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tileset","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tilesets-list","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-tilesets","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/dataset-tilesets","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-selection","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/jpeg","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/png","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/mvt","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geojson","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tiff","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/netcdf"]}
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /conformance

    Retrieve the list of geospatial data collections available from this service.

    get
    Responses
    200

    The collections of (mostly geospatial) data available from this API. The dataset contains one or more collections. This resource provides information about and access to the collections. The response contains the list of collections. Each collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is provided, with the corresponding relation type, as well as key information about the collection. This information includes:

    • a local identifier for the collection that is unique for the dataset;
    • a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);
    • an optional title and description for the collection;
    • an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;
    • for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections

    Retrieve the description of a collection available from this service.

    get
    Path parameters
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    Responses
    200

    Information about a particular collection of (mostly geospatial) data available from this API. The collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is contained in the response, with the corresponding relation type, as well as key information about the collection. This information includes:

    • a local identifier for the collection that is unique for the dataset;
    • a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);
    • an optional title and description for the collection;
    • an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;
    • for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').
    application/json
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}

    Retrieve the list of available tiling schemes (tile matrix sets)

    get
    Responses
    200

    List of tile matrix sets (tiling schemes).

    application/json
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /tilematrixsets

    Retrieve the definition of the specified tiling scheme (tile matrix set)

    get
    Path parameters
    tileMatrixSetIdstring · enumRequired

    Identifier for a supported TileMatrixSet

    Possible values:
    Responses
    200

    tile matrix set

    application/json
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /tilematrixsets/{tileMatrixSetId}

    Retrieve the list of styles available from this service.

    get
    Path parameters
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    Responses
    200

    List of available styles.

    application/json
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}/styles

    Root level properties of a style specify the map's layers, tile sources and other resources, and default values for the initial camera position when not specified elsewhere.

    get
    Path parameters
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    styleIdstring · enumRequired

    An identifier representing a specific style.

    Possible values:
    Responses
    200

    OK

    */*
    Responseobject
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}/styles/{styleId}

    Styling resources such as fonts and sprites

    get
    Path parameters
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    styleIdstring · enumRequired

    An identifier representing a specific style.

    Possible values:
    resourceBaseNamestringRequired

    Styling resourece base name.

    Example: sprites
    Responses
    200

    OK

    */*
    Responseobject
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}/styles/{styleId}/{resourceBaseName}/**

    Retrieve a list of available vector tilesets for the specified collection.

    get
    Path parameters
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    Responses
    200

    List of available tilesets.

    application/json
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}/tiles

    Retrieve the vector tileset metadata for the specified collection and tiling scheme (tile matrix set)

    get
    Path parameters
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    tileMatrixSetIdstring · enumRequired

    Identifier for a supported TileMatrixSet

    Possible values:
    Responses
    200

    Description of the tileset

    application/json
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}/tiles/{tileMatrixSetId}

    Retrieve a vector tile from a collection.

    get
    Authorizations
    keystringRequired
    keystringRequired
    OAuth2clientCredentialsRequired
    Token URL:
    Path parameters
    tileMatrixstringRequired

    Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile.

    Example: 15
    tileRowintegerRequired

    Row index of the tile on the selected TileMatrix.

    Example: 11179
    tileColintegerRequired

    Column index of the tile on the selected TileMatrix.

    Example: 16558
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    tileMatrixSetIdstring · enumRequired

    Identifier for a supported TileMatrixSet

    Possible values:
    Responses
    200

    A vector tile returned as a response.

    application/octet-stream
    Responsestring · binary
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}

    Retrieve a vector tile from a collection for Web Mercator Quad EPSG: 3857 tile matrix set.

    get
    Authorizations
    keystringRequired
    keystringRequired
    OAuth2clientCredentialsRequired
    Token URL:
    Path parameters
    tileMatrixstringRequired

    Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile.

    Example: 15
    tileRowintegerRequired

    Row index of the tile on the selected TileMatrix.

    Example: 11179
    tileColintegerRequired

    Column index of the tile on the selected TileMatrix.

    Example: 16558
    collectionIdstring · enumRequired

    Local identifier of a collection

    Possible values:
    Responses
    200

    A vector tile returned as a response.

    application/octet-stream
    Responsestring · binary
    400

    The request was not supported.

    application/json
    404

    The requested resource does not exist on the server. For example, a path parameter had an incorrect value.

    application/json
    405

    The HTTP method requested is not supported. This endpoint only supports 'GET' requests.

    application/json
    406

    A request header value was not supported.

    application/json
    500

    A server error occurred.

    application/json
    504

    Gateway Timeout.

    application/json
    get
    /collections/{collectionId}/tiles/{tileMatrix}/{tileRow}/{tileCol}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>OS NGD API – Features | Template (EPSG:3857) | Maplibre GL JS</title>
        
        <!--Add the Ordnance Survey Styling-->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/[email protected]/os-api-branding.css" />
        <script src="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/[email protected]/os-api-branding.js"></script>
        
        <!--Add the Maplibre GL JSlibraries-->
        <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/maplibre-gl.css" />
        <script src="https://unpkg.com/[email protected]/dist/maplibre-gl.js"></script>
       
        <style>
            /* Set the map container size and style */
            body { margin: 0; padding: 0; }
            #map { position: absolute; top: 0; bottom: 0; width: 100%; }
        </style>
    </head>
    <body>
        
        <!--Create a div element to hold the map-->
        <div id="map"></div>
        
        <!--Add your Javascript code below--> 
        <script>
            // Your Javascript code will go here
    
        </script>
    
    </body>
    </html>
    // Set API Key 
     const apiKey = 'INSERT_API_KEY_HERE';
     
     const collectionId= 'INSERT_COLLECTIONID_HERE';
    // Create a map style object using the ZXY service.
        const style = {
        "version": 8,
            "sources": {
                "raster-tiles": {
                "type": "raster",
                "tiles": [`https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key=${apiKey}`],
                "tileSize": 256
                }
             },
             "layers": [{
                 "id": "os-maps-zxy",
                 "type": "raster",
                 "source": "raster-tiles"
             }]
         };
         
         // Initialize the map object.
             const map = new maplibregl.Map({
                 container: 'map',
                 minZoom: 6,
                 maxZoom: 19,
                 style: style,
                 maxBounds: [
                     [-10.76418, 49.528423],
                     [1.9134116, 61.331151]
                 ],
                 center: [-3.541809, 50.727589],
                 zoom: 17
             });
             
             map.dragRotate.disable(); // Disable map rotation using right click + drag.
             map.touchZoomRotate.disableRotation(); // Disable map rotation using touch rotation gesture.
             
             // Add navigation control (excluding compass button) to the map.
             map.addControl(new maplibregl.NavigationControl({
                 showCompass: false
                 }));
    let layers = [ 'polygon', 'linestring', 'point' ];
    
    // Create an empty GeoJSON FeatureCollection.
    const geoJson = {
        "type": "FeatureCollection",
        "features": []
    };
    
    // Define an asynchronous function to fetch and display the NGD Features API features.
    async function fetchFeatures(bounds) {
            // Generate a BBOX string for the map extent.
            const bbox = bounds.toArray().toString();
    
            // Construct the NGD Features API request URL.
            const url = `https://api.os.uk/features/ngd/ofa/v1/collections/${collectionId}/items?&key=${apiKey}&bbox=${bbox}`;
    
            // Fetch features from the API endpoint.
            const features = await fetch(url).then(response => response.json());
    
            // Update the source data with the new GeoJSON data.
            layers.forEach((element) => map.getSource(element).setData(features))
    }
    map.on('load', () => {
        // Add a fill style layer to render polygons on the map.
        map.addLayer({
            "id": "polygon",
            "type": "fill",
            "source": {
                "type": "geojson",
                "data": geoJson
            },
            "layout": {},
            "paint": {
                "fill-color": "rgba(51,136,255,0.3)",
                "fill-outline-color": "#38f"
            },
            "filter": [ "==", "$type", "Polygon" ]
        });
    
        // Add a line style layer to render linestrings on the map.
        map.addLayer({
            "id": "linestring",
            "type": "line",
            "source": {
                "type": "geojson",
                "data": geoJson
            },
            "layout": {},
            "paint": {
                "line-color": "#38f",
                "line-width": 1
            },
            "filter": [ "==", "$type", "LineString" ]
        });
    
        // Add a circle style layer to render points on the map.
        map.addLayer({
            "id": "point",
            "type": "circle",
            "source": {
                "type": "geojson",
                "data": geoJson
            },
            "layout": {},
            "paint": {
                "circle-color": "rgba(51,136,255,0.8)",
                "circle-radius": 4,
                "circle-stroke-color": "#fff",
                "circle-stroke-width": 1
            },
            "filter": ["==", "$type", "Point"]
        });
    
        // Get the visible map bounds (BBOX).
        let bounds = map.getBounds();
    
        // Initial fetch and display of features.
        fetchFeatures(bounds);
            
        // Add event which will be triggered when the map has finshed moving (pan + zoom).
        // Implements a simple strategy to only request data when the map viewport invalidates
        // certain bounds.
        map.on('moveend', function() {
            let bounds1 = new maplibregl.LngLatBounds(bounds.getSouthWest(), bounds.getNorthEast()),
                bounds2 = map.getBounds();
    
            if( JSON.stringify(bounds) !== JSON.stringify(bounds1.extend(bounds2)) ) {
                bounds = bounds2;
                fetchFeatures(bounds);
            }
        });
    });
    OS NGD Land Use
    Land Use Features
    Site
    OS NGD Structures
    Structure Features
    Compound Structure
    Field Boundary
    Structure
    Structure Line
    OS NGD Transport
    Transport Features
    Cartographic Rail Detail
    Rail
    Road Line
    Road Track Or Path
    Transport Network
    Path
    Path Link
    Road
    OS NGD Water
    Water Features
    Inter Tidal Line
    Tidal Boundary
    Water
    Water Point
    Water Network
    Water Link
    Water Link Set
    Water Node
    Water Features
    River Basin District Catchment
    Waterbody Catchment
    Water Features
    Tidal Boundary Continuous High
    Tidal Boundary Continuous Low
    Railway Node
    Railway Link Set
    River Basin District Catchment
    Waterbody Catchment
    Tidal Boundary Continuous High
    Tidal Boundary Continuous Low
    Example image showing gaps in the OS NGD Building Part Feature Type data caused by a recent issue.
    Filter icon in OS Select+Build
    Screenshot of the OS Select+Build Recipe Edit recipe screen with the Advanced Filter Options panel showing.
    OS Data Hub screenshot, showing part of the theme selection tree in OS Select+Build. A filter icon is visible against the Building Part Feature Type. The Building Part Feature Type has been selected.
    OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. In the rule, OSLandUseTierA is selected in the first drop-down.
    OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. In the rule, OSLandUseTierA is selected in the first drop-down, the equal sign is selected in the second drop-down, and Education is selected in the third drop-down.
    OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. Two rules have been created in the first group.
    OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. Two rules have been created in the first group, and the +Add group button has been clicked and the application has drawn an extra box.
    OS Data Hub screenshot, showing an example of a nested filter with an And condition and an Or condition applied in the Advanced filter options panel in OS Select+Build.
    Screenshot of the OS Data Hub, showing the OS Select+Build recipe details screen. This screen shows in-depth information about an example recipe, including the recipe name, a description of the recipe, the filters used, the creation date, its author, and the OS NGD themes, collections and feature types present within it.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
    Currency of OS NGD data
    Currency of OS NGD data
    GET /maps/vector/ngd/ota/v1/ HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "title": "OS NGD API",
      "description": "Ordnance Survey National Geographic Database API",
      "links": [
        {
          "href": "http://data.example.org/",
          "rel": "self",
          "type": "application/json",
          "title": "this document"
        },
        {
          "href": "http://data.example.org/api?f=json",
          "rel": "service-desc",
          "type": "application/vnd.oai.openapi+json;version=3.0",
          "title": "the API definition"
        },
        {
          "href": "http://data.example.org/api",
          "rel": "service-doc",
          "type": "text/html",
          "title": "the API documentation"
        },
        {
          "href": "http://data.example.org/conformance",
          "rel": "conformance",
          "type": "application/json",
          "title": "OGC API conformance classes implemented by this service"
        },
        {
          "href": "http://data.example.org/collections",
          "rel": "data",
          "type": "application/json",
          "title": "Information about the collections"
        }
      ]
    }
    GET /maps/vector/ngd/ota/v1/conformance HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "conformsTo": [
        "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core",
        "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/json",
        "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/html",
        "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/oas30",
        "http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/collections",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/core",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tileset",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tilesets-list",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-tilesets",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/dataset-tilesets",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-selection",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/jpeg",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/png",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/mvt",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geojson",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tiff",
        "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/netcdf"
      ]
    }
    {
      "id": "buildingpart",
      "title": "Building Part",
      "description": "Polygon feature representing a building.",
      "extent": {
        "spatial": {
          "bbox": [
            [
              -8.82,
              49.79,
              1.92,
              60.94
            ]
          ]
        },
        "temporal": {
          "interval": [
            [
              "2022-08-27T00:00:00Z",
              null
            ]
          ]
        }
      },
      "links": [
        {
          "href": "http://data.example.org/collections/buildingpart/items",
          "rel": "items",
          "type": "application/geo+json",
          "title": "Building Part"
        }
      ]
    }
    GET /maps/vector/ngd/ota/v1/collections/{collectionId} HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    GET /maps/vector/ngd/ota/v1/tilematrixsets HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "tileMatrixSets": [
        {
          "id": "text",
          "title": "text",
          "uri": "https://example.com",
          "crs": "https://example.com",
          "links": [
            {
              "href": "http://data.example.com/buildingpart/123",
              "rel": "alternate",
              "type": "application/geo+json",
              "templated": true,
              "varBase": "/ogcapi/vars/",
              "hreflang": "en",
              "title": "Building Part",
              "length": 1
            }
          ]
        }
      ]
    }
    GET /maps/vector/ngd/ota/v1/tilematrixsets/{tileMatrixSetId} HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "title": "text",
      "id": "text",
      "uri": "https://example.com",
      "orderedAxes": [
        "text"
      ],
      "crs": "https://example.com",
      "wellKnownScaleSet": "https://example.com",
      "tileMatrices": [
        {
          "id": "text",
          "scaleDenominator": 1,
          "cellSize": 1,
          "cornerOfOrigin": "topLeft",
          "pointOfOrigin": [
            1
          ],
          "tileWidth": 1,
          "tileHeight": 1,
          "matrixHeight": 1,
          "matrixWidth": 1
        }
      ]
    }
    GET /maps/vector/ngd/ota/v1/collections/{collectionId}/styles HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "links": [
        {
          "href": "http://data.example.com/buildingpart/123",
          "rel": "alternate",
          "type": "application/geo+json",
          "templated": true,
          "varBase": "/ogcapi/vars/",
          "hreflang": "en",
          "title": "Building Part",
          "length": 1
        }
      ],
      "styles": [
        {
          "id": "text",
          "title": "text",
          "links": [
            {
              "href": "http://data.example.com/buildingpart/123",
              "rel": "alternate",
              "type": "application/geo+json",
              "templated": true,
              "varBase": "/ogcapi/vars/",
              "hreflang": "en",
              "title": "Building Part",
              "length": 1
            }
          ]
        }
      ]
    }
    GET /maps/vector/ngd/ota/v1/collections/{collectionId}/styles/{styleId} HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {}
    GET /maps/vector/ngd/ota/v1/collections/{collectionId}/styles/{styleId}/{resourceBaseName}/** HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {}
    binary
    binary
    GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "links": [
        {
          "href": "http://data.example.com/buildingpart/123",
          "rel": "alternate",
          "type": "application/geo+json",
          "templated": true,
          "varBase": "/ogcapi/vars/",
          "hreflang": "en",
          "title": "Building Part",
          "length": 1
        }
      ],
      "tilesets": [
        {
          "id": "3857",
          "title": "text",
          "dataType": "map",
          "crs": "https://example.com",
          "tileMatrixSetURI": "https://example.com",
          "links": [
            {
              "href": "http://data.example.com/buildingpart/123",
              "rel": "alternate",
              "type": "application/geo+json",
              "templated": true,
              "varBase": "/ogcapi/vars/",
              "hreflang": "en",
              "title": "Building Part",
              "length": 1
            }
          ]
        }
      ]
    }
    GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles/{tileMatrixSetId} HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "description": "text",
      "tileMatrixSetLimits": [
        {
          "tileMatrix": "text",
          "minTileRow": 1,
          "maxTileRow": 1,
          "minTileCol": 1,
          "maxTileCol": 1
        }
      ],
      "layers": [
        {
          "description": "text",
          "id": "text",
          "dataType": "map",
          "geometryType": "text",
          "maxTileMatrix": "text",
          "minTileMatrix": "text",
          "propertiesSchema": {
            "type": "object",
            "properties": {
              "ANY_ADDITIONAL_PROPERTY": {
                "type": "array",
                "enum": [
                  {}
                ]
              }
            }
          }
        }
      ],
      "boundingBox": {
        "lowerLeft": [
          1
        ],
        "upperRight": [
          1
        ],
        "crs": "https://example.com"
      },
      "id": "3857",
      "title": "text",
      "dataType": "map",
      "crs": "https://example.com",
      "tileMatrixSetURI": "https://example.com",
      "links": [
        {
          "href": "http://data.example.com/buildingpart/123",
          "rel": "alternate",
          "type": "application/geo+json",
          "templated": true,
          "varBase": "/ogcapi/vars/",
          "hreflang": "en",
          "title": "Building Part",
          "length": 1
        }
      ]
    }
    GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol} HTTP/1.1
    Host: api.os.uk
    key: YOUR_API_KEY
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles/{tileMatrix}/{tileRow}/{tileCol} HTTP/1.1
    Host: api.os.uk
    key: YOUR_API_KEY
    Authorization: Bearer YOUR_OAUTH2_TOKEN
    Accept: */*
    
    GET /maps/vector/ngd/ota/v1/collections HTTP/1.1
    Host: api.os.uk
    Accept: */*
    
    {
      "links": [
        {
          "href": "http://data.example.org/collections",
          "rel": "self",
          "type": "application/json",
          "title": "All collections"
        }
      ],
      "collections": [
        {
          "id": "buildingpart",
          "title": "Building Part",
          "description": "Polygon feature representing a building.",
          "extent": {
            "spatial": {
              "bbox": [
                [
                  -8.82,
                  49.79,
                  1.92,
                  60.94
                ]
              ]
            },
            "temporal": {
              "interval": [
                [
                  "2022-08-27T00:00:00Z",
                  null
                ]
              ]
            }
          },
          "links": [
            {
              "href": "http://data.example.org/collections/buildingpart/items",
              "rel": "items",
              "type": "application/geo+json",
              "title": "Building Part"
            }
          ]
        }
      ]
    }

    Data ordering and currency

    Find out more about geographic filtering options, order update options, data currency information, and feature counts for certain collections.

    To get access to the OS NGD you must first log into the OS Data Hub. The OS NGD is accessible via both the Premium Plan and Public Sector Plan on the OS Data Hub.

    Geographic filtering

    There are three options within OS Select+Build (the OS NGD download service) in relation to the geographic extent of your order. These are:

    • Great Britain: Receive all data for the whole of Great Britain.

    • Customer Specified Area: Draw an area of interest (AOI) and only receive the data which intersects this area.

    • Pre-defined Area: Select a pre-defined area, and only receive the data which intersects this area.

    Exceptions

    • The only exception to the above is the OS NGD Address Islands Collection; this collection contains data for Northern Ireland, the Isle of Man, and the Channel Islands, and it will be provided as a full supply of data independent of any geographic filtering applied to your OS NGD recipe.

    Order update options

    When accessing the OS NGD, the following order update options will be available:

    • One Off Full Supply

    • Regular Full Supply

    • Change-Only Update (COU; after an initial Full Supply)

    • No Update

    The following frequencies will be available dependent on the type of order you place:

    • Daily Supply: This will provide you with the latest updates OS have loaded and verified for publication since the previous day as a COU file.

    • Monthly Supply: Either a Full Supply or COU Supply of all the changes which have occurred in the previous month.

    • Annual Supply: A Full Supply of the data to show how the data looked at the end of each year.

    Further details about the options available to you can be found further down on this page.

    Please note

    • Monthly orders provide data for the 1st of the month. For example, if you ordered a Monthly order on 17 September 2024, you would receive the data as it was on 01 September 2024.

    Update files

    If you choose to receive a COU supply for your CSV data, this can be provided on either a daily or monthly frequency. In both cases, your COU file will contain any changes which have been made to the underlying data within the selected time frequency. If no changes have been made to a selected feature type of your choice, then you will receive a blank COU file.

    File supply

    If you use OS Select+Build to access the OS NGD, then a separate download file will be provided for each feature type you order. For example, if your selected theme has two feature types you will be supplied with two separate files (CSV or GeoPackage) as part of your order.

    Ordering combinations

    The following tables summarise the different options available to you dependent on what you specify when ordering your data through OS Select+Build.

    For the purposes of the tables below, the following definitions are being used:

    • Unfiltered means a Great Britain supply with no further attribute filters applied.

    • Filtered means an order for data which either has a geographic filter applied or an attribute filter applied.

    GPKG files

    Initial Supply
    Update Options

    Please note that COU supplies are only available for CSV files; they are not available for GeoPackage files.

    CSV files

    Initial Supply
    Update Options

    You can use the to manage your daily / monthly COU supply of OS NGD data.

    Currency of OS NGD data

    OS Select+Build and OS NGD API – Features

    Whether accessing OS NGD data through OS Select+Build or OS NGD API – Features, the following currency of the data will apply:

    Theme
    Collection
    Update Frequency

    *Please see the page for more information on what features are available in this API.

    For collections that are not updated daily, the table below provides the date of the last update; it also shows the version of the OS MasterMap product to which the OS NGD data corresponds, if applicable:

    Collection
    Last Updated
    Corresponding OS MasterMap Product

    OS NGD API – Tiles

    When accessing OS NGD data through OS NGD API – Tiles, the data currency is weekly for the basemap and variable for the four data overlays – please see the for more information on update frequency, available feature types and available attribution for this API.

    Please note:

    • The OS NGD Address Theme is only available via OS Select+Build and is not available via OS NGD API – Features or OS NGD API – Tiles.

    • The OS NGD Administrative and Statistical Units Theme is only available via OS Select+Build and OS NGD API – Tiles and is not available via OS NGD API – Features.

    Feature counts for the OS NGD Transport Theme

    Feature counts are detailed below for the and Collections of the . These feature counts will be updated monthly to reflect data currency for these collections.

    RAMI Collection feature counts for December 2025 (click the arrow to view the table)
    Feature Type
    Full Supply Feature Count
    Transport Network Collection feature counts for December 2025 (click the arrow to view the table)
    Feature Type
    Full Supply Feature Count

    Please note, feature counts are currently only provided for two OS NGD collections: the Routing and Asset Management (RAMI) and Transport Network Collections of the OS NGD Transport Theme.

    Current Known Data Issues

    This page lists known current live data issues in relation to the OS National Geographic Database (NGD) themes, collections and feature types.

    As and when we resolve a known data issue, we will move it to the page. To report an issue that's not currently listed on these pages, please use the .

    Any live interruptions to the availability of OS NGD API – Features and OS NGD API – Tiles will be documented on the .

    COU Supplies are not available for AOIs. Monthly Full Supplies are available for AOIs.

    If you select an Annual Full Supply frequency for your OS NGD data order in OS Select+Build, we will provide you with the data as it was on 01 January of the current year. This means if a new feature type or a new data schema version of an existing feature type was released after 01 January and you order either of these as part of your Annual Full Supply, you will receive an empty data package for the newly released feature type / new data schema version of an existing feature type. The data for the new feature type / new data schema version of an existing feature type will then be included in your supply on the next 01 January after the release.

    • For example, the March 2025 OS NGD data enhancements release contained 3 new feature types (Building Access Location, Crowd Sourced Name Point, and Street Light), and 11 new data schema versions (Building v4.0, Building Part v2.1, Land v3.1, Path Link v2.0, Rail v3.1, Road Link v4.0, Road Track Or Path v3.1, Site v2.2, Site Access Location v2.0, Structure v3.1, and Water v3.1). As per the bullet above, the data will not be part of Annual Full Supply orders until 01 January 2026.

    • For example, the Autumn 2025 OS NGD data enhancements releases contained 6 new feature types (Royal Mail Address, Royal Mail Address, Bus Lane, Cycle Lane, Tidal Boundary Continuous High and Tidal Boundary Continuous Low), and 14 new data schema versions for existing feature types (Built Address v3.0, Built Address v3.0, Historic Address v3.0, Historic Address v3.0, Land v3.2, Non-Addressable Object v3.0, Non-Addressable Object v3.0, Path Link v3.0, Pre-Build Address v3.0, Pre-Build Address v3.0, Road Link v5.0, Site v1.3 and 2.4, and Water Link v2.0) and 3 new data schema versions for existing addressing related components (Alternate Address v3.0, Other Classification v3.0 and Related Entity v3.0). As per the bullet above, the data will not be part of Annual Full Supply orders until 01 January 2026.

    OS NGD Named Features

    Daily

    OS NGD Land

    OS NGD Land Features

    Daily

    OS NGD Land Use

    OS NGD Land Use Features

    Daily

    OS NGD Structures

    OS NGD Structure Features

    Daily

    OS NGD Transport

    OS NGD Transport Features

    Daily (apart from the Street Light Feature Type which is updated monthly)

    OS NGD Transport Network

    Monthly

    OS NGD RAMI

    Monthly

    OS NGD Water

    OS NGD Water Features

    Daily

    OS NGD Water Network

    Quarterly

    09 December 2025

    OS MasterMap Highways Network – December 2025 publication

    OS NGD Water Network

    28 October 2025

    OS MasterMap Water Network – October 2025 publication

  • Feature types in the Routing and Asset Management Information (RAMI) Collection (of the OS NGD Transport Theme) are only available via OS Select+Build and OS NGD API – Features and are not available via OS NGD API – Tiles.

  • The Tidal Boundary Continuous High, Tidal Boundary Continuous Low, River Basin District Catchment and Waterbody Catchment Feature Types (of the Water Features Collection in the OS NGD Water Theme) are not available via OS NGD API – Features but they are available via OS Select+Build and OS NGD API – Tiles.

  • Maintenance Line

    1 465 328

    Maintenance Point

    65 312

    Reinstatement Area

    2 022

    Reinstatement Line

    1 609 484

    Reinstatement Point

    132 403

    Restriction

    1 098 893

    Routing Hazard

    43 280

    Routing Structure

    1 397 662

    Special Designation Area

    21 890

    Special Designation Line

    510 556

    Special Designation Point

    282 407

    Cycle Lane

    168 055

    Ferry Link

    221

    Ferry Node

    338

    Ferry Terminal

    338

    Path

    25 423

    Path Link

    3 352 420

    Path Node

    3 956 769

    Pavement Link

    9 315 520

    Railway Link

    155 099

    Railway Link Set

    154

    Railway Node

    151 729

    Road

    857 187

    Road Junction

    6 890

    Road Link

    8 543 925

    Road Node

    7 576 288

    Street

    1 755 710

    Tram On Road

    2 926

    Daily (filtered / unfiltered)

    N/A

    Monthly (filtered / unfiltered)

    Monthly Full Supply

    Annual (filtered / unfiltered)

    Annual Full Resupply with data from 01 January

    Daily (filtered)

    N/A

    Daily (unfiltered)

    Daily COU

    Monthly (filtered)

    Monthly Full Supply

    Monthly (unfiltered)

    Monthly COU or Monthly Full Supply

    Annual (filtered / unfiltered)

    Annual Full Resupply with data from 01 January

    OS NGD Address (*N.B. Not available in OS NGD API – Features)

    Both OS NGD Address collections

    Daily

    OS NGD Administrative and Statistical Units (*N.B. Not available in OS NGD API – Features)

    OS NGD Boundaries

    Biannual

    OS NGD Buildings

    OS NGD Buildings Features

    Daily

    OS NGD Boundaries

    16 October 2025

    Boundary-Line –

    October 2025 publication

    OS NGD Transport Features – Street Light Feature Type only

    09 December 2025

    N/A

    OS NGD Transport Network

    09 December 2025

    OS MasterMap Highways Network – December 2025 publication

    Average And Indicative Speed

    8 543 925

    Highway Dedication

    4 030 600

    Maintenance Area

    Bus Lane

    7 670

    Connecting Link

    2 000 606

    Connecting Node

    OS Downloads API
    'What data is available' (for OS NGD API – Features)
    'What data is available' (for OS NGD API – Tiles) page
    Routing and Asset Management (RAMI)
    Transport Network
    OS NGD Transport Theme

    OS NGD Geographical Names

    OS NGD RAMI

    1 416

    1 856 991

    Generic OS NGD current known data issues

    The generic data issue in the table below impacts multiple OS NGD themes:

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Very small number of features not being given the correct 'End of Life' change type

    There are 319 features (out of 600+ million) which reside within the 'features' collections (i.e. any OS NGD collection which has a name of 'OS NGD XXX Features', for example, OS NGD Transport Features) that have not been given the correct 'End of Life' change type. This means that these features still reside within the supply but should be deleted.

    29/09/2022

    OS NGD Address Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Incorrect change type for addresses moving between feature types

    In a very small number of cases, when an address moves between feature types, such as moving from Pre-Build Address to Built Address, the change type given is incorrect.

    The address 'leaving' the Pre-Build Address Feature Type is correctly marked 'Moved To', but when it enters the Built Address Feature Type, it is incorrectly marked as 'New' rather than 'Moved From'.

    This issue impacts address feature types in both data schema versions (i.e. data schema versions 1.0 and 2.0).

    Your Change-Only Update (COU) processing will still work correctly, and your data holdings will be complete, but the address will have been incorrectly marked as 'New'.

    May 2023

    OS NGD Administrative and Statistical Units Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Three missing parishes from the Parish Or Community Feature Type

    The Margaret March, Tollard Royal and Marlow Bottom Civil Parish (CP) within the Parish Or Community Feature Type (data schema version 1.0) are missing from the current (May 2025) release of data.

    This issue is currently being investigated and we are working to fix it for a future release.

    July 2024

    Historic European Region Feature Type

    This feature type (data schema version 1.0) contains updates made to the boundaries post 01 April 2021 (when the feature type was frozen in the Boundary-Line product). This means that there will be differences between the boundaries accessed via our OS OpenData pages and those accessed via OS NGD.

    08/07/2024

    OS NGD Buildings Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Incorrect building height values for some multi-storey properties with a single storey annexe

    Some residential two-storey properties with a large adjoining single storey are returning as a single storey when created using machine learning (due to incorrect building height values), for example, two-storey houses with attached garages or large rear extensions.

    TBC

    Minor confusion between roofs of similar appearance

    When capturing roof type data through our aerial capture program, there can be some confusion between buildings with glass roofs or an evacuated tube collector and those with solar panels present. As a result, buildings with glass roofs may be incorrectly attributed with solar panel presence.

    This is something we aim to address in future iterations of roof type data for the Building Feature Type.

    27/03/2025

    Inconsistent caravan roof shape

    Large static caravans will have inconsistent roof shapes due to the shallow-pitched nature of their roofs, making it difficult to ascertain true shape.

    27/03/2025

    Additional in-scope buildings included in the Number of Floors data

    Some notable non-residential and non-office buildings that meet the scope will be included (for example, several cathedrals and arenas) and will have values for the Number of Floors attributes.

    OS Geographical Names Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Poor linking between Crowd Sourced Name Point features and other OS NGD features

    We are actively improving the linking between Crowd Sourced Name Point features (data schema version 1.0) and other OS NGD features, so some updates are expected; these updates will be delivered through standard change-only updates (COUs).

    27/03/2025

    OS NGD Land Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Intertidal areas beneath Travelling Cranes and Supported Conveyors not present

    Intertidal areas beneath Travelling Cranes and Supported Conveyors are not currently present and will be added in a future data improvement. This applies to data schema version 3.2 of the Land Feature Type.

    29/09/2025

    Intertidal areas beneath elevated structures situated over intertidal islands not present

    Intertidal areas beneath elevated structures situated over intertidal islands are not currently present and will be added in a future data improvement. This applies to data schema version 3.2 of the Land Feature Type.

    29/09/2025

    Nullified Access Purpose attribute for certain Site Access Location features

    Some key public sites have refused access to surveyors and so will have their Access Purpose attribute nullified for the Site Access Location feature (data schema version 2.0 only as this attribute is not available for data schema version 1.0).

    27/03/2025

    OS NGD Land Use Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Uppercase and lowercase variations of two description values in Site Feature Type data schema v1.2

    Two in data schema v1.2 of the contain duplicates with uppercase and lowercase variations. Data schema v1.0 of Site was launched incorrectly with two description values that did not align with OS casing standards, and on 25 September 2024 the data and related code list were updated to fix this issue.

    The two affected values are:

    • Education Support Site

    • Public Waste Disposal Site

    The OS NGD access services of OS NGD API – Features and OS Select+Build validate against the data schema, meaning both versions of the description values must be retained to facilitate filtering.

    November 2023

    OS NGD Structures Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Temporal differences to data currency for bridge interactions

    Bridges in the OS NGD Structure Features Collection are updated daily, whereas networks in the OS NGD Transport Network Collection and the OS NGD Water Network Collection are updated monthly and quarterly, respectively.

    25/09/2024

    Completeness for bridge interactions

    On rare occasions where Network Over and Network Under attribution cannot be identified (i.e. disused bridges or viaducts over dry valleys) for Compound Structure Feature Type features (data schema version 2.0), the attributes will not be populated (i.e. will be ‘null’).

    25/09/2024

    Overlapping of stacked bridges

    Where bridges cross one other, it can be difficult to identify the correct networks running over and / or under each bridge. This impacts Compound Structure Feature Type features (data schema version 2.0).

    25/09/2024

    Mersey Railway Tunnels and Westferry Circus Tunnel missing

    Snapshot of the outcomes of the quality review process of Field Boundary feature classification (by 10km² area), as of August 2024.

    OS NGD Transport Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Street Light features refer to non-existent links

    638 Street Light features refer to a Road Link (data schema versions 2.0, 3.0, 4.0 and 5.0) that does not currently exist. 133 Street Light features refer to a Path Link (data schema versions 1.0 2.0 and 3.0) that does not currently exist. This issue is currently being investigated.

    05/11/2025

    Incorrect modal or minimum width values for Bus Lane and Cycle Lane features

    There are 168 Bus Lane and Cycle Lane features (data schema version 1.0) that have a modal and minimum width values of 0m (Bus Lane Info Modal Width M, Bus Lane Info Minimum Width M, Cycle Lane Info Modal Width M, and Cycle Lane Info Minimum Width M attributes).

    25/09/2025

    Incorrect evidence dates for Cycle Lane, Road Link and Path Link features

    There are 24 Cycle Lane features (data schema version 1.0) with an incorrect Geometry Evidence Date attribute date value of 01-01-2000. There are 81 Road Link and Path Link features (data schema versions 5.0 and 3.0, respectively) with an incorrect Presence Of Bus Lane Evidence Date / Presence Of Cycle Lane Evidence Date attribute date value of 25-12-2999.

    25/09/2025

    Superfluous Road and Path Nodes

    OS NGD Water Theme current known data issues

    Data Issue Name
    Data Issue Description
    Data Issue Identification Date

    Incorrect 0m width values for Water Links

    There are 190 Water Link features (data schema version 2.0) that have Width Average, Width Minimum and Width Maximum attribute values of 0m. There are an additional 385 Water Link features (data schema version 2.0) that have a Width Minimum attribute value of 0m.

    30/10/2025

    Unexpectedly high maximum width values for Water Links

    There are a small number of Water Link features (data schema version 2.0) that have unexpectedly high Width Maximum attribute values.

    30/10/2025

    Unexpected Width Derivation Method for Water Links

    There are around 1 700 Water Link features (data schema version 2.0) that have been assigned a Width Average attribute value based on a 'Default Value For Geographic Region', when they are expected to receive a Width Average attribute value that is derived either from 'Modelled From Network' or 'Calculated from Polygon'.

    30/10/2025

    Unexpectedly null Level of Detail values for Water Links

    Resolved Data Issues
    'Contact us' section of the OS website
    Service Availability Dashboard on the OS Data Hub
    63KB
    Field_Boundary_Status_August_2024.xlsx
    Open

    What's New?

    As we release new data enhancements and service improvements for the OS NGD, we will update this page to provide you with a high-level summary of what's launched.

    2025 OS NGD enhancements

    Autumn 2025 – OS NGD data enhancements

    The lowercase values (i.e. Education Support site and Public Waste Disposal site) should be used to filter and retrieve historical features (before 25/09/24), while the uppercase values (i.e. Education Support Site and Public Waste Disposal Site) should be used for records after this date.

    This issue only affects data schema version 1.2 of Site; data schema v2.0 of Site was launched with the casing standards consistently applied.

    25/09/2024

    Some in-scope residential buildings are excluded from the Number of Floors data

    Some in-scope residential buildings have no values for the Number of Floors attributes (for example, new builds, and buildings failing height validation rules).

    25/09/2024

    Some apartment block buildings are excluded from the Number of Floors data

    Apartment blocks that have their address geometry situated in the stairwell of the building and have their building geometry segregated due to the Land Use Site Feature Type will not get values for the Number of Floors attributes.

    25/09/2024

    The Mersey Railway Tunnels and Westferry Circus Tunnel are not included in the initial release of data schema v2.0 of the Compound Structure Feature Type.

    TBC

    Some underground Structure features are missing from the Habitat Coverage cross reference table

    Three underground Structure features with an OS Land Cover Tier B attribute of ‘Coniferous Trees’, ‘Non-Coniferous Trees’, ‘Scattered Coniferous Trees’ or ‘Scattered Non-Coniferous Trees’ are missing from the corresponding Habitat Coverage Reference cross reference table. This issue impacts the Land Feature Type.

    15/04/2024

    Overlapping Field Boundary

    features exist

    Approximately 20 000 Field Boundary Feature Type features (data schema version 1.0) are overlapping. This issue is currently being investigated.

    27/03/2024

    Field Boundary data quality

    At the time of launch of the Field Boundary Feature Type (March 2024; data schema version 1.0), areas of Great Britain were still to be quality checked and will be improved as part of OS’s continuous quality review programme when updated imagery is available. Most of the known data quality errors are either in Moorland areas or where imagery was captured earlier in the year and vegetated features are ‘leaf-off’. The downloadable file below (last updated in August 2024) contains the status of each 10km² area relating to the quality of the Field Boundary feature classification.

    27/03/2024

    2 362 superfluous Road Nodes and 624 Path Nodes are unexpectedly present in OS NGD Transport Networks. These nodes are not referenced by any existing links. This issue is currently being investigated.

    24/09/2025

    Missing records in Street to Road Link cross reference table

    Approximately 900 000 Road Links with a Match Status of 'Matched' do not appear in trn_ntwk_street_rdlinkref as expected.

    01/05/2025

    Rail Network referencing errors

    6 Railway Link features (data schema version 1.0) are not connected to a Railway Node feature (data schema version 1.0) at one or both ends, and 72 Railway Node features (data schema version 1.0) are not coincident with the start or end of the Railway Link features (data schema version 1.0) that reference them. This issue is currently being investigated.

    01/03/2025

    Mismatches between Road Link Directionality attribution and Average Speed attribution

    There are 1 600 Road Link features (data schema versions 1.0, 2.0, 3.0, 4.0 and 5.0) where the Directionality attribution of the Road Link and the attribution describing average speeds are not in sympathy (for example, the Road Link is in Both Directions, but average speed attribution is only available for one of the directions). Some instances of this are a result of the Road Network being updated monthly and speed information being updated six-monthly; however, the remaining instances where this does not apply are being investigated.

    01/04/2024

    Road Links with unexpected 0 values for pavement width attributes

    187 Road Link features (data schema versions 2.0, 3.0, 4.0 and 5.0) where we would expect their Presence of Pavement Minimum Width M and Presence of Pavement Average Width M attributes to be populated have a value of 0 for these attributes. This issue is currently being investigated.

    01/04/2024

    Street to Road Link and Street to Path Link reference tables refer to non-existent features

    44 records in the Street to Road Link reference table and 503 records in the Street to Path Link reference table refer to Road Link or Path Link features which no longer exist. This issue is currently being investigated.

    01/03/2024

    Small number of referencing errors in the Road and Path Network

    13 Road Link features (data schema versions 2.0, 3.0, 4.0 and 5.0), 7 Path Link features (data schema version 1.0, 2.0 and 3.0), and 66 Connecting Link features (data schema version 1.0) reference non-existent Road Node features (data schema version 1.0), Path Node features (data schema version 1.0), or Connecting Node features (data schema version 1.0), and 2 Path Node features (data schema version 1.0) are unreferenced by any existing Path Link features. This issue is currently being investigated.

    01/09/2023

    Feature Count discrepancies compared to OS MasterMap Highways

    A small number of features in the following feature types are missing when compared to the comparable tables in OS MasterMap Highways: Connecting Node (data schema version 1.0), Highway Dedication (data schema version 1.0), Maintenance feature types (data schema version 1.0), Path Link (data schema version 1.0, 2.0 and 3.0), Path Node (data schema version 1.0), Reinstatement feature types (data schema version 1.0), Restriction (data schema version 1.0), Routing Hazard (data schema version 1.0), Special Designation feature types (data schema version 1.0) and Street (data schema version 1.0). This issue is currently being investigated.

    14/08/2023

    7 Water Link features (data schema version 1.0) incorrectly have a null Level of Detail attribute value. All Water Links should have this value populated. This issue is currently being investigated.

    05/10/2023

    Invalid geometries in Waterbody Catchment and River Basin District Catchment features

    Some polygons for Waterbody Catchment and River Basin District Catchment features (data schema version 1.0) have invalid geometries in the form of self-intersections, holes, and gaps. Instances of self-intersection are primarily due to the gridded digital terrain model (DTM) used to generate the catchment data provided by the third-party data from authoritative bodies.

    28/03/2023

    Incorrect representation of a Waterbody Catchment name

    The Barlings Eau Upper catchment name is incorrectly displayed. This is as per the third-party data from the authoritative bodies.

    28/03/2023

    Non-unique Waterbody Catchment IDs

    Two instances occur where the Waterbody Catchment ID is not unique for Waterbody Catchment features (data schema version 1.0): GB109056040082 and GB104027063230. This is as per the third-party data from the authoritative bodies.

    28/03/2023

    Certain Waterbody Catchment features do not nest exactly within a River Basin District Catchment

    A total of 14 instances occur where Waterbody Catchment features (data schema version 1.0) do not nest exactly within their associated River Basin District Catchment features (data schema version 1.0). This is as per the third-party data from the authoritative bodies.

    28/03/2023

    description values
    Site Feature Type
    A data snapshot showing the outcomes of the quality review process of Field Boundary feature classification (by 10km2 area), as of August 2024. A map of the United Kingdom filled in with green, yellow,  and blue coloured pixels.
    Highlights of the OS NGD data enhancements released to customers in Autumn 2025

    Address

    The OS GB Address Collection and OS Islands Collection now contain a new Royal Mail Address Feature Type, representing a major step forward in address data provision. These feature types combine the full Royal Mail Postcode Address File (PAF) content with Ordnance Survey’s authoritative geospatial attribution for the first time.

    Highlights of the new Royal Mail Address Feature Types:

    • Full PAF content: 100% coverage of Royal Mail’s delivery point addresses, with UDPRN (Unique Delivery Point Reference Number) as the primary key.

    • Multiple UDPRN to UPRN matches: Identifying where multiple addresses in PAF can be associated to a single UPRN (Unique Property Reference Number).

    • Enhanced attribution: Additional OS-derived metadata, including geometry, positional accuracy, geometry allocation method, relationships with local authority addresses and standard OS NGD attribution.

    Examples of Built Address and Royal Mail Address features and the attribution provided for these features.

    Buildings

    Enhanced Physical State attribution is now available for Building features. The Physical State attribute classifies buildings as 'Built', 'Under Construction', or 'Derelict' to provide a clear, up-to-date view of their structural condition. Customers can use this attribute to track building construction progress and identify derelict properties; the attribute is also useful to Emergency Services and the planning and insurance sectors as it gives them accurate building lifecycle data.

    Visualisation showing the three building lifecycle values for the Physical State attribute of the Building Feature Type: Under Construction, Built and Derelict.

    Land

    • Intertidal areas obscured by elevated structures, such as piers and jetties, have been added to the Land Feature Type for more complete coverage of the intertidal zone.

    Visualisation showing an example of an intertidal area under an elevated pier structure that's now present in the Land Feature Type.

    Land use

    • Enhanced Status attribution is now available for Site, Building Part, Land, Rail, Road Track Or Path, Structure and Water features. The Status attribute reflects the state of a feature in relation to either its physical condition or the activity the feature is intended to support. This value is either inherent from the nature of the topographic feature or can be inherited from the Site the feature lies within.

    • Please note that Status attribute values are only recorded against a subset of over 100 Site types, including Railway Stations, Schools, Sports Grounds, Power Stations and Quarries; the full list of Site types is available in a table on the OS Land Use Features Collection page.

    • National Land Use Database (NLUD) values are now populated for 'Derelict Land'.

    • The now includes a new value of 'Derelict'.

    Example map showing Status attribute values against land use Sites. Background map included for context.

    Transport

    • New Cycle Lane Feature Type added to the OS Transport Network Collection to identify the location of cycle lanes, either segregated by a physical feature or identified by painted or other signage. The new data will support local authorities, regional transport bodies and central government to undertake planning, asset management and road safety analysis, plus understand connectivity and gap analysis for active travel networks.

    Example map showing Cycle Lane features. Background map included for context.
    • New attribution supplied against the Path Link Feature Type to indicate the presence of cycle lanes.

    • New Bus Lane Feature Type added to the OS Transport Network Collection to identify the location of bus lanes that are segregated by a physical feature or painted section of road only for buses or shared usage. The new data will support local authorities, regional transport bodies and central government to plan street works and conduct connectivity and gap analysis for public transport networks.

    Example map showing Bus Lane and Road Link features. Background map included for context.
    • New attribution supplied against the Road Link Feature Type to indicate the presence of bus lanes and cycle lanes.

    Example map showing Bus Lane, Cycle Lane and Road Link features on a single stretch of road. Background map included for context.

    Water

    • Continuous tidelines are now available in the OS Water Features Collection through the addition of two new feature types: Tidal Boundary Continuous High and Tidal Boundary Continuous Low. The latest update delivers automated, continuous mean high water and mean low water tidelines by dissolving existing Tidal Boundary features into seamless lines that are topologically coincident with their source water features. The two new feature types will help customers to conduct environmental management and accurately model coastal change and flooding.

    Animation showing the two new continuous tideline feature types that have been added to the OS Water Features Collection. A background map has been included for context.
    • New attribution is supplied against Water Link features describing the average width of the watercourse and the width derivation method. Minimum and maximum widths of watercourses are also supplied where a Water Link feature has been captured as a topographic polygon. The new watercourse width attribution will support ecological and flood modelling, infrastructure planning and situational awareness for emergency services.

    Examples of the new watercourse width attribution now available for Water Link features. A background map has been included for context.

    June 2025 – OS NGD access enhancements in OS Select+Build

    You can now edit a recipe in OS Select+Build to add or remove themes / feature types, or change attribute filtering or data schema versions. Please see the Editing OS Select+Build recipes and Getting started with attribute filtering pages for more details.

    March 2025 – OS NGD data enhancements

    Highlights of the OS NGD data enhancements released to customers in March 2025.

    Highlights of the OS NGD data enhancements released to customers in March 2025:

    Buildings

    • New Building Access Location Feature Type added to the OS Building Features Collection. Building Access Location features identify access points to key public buildings for vehicles and pedestrians, enhancing urban planning, emergency response, and accessibility.

    • New attribution provided for Building features:

      • Roof Shape: Identifies the predominant geometric shape of a building's roof, aiding in visualisation and architectural analysis.

      • Roof Aspect: Provides information on the orientation of a roof, which is useful for solar energy planning and environmental studies.

      • Green Roof Presence: Indicates whether a building has a green roof, supporting sustainability and urban greening initiatives.

      • Solar Panel Presence: Shows if solar panels are installed on a building's roof, helping in renewable energy assessments and planning.

      • Roof Material: Details the type of predominant material used for a roof, which is important for construction, maintenance, and environmental impact studies.

      • Building Height: A comprehensive set of five attributes detailing the heights of various parts of a building, including both absolute and relative measurements. This enhancement supports urban planning and Emergency Services.

    • These buildings enhancements aim to improve visualisation, urban development planning, emergency response, and sustainability initiatives. More information on the March 2025 buildings enhancements is available from the in the 'Using OS NGD Data' section.

    Examples of building features and attributes provided by the OS NGD Buildings and OS NGD Land Use Themes.
    Example visualisation showing the primary roof material present on buildings. A background map has been included for context.

    Geographical Names

    • New Crowd Sourced Name Point Feature Type added to the OS Named Features Collection, which includes names submitted by expert third parties via the Vernacular Names Tool in the OS Data Hub. Where possible, the crowd sourced names are linked to other OS NGD features, allowing the use of both official and colloquial names together.

    Example of a Crowd Sourced Name Point feature being matched to existing OS NGD (Building Part and Address) features via its OSID (OS Identifier) and UPRN (Unique Property Reference Number). A background map has been included to provide context.

    Land Use

    • Three new types of site added to Land Use Sites descriptions: Beach, Military Training Area, and Wind Farm. Over 2 600 new sites have been added to the dataset for this enhancement (1 927 beaches, 90 Military Training Areas and 604 Wind Farms). These are sites that may not be spatially coincident with existing topographic areas (i.e. they may not align with topographic features like field boundaries), unlike other types of site. Beaches will include Site Access Locations with attribution that highlights the nearest public Road Node and the direct distance to that node from the access point on the edge of the beach feature. Military Training Areas and Wind Farms will not include Site Access Locations.

    Example of a Land Use Site featuring a description of 'Beach' with Pedestrian and Vehicular Access Locations shown. Background maps are included for context.
    • An Access Purpose attribute has been added to Site Access Location features for key public sites to identify what the Site Access Location is being used for (Primary Public, Public, Private, or Emergency). The new data will enhance and support situational awareness for emergency responses, hazard planning, and policing operations at key public sites; the data will also support travel modelling and make it easier to assess accessibility to services for the public.

    Example of the four types of Access Purpose points within a football stadium for purposes of emergency response and evacuations. A background map has been included to provide context.

    Structures

    • The addition of nine different types of tunnel to the Compound Structure Feature Type. These were added to v2 of the schema on 28 March 2025 and v1 on 09 April 2025.

    Transport

    • New Street Light Feature Type added to the OS Transport Features Collection to identify the location of pole-mounted street lights and provide a reference to the nearest Road Link or Path Link. This is the first consistent GB-wide dataset of street lights that is updated monthly and maintained to defined quality levels.

    • New attribution supplied against the Road Link and Path Link Feature Types to indicate how well-lit they are. The new data will support the identification of safe routes for active travel use cases .

    Visualisation showing Street Light coverage on Road Links and Path Links and how well-lit they are (using the Presence of Street Light Coverage attribute).

    2024 OS NGD enhancements

    September 2024 – OS NGD data enhancements

    Buildings

    • New number of floors attribution added to Building features to identify the maximum number of occupiable floors at or above ground level within a residential or office building. Over 23.5 million office or residential buildings in Great Britain now have a number of floors value, and a total of nearly 47 million floors have been added to the OS NGD. Among other uses, the new attribution will provide emergency services with more information when responding to real-time incidents, such as a fire in a high-rise building, and will help support insurers to improve their risk profiling and underwriting.

    Land Use – Enhanced land use attribution, increased coverage for Sites, and more Site Access Location points

    • New land use attribution will be provided for the OS NGD ‘Features’ Collections for Buildings, Land, Land Use, Structures, Transport and Water. The new attribution maps the OS land use classifications to the National Land Use Database (NLUD) schema and the land use information derived from OS Addressing. The new attribution helps to give more detail about what is contained within a Site – for example, the total number of addresses contained within a single Site and what number of those addresses are defined as commercial, residential, or other.

    • Greater coverage for land use , particularly non-residential sites, with over 1.5 million Sites added to the OS NGD gradually over the last two years. This has brought the total number of Sites contained within the OS NGD to 26 million.

    • An additional 180 000 points have been added to the OS NGD. These features show where vehicles and / or pedestrians can access Sites and, among other uses, help the emergency services to identify the most efficient routes for reaching an incident.

    Structures

    • Additional bridge interaction attribution added to features to identify the type of network (road, path, railway, canal, water or multiple) passing over and / or under bridges. Over 660 000 bridge interactions have been added to the OS NGD.

    March 2024 – OS NGD data enhancements

    Buildings

    • New attribution provided for Buildings:

      • Building Age: The age of the main building in a site, created using Verisk data and OS data​.

      • Construction Material: The primary construction material of the building, created using Verisk data and OS data​.

      • Basement Presence: An indicator to show whether a basement or a self-contained basement flat are present at the building, created using Verisk data and OS data​.

      • Building Description: A new description attribute to describe the nature of the building, derived from its use and relation to surrounding buildings,​ created using OS data​.

    • More information on the buildings enhancements is available from the in the 'Using OS NGD Data' section.

    Land cover – Enhanced land cover attribution

    • Enhanced land cover attribution to ‘natural’ topographic area features across the OS NGD ‘Features’ Collections for Land, Structures, Transport and Water.

    • Improved consistency and accuracy for specific land features by reducing the minimum capture size criteria in rural and moorland geographies.

    • Mapping OS land cover classification to recognised habitat classification schemes (EUNIS and UK BAP Broad Habitats) in a new cross reference table.

    • Assigning a percentage cover value to topographic areas in a new cross reference table.

    Structures – Field Boundary

    • New added to the Structure Features Collection to identify the location, nature and properties of a field boundary in rural and moorland areas.

    • Height and width values provided for vegetated field boundary features.

    • More information on this enhancement is available from the in the 'Using OS NGD Data' section.

    Transport

    • New added to the Transport Network Collection to locate where trams are present against the OS road network.

    • Tram track attribution added indicating the presence of tram tracks on a road​. Supplied as new attribution against features​.

    • More information on these enhancements is available from the in the 'Using OS NGD Data' section.

    Geographical Names

    • New added to the OS NGD Named Features Collection, which provides enhanced names and the numbers of junctions. Includes both intersects without an official name or number and officially named or numbered junctions.

    2023 OS NGD enhancements

    September 2023 – OS NGD data enhancements

    Buildings

    • New Building Feature Type added to the OS NGD Building Features Collection.

      • Attribution provided on a building's use, how it is connected to other buildings, additional details on addresses contained within a building, and whether a building is considered to be the main one within a site.

      • Cross references added between the new Building Feature Type and the Building Part, Site, and Built Address Feature Types.

    Transport

    • New rail feature types added to the OS NGD Transport Network Collection, giving information about the topologically connected rail network:

    August 2023 – OS NGD data enhancements

    Transport

    • Path network coverage extended to all of Great Britain (it was previously just available for urban areas). The road and path networks have been topologically structured together, which has increased the number of features present in the Paths feature types (i.e. Path, Path Link, Path Node, Connecting Link, and Connecting Node Feature Types).

    March 2023 – OS NGD access enhancements

    APIs

    • Launch of the new vector tiles API: OS NGD API – Tiles.

    OS Select+Build

    • Option to select which data schema version you want to access for certain address feature types (see the and the for more information).

    • Ability to select a preference for the coordinate reference system you receive your OS NGD data in (see the and for more details).

    • New ability to share your created recipes with other organisations so that they can use exactly the same selections as you (see the for more details).

    • A new 'Order Summary' file will now be provided with your data packages to aid data validation when loading and using OS NGD data.

    • Enhanced search capability now available in both the Recipe Builder and your OS Select+Build Recipe Library, helping you locate feature types and your existing recipes quicker than before.

    March 2023 – OS NGD data enhancements

    Address

    • New attributes added to existing address feature types and improvements made for addressing floor-level information as part of the release of data schema version 2.0 (see the Addressing 'Versioning information' page for more information).

    • Improvements made to address data regarding the consistency of address positioning, usage classifications, business names and lifecycle.

    Transport

    • New added to the OS NGD RAMI Collection, giving full Great Britain coverage for speed data.

    • Speed data is now included in the Public Sector Geospatial Agreement (PSGA), so it is free for PSGA Members for the first time.

    • Increased number of daily time periods now available for average speed data.

    • COUs (change-only updates) available for speed data for the first time.

    Water

    • Two new feature types added to the OS NGD Water Features Collection:

    OS NGD delivery roadmap up to Spring 2026

    The OS NGD delivery roadmap can be seen in the following image; the roadmap details what was delivered in the Autumn 2025 data enhancements releases and what is planned for delivery in the upcoming Spring 2026 data enhancements release:

    OS NGD delivery roadmap up to Spring 2026.

    Please see the 'Future OS NGD Data Enhancements' page for information on planned future data enhancements.

    Highlights of the OS NGD data enhancements released to customers in Autumn 2025. Eight release highlights are included – these are covered in full by text further down the page.
    Highlights of the OS NGD data enhancements released to customers in Autumn 2025.

    More information on the land cover enhancements is available from the OS NGD Land cover enhancements pages in the 'Using OS NGD Data' section.

    Available rail network attribution now includes track representation (single / multitrack, siding) and use (freight / passenger / mixed).

  • New Pavement Link Feature Type added to the OS NGD Transport Network Collection, giving information on the presence of pavements on the Road Network. More information on this enhancement is available from the OS NGD Transport pages in the Using OS NGD Data section.

  • New attribution added to the Road Link Feature Type, giving details about pavement presence: left or right side of road, coverage, and minimum and average width. More information on this enhancement is available from the OS NGD Transport pages in the 'Using OS NGD Data' section.

  • Improved completeness of the Road Width attribute in the Road Link Feature Type, which extends coverage for road width data from just urban areas to urban areas, rural areas and mountain and moorland areas.

    Site Description Value Code List
    OS NGD Buildings pages
    Sites
    Site Access Location
    Compound Structure
    OS NGD Buildings pages
    Field Boundary Feature Type
    Field Boundary pages
    Tram On Road​ Feature Type
    Road Link
    OS NGD Transport pages
    Named Road Junction Feature Type
    Railway Link
    Railway Link Set
    Railway Node
    Addressing 'Versioning information' page
    'Data schema versioning' page
    'Downloading with OS Select+Build' page
    'Coordinate reference systems' page
    'Downloading with OS Select+Build' page
    Average and Indicative Speed Feature Type
    Waterbody Catchment Feature Type
    River Basin District Catchment Feature Type
    Examples of Built Address and Royal Mail Address features and the attribution provided for these features. The visualisation shows an image of house and a shop. Pop ups against each image show what example attribution might look like for the Built Address features and Royal Mail Address features.
    Visualisation showing the three building lifecycle values for the Physical State attribute of the Building Feature Type: Under Construction, Built and Derelict. Three images of a house are shown, with one house being under construction, one being complete and built, and one house being derelict and in a state of disrepair.
    Visualisation showing an example of an intertidal area under an elevated pier structure that's now present in the Land Feature Type. The intertidal area is indicated by a blue hashed box.
    Example map showing Status attribute values against land use Sites. Background map included for context. Sites with Active status are shown in green. Derelict sites are shown in red. Inactive sites are shown in yellow. Sites with a status value of NULL (i.e. out of capture specification) are also shown on the map.
    Example map showing Cycle Lane features. Background map included for context.
    Example map showing Bus Lane (red solid lines) and Road Link (blue dashed lines) features. Background map included for context.
    Example map showing the Bus Lane, Cycle Lane and Road Link features on a single stretch of road. Pop ups list the attribute information available for each feature type. Background map included for context.
    Animation showing the two new continuous tideline feature types that have been added to the OS Water Features Collection. A background map has been included for context. The animation shows a section of coastline where the new Tidal Boundary Continuous High Feature Type is marked with a blue solid line and the new Tidal Boundary Continuous Low Feature Type is marked by a red solid line.
    Examples of the width attribution now available for Water Link features, including average width, minimum width, maximum width and width derivation method. Three pop ups show the new watercourse width attribution available for three Water Link features. A background map is included for context.
    Highlights of the OS NGD data enhancements released to customers in March 2025. Image shows four boxes featuring the text: New Street Light Feature Type, New Building Access Location Feature Type, new Building roof attribution and New Crowd Source Name Point Feature Type.
    Examples of building features and attributes provided by the OS NGD Buildings and OS NGD Land Use Themes. 18 Attributes are shown against a diagram of a building.
    Example visualisation showing the primary roof material present on buildings. Four categories of roof material are shown in the image: Metal, Mixed, Tile Or Stone Or Slate, and Waterproof Membrane Or Concrete.  A background map has been included for context.
    Example of a Crowd Sourced Name Point feature being matched to existing OS NGD (Building Part and Address) features via its OSID (OS Identifier) and UPRN (Unique Property Reference Number). A background map has been included to provide context.
    Example of Site featuring a description of 'Beach' with Pedestrian and Vehicular Access Locations shown. Background maps are included for context.
    Example of the four types of Access Purpose points showing Emergency, Primary Public, Private, and Public points within a football stadium for purposes of emergency response and evacuations. A background map has been included to provide context.
    Visualisation showing Street Light coverage on Road Links and Path Links and how well-lit they are (using the Presence of Street Light Coverage attribute).
    OS NGD delivery roadmap. Enhancements are outlined for Autumn 2025 and Spring 2026.

    Non-Addressable Object

    The Non-Addressable Object Feature Type represents local authority and Ordnance Survey captured features that are currently live but are objects that would not be expected to be able to receive mail or deliveries. These objects typically represent structures or sites rather than buildings that somebody could conceivably live, work or engage in leisure activities within. For example, ponds and static water sites, public parks and telephone boxes.

    Data schema versioning

    The following table provides details about this feature type’s data schema versions, including the reasons behind the changes and the related launch date when each version went live.

    Data schema version table

    Version ↓
    Launch Date
    Latest Date
    Change

    Please see for in-depth information about data schema versioning in the OS NGD.

    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).

    The earliest and latest dates on which you can request a one-off snapshot of a date in the past for this feature type's data schema versions are indicated in the above. Please note that any data temporally filtered earlier than the specified launch date indicated in the table for the data schema versions may contain data inconsistencies.

    More information about temporal filtering on OS NGD feature types is available from the .

    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.

    uprn

    Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    versiondate

    Date when the version was last updated.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    versionavailablefromdate

    The date this version of the feature became the latest version.

    • Data Types: DateTime (GPKG), DateTime (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    versionavailabletodate

    The date this version of the feature was superseded by an update or ceased to exist.

    • Data Types: DateTime (GPKG), DateTime (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    changetype

    The type of change that generated a new version of the feature.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 50

    theme

    The OS NGD theme to which this feature belongs.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 40

    description

    A single descriptive value intended for a quick understanding of what the feature represents.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 2.0

    organisationname

    The name of the organisation operating from the address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    poboxnumber

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

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    subname

    The Sub Name is the secondary description for subdivisions of properties. For example: Sub Name: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    name

    The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    number

    The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). This includes numbers that contain a range, decimals or non-numeric characters, for example, 1-11 and 10A.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    streetname

    Name, number or descriptor that identifies the nearest accessible Street that an Address is located on or close to.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 100

    • OS Select+Build Filterable: No

    locality

    Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    townname

    Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    islandname

    Name of the island upon which an Address is located.

    Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 50

    • OS Select+Build Filterable: No

    postcode

    The postcode unit that the Address is situated within. 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 (or ‘outcode’), 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 (or ‘incode’), 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. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 8

    • OS Select+Build Filterable: Yes

    fulladdress

    Concatenation of the following address components: Organisation (Pre-Build and Built Address Feature Types only), Sub Name and / or Name and / or Number, Street Name, Locality, Town Name, Island Name and Postcode Locator.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 1 000

    • OS Select+Build Filterable: No

    country

    Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 16

    alternatelanguagesubname

    The Alternate Language Sub Name is the alternate language secondary description for subdivisions of properties. For example: Alternate Language Sub Name: 'LLYFRGELL Y CREUNANT', Alternate Language Name: 'CANOLFAN CYMUNED CREUNANT'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    alternatelanguagename

    The Alternate Language Name is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    alternatelanguagenumber

    The Alternate Language Number gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the Sub Name attributes.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    alternatelanguagestreetname

    Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    • OS Select+Build Filterable: No

    alternatelanguagelocality

    Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    alternatelanguagetownname

    The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    alternatelanguageislandname

    Name of the island upon which an Address is located.

    Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 50

    • OS Select+Build Filterable: No

    alternatelanguage

    ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name:

    • Max Length: 3

    alternatelanguagefulladdress

    Concatenation of the following alternate language address components: Organisation (Pre-Build and Built Address Feature Types only), Alternate Language Sub Name and / or Alternate Language Name and / or Alternate Language Number, Alternate Language Street Name, Alternate Language Locality, Alternate Language Town Name, Alternate Language Island Name and Postcode Locator.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 1 000

    • OS Select+Build Filterable: No

    floorlevel

    Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 30

    • OS Select+Build Filterable: No

    lowestfloorlevel

    In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

    This attribute is derived from Floor Level attribute data. Where the Floor Level field is NULL, Lowest Floor Level values will also be NULL.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: true

    • Precision: 3

    • Scale: 1

    highestfloorlevel

    In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

    This attribute is derived from Floor Level attribute data. Where the Floor Level field is NULL, Highest Floor Level values will also be NULL.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: true

    • Precision: 3

    • Scale: 1

    classificationcode

    Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 6

    classificationdescription

    Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 230

    primaryclassificationdescription

    A descriptive term used to describe the primary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 120

    secondaryclassificationdescription

    A descriptive term used to describe the secondary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Code List Name:

    • Nullable: true

    • Max Length: 120

    tertiaryclassificationdescription

    A descriptive term or collection of terms used to describe the tertiary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name:

    quaternaryclassificationdescription

    A descriptive term or collection of terms used to describe the quaternary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name:

    • Max Length: 120

    buildstatus

    A description of the build status of the Address, for example, 'Built Complete'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    buildstatusdate

    Date when the address entered the lifecycle state given in Build Status.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    addressstatus

    The lifecycle status of a given Address, for example, 'Provisional' and 'Approved'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 11

    postcodesource

    Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of receiving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 2.0

    parentuprn

    Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    rootuprn

    In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Root UPRN will display the Unique Property Reference Number (UPRN) for the top level Addressable Object in the parent-child structure, which in this example is the Grandparent UPRN.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    hierarchylevel

    In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute describes the position of the given UPRN within the overall set of relationships. For example, FLAT 1 is the Child UPRN at the lowest level and its Hierarchy Level will be 3; its Parent UPRN is BLOCK H, which will have a Hierarchy Level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a Hierarchy Level of 1.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    usrn

    The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    usrnmatchindicator

    Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 17

    localcustodiancode

    Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating and maintaining the address record.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    localcustodiandescription

    Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating and maintaining the address record.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    lowertierlocalauthoritygsscode

    The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 9

    • OS Select+Build Filterable: Yes

    easting

    X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 8

    • Scale: 2

    northing

    Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 2

    latitude

    Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 7

    longitude

    Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 7

    geometry

    Geometry for the feature.

    • Data Types: Geometry (GPKG), WKT (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    positionalaccuracy

    Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 2.0

    effectivestartdate

    The date on which this record was inserted into the Local Authority database.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    effectiveenddate

    The date on which the record ceased to exist.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    Historic Address

    The Historic Address Feature Type represents local authority addresses that are no longer in existence. This can occur as a result of demolition or the merging of two built properties to become one new single address, or the splitting of a single property into multiple flats for example.

    Data schema versioning

    The following table provides details about this feature type’s data schema versions, including the reasons behind the changes and the related launch date when each version went live.

    OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressdescriptionvalue

    • Code List Version: 1.0

    • Max Length: 50

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

    OS Select+Build Filterable: No
  • Data Schema Version: 3.0

  • The organisation name is the business name given to an Address within a building or small group of buildings. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 500

    • OS Select+Build Filterable: No

    • Data Schema Version: 2.0

    OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    • Data Schema Version: 2.0

    Data Schema Version: 1.0, 2.0, 3.0

    OS Select+Build Filterable: No

  • Data Schema Version: 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 2.0, 3.0

  • Max Length: 120
  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

  • A descriptive term used to describe the tertiary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name: addresstertiaryclassificationdescriptionvalue

    • Max Length: 120

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 2.0

    OS Select+Build Filterable: No

  • Data Schema Version: 2.0, 3.0

  • Code List Version: 2.0
  • Max Length: 18

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

  • A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: buildstatusvalue

    • Code List Version: 1.0

    • Max Length: 12

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0

    Data Schema Version: 3.0

    Date when the land and property unit entered the lifecycle state given in Build Status.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

    OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Max Length: 148

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressbasepostalvalue

    • Code List Version: 1.0

    • Max Length: 75

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0

    OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

    Data Schema Version: 1.0, 2.0, 3.0

    OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Geometry Type: Point

    Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: positionalaccuracyvalue

    • Code List Version: 1.0

    • Max Length: 25

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0

    3.0

    30 September 2025

    Ongoing

    Major version increment implementing the following changes:

    • Extended the max length of the Postcode Source, Full Address, Alternate Language Full Address, Sub Name, Alternate Language Sub Name and Build Status attributes.

    • Modified the associated code lists for the Description, Positional Accuracy and Postcode Source attributes.

    • Added download filters for Primary Classification Description, Secondary Classification Description, and Tertiary Classification Description attributes.

    • New associated code lists added to the Classification Code, Classification Description, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description attributes.

    2.0

    28 March 2023

    Ongoing

    Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

    1.0

    02 November 2022

    Ongoing

    Data schema versioning
    Data schema version table
    Getting started with temporal filtering guide
    changetypevalue
    themevalue
    addressdescriptionvalue
    countryvalue
    languagevalue
    AddressBase Classification Scheme page of the OS Download Products’ Documentation site
    addressclassificationcodevalue
    AddressBase Classification Scheme page of the OS Download Products’ Documentation site
    addressclassificationdescriptionvalue
    addressprimaryclassificationdescriptionvalue
    addresssecondaryclassificationdescriptionvalue
    addresstertiaryclassificationdescriptionvalue
    addressquaternaryclassificationdescriptionvalue
    buildstatusvalue
    addressstatusvalue
    addressbasepostalvalue
    usrnmatchindicatorvalue
    positionalaccuracyvalue

    Initial launch of the Non-Addressable Object Feature Type.

    Data schema version table
    Version ↓
    Launch Date
    Latest Date
    Change

    3.0

    30 September 2025

    Ongoing

    Major version increment implementing the following changes:

    • Extended the max length of the Postcode Source, Full Address, Alternate Language Full Address, Sub Name, Alternate Language Sub Name and Build Status attributes.

    • Modified the associated code lists for the Description, Positional Accuracy and Postcode Source attributes.

    • Added download filters for Primary Classification Description, Secondary Classification Description, and Tertiary Classification Description attributes.

    2.0

    28 March 2023

    Ongoing

    Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

    1.0

    02 November 2022

    Ongoing

    Please see Data schema versioning for in-depth information about data schema versioning in the OS NGD.

    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).

    The earliest and latest dates on which you can request a one-off snapshot of a date in the past for this feature type's data schema versions are indicated in the Data schema version table above. Please note that any data temporally filtered earlier than the specified launch date indicated in the table for the data schema versions may contain data inconsistencies.

    More information about temporal filtering on OS NGD feature types is available from the Getting started with temporal filtering guide.

    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.

    uprn

    Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    versiondate

    Date when the version was last updated.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    versionavailablefromdate

    The date this version of the feature became the latest version.

    • Data Types: DateTime (GPKG), DateTime (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    versionavailabletodate

    The date this version of the feature was superseded by an update or ceased to exist.

    • Data Types: DateTime (GPKG), DateTime (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    changetype

    The type of change that generated a new version of the feature.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: changetypevalue

    • Max Length: 50

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    theme

    The OS NGD theme to which this feature belongs.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: themevalue

    • Max Length: 40

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    description

    A single descriptive value intended for a quick understanding of what the feature represents.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressdescriptionvalue

    • Code List Version: 2.0

    • Max Length: 50

    • OS Select+Build Filterable: No

    • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 1.0

    organisationname

    The name of the organisation operating from the address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    • OS Select+Build Filterable: No

    • Data Schema Version: 3.0

    The organisation name is the business name given to an Address within a building or small group of buildings. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    poboxnumber

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

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    subname

    The Sub Name is the secondary description for subdivisions of properties. For example: Sub Name: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    name

    The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    number

    The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). This includes numbers that contain a range, decimals or non-numeric characters, for example, 1-11 and 10A.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    streetname

    Name, number or descriptor that identifies the nearest accessible Street that an Address is located on or close to.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 100

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    locality

    Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    townname

    Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    islandname

    Name of the island upon which an Address is located.

    Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 50

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    postcode

    The postcode unit that the Address is situated within. 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 (or ‘outcode’), 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 (or ‘incode’), 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. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 8

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    fulladdress

    Concatenation of the following address components: Organisation (Pre-Build and Built Address Feature Types only), Sub Name and / or Name and / or Number, Street Name, Locality, Town Name, Island Name and Postcode Locator.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 1 000

    • OS Select+Build Filterable: No

    • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 500

    • OS Select+Build Filterable: No

    country

    Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: countryvalue

    • Max Length: 16

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguagesubname

    The Alternate Language Sub Name is the alternate language secondary description for subdivisions of properties. For example: Alternate Language Sub Name: 'LLYFRGELL Y CREUNANT', Alternate Language Name: 'CANOLFAN CYMUNED CREUNANT'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    alternatelanguagename

    The Alternate Language Name is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguagenumber

    The Alternate Language Number gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the Sub Name attributes.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguagestreetname

    Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguagelocality

    Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguagetownname

    The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguageislandname

    Name of the island upon which an Address is located.

    Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 50

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguage

    ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name: languagevalue

    • Max Length: 3

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    alternatelanguagefulladdress

    Concatenation of the following alternate language address components: Organisation (Pre-Build and Built Address Feature Types only), Alternate Language Sub Name and / or Alternate Language Name and / or Alternate Language Number, Alternate Language Street Name, Alternate Language Locality, Alternate Language Town Name, Alternate Language Island Name and Postcode Locator.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 1 000

    • OS Select+Build Filterable: No

    • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    floorlevel

    Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 30

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    lowestfloorlevel

    In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

    This attribute is derived from Floor Level attribute data. Where the Floor Level field is NULL, Lowest Floor Level values will also be NULL.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: true

    • Precision: 3

    • Scale: 1

    • OS Select+Build Filterable: No

    • Data Schema Version: 2.0, 3.0

    highestfloorlevel

    In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

    This attribute is derived from Floor Level attribute data. Where the Floor Level field is NULL, Highest Floor Level values will also be NULL.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: true

    • Precision: 3

    • Scale: 1

    • OS Select+Build Filterable: No

    • Data Schema Version: 2.0, 3.0

    classificationcode

    Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the AddressBase Classification Scheme page of the OS Download Products’ Documentation site.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressclassificationcodevalue

    • Max Length: 6

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    classificationdescription

    Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the AddressBase Classification Scheme page of the OS Download Products’ Documentation site.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressclassificationdescriptionvalue

    • Max Length: 230

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    primaryclassificationdescription

    A descriptive term used to describe the primary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressprimaryclassificationdescriptionvalue

    • Max Length: 120

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 2.0, 3.0

    secondaryclassificationdescription

    A descriptive term used to describe the secondary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Code List Name: addresssecondaryclassificationdescriptionvalue

    • Nullable: true

    • Max Length: 120

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 2.0, 3.0

    tertiaryclassificationdescription

    A descriptive term or collection of terms used to describe the tertiary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name: addresstertiaryclassificationdescriptionvalue

    • Max Length: 120

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 3.0

    A descriptive term used to describe the tertiary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name:

    quaternaryclassificationdescription

    A descriptive term or collection of terms used to describe the quaternary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name: addressquaternaryclassificationdescriptionvalue

    • Max Length: 120

    • OS Select+Build Filterable: No

    • Data Schema Version: 2.0, 3.0

    buildstatus

    A description of the build status of the Address, for example, 'Built Complete'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: buildstatusvalue

    • Code List Version: 2.0

    • Max Length: 18

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 3.0

    A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    buildstatusdate

    Date when the address entered the lifecycle state given in Build Status.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 3.0

    Date when the land and property unit entered the lifecycle state given in Build Status.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    addressstatus

    The lifecycle status of a given Address, for example, 'Provisional' and 'Approved'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressstatusvalue

    • Max Length: 11

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    postcodesource

    Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of receiving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressbasepostalvalue

    • Code List Version: 2.0

    • Max Length: 148

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 1.0

    parentuprn

    Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    rootuprn

    In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Root UPRN will display the Unique Property Reference Number (UPRN) for the top level Addressable Object in the parent-child structure, which in this example is the Grandparent UPRN.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    hierarchylevel

    In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute describes the position of the given UPRN within the overall set of relationships. For example, FLAT 1 is the Child UPRN at the lowest level and its Hierarchy Level will be 3; its Parent UPRN is BLOCK H, which will have a Hierarchy Level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a Hierarchy Level of 1.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    usrn

    The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    usrnmatchindicator

    Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: usrnmatchindicatorvalue

    • Max Length: 17

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    localcustodiancode

    Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating and maintaining the address record.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    localcustodiandescription

    Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating and maintaining the address record.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    lowertierlocalauthoritygsscode

    The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 9

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0, 3.0

    easting

    X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 8

    • Scale: 2

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    northing

    Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 2

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    latitude

    Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 7

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    longitude

    Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 7

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    geometry

    Geometry for the feature.

    • Data Types: Geometry (GPKG), WKT (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    • Geometry Type: Point

    positionalaccuracy

    Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: positionalaccuracyvalue

    • Code List Version: 2.0

    • Max Length: 25

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 1.0

    effectivestartdate

    The date on which this record was inserted into the Local Authority database.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    effectiveenddate

    The date on which the record ceased to exist.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0, 3.0

    Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Data Schema Version: 1.0, 2.0

    Data Schema Version: 2.0

    Data Schema Version: 1.0, 2.0

    Data Schema Version: 2.0

    Max Length: 120
  • OS Select+Build Filterable: Yes

  • Data Schema Version: 2.0

  • Code List Version: 1.0
  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

  • Data Schema Version: 1.0, 2.0

    Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

  • New associated code lists added to the Classification Code, Classification Description, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description attributes.

    Initial launch of the Historic Address Feature Type.

    addressdescriptionvalue
    addresstertiaryclassificationdescriptionvalue
    buildstatusvalue
    addressbasepostalvalue
    positionalaccuracyvalue

    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.

    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.

    Built Address

    The Built Address Feature Type represents local authority addresses that are currently built and live and can typically receive mail, deliveries, or services. For example, homes, shops, schools and hospitals.

    Data schema versioning

    The following table provides details about this feature type’s data schema versions, including the reasons behind the changes and the related launch date when each version went live.

    Data schema version table

    Version ↓
    Launch Date
    Latest Date
    Change

    Please see for in-depth information about data schema versioning in the OS NGD.

    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).

    The earliest and latest dates on which you can request a one-off snapshot of a date in the past for this feature type's data schema versions are indicated in the above. Please note that any data temporally filtered earlier than the specified launch date indicated in the table for the data schema versions may contain data inconsistencies.

    More information about temporal filtering on OS NGD feature types is available from the .

    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.

    uprn

    Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version:

    versiondate

    Date when the version was last updated.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version:

    versionavailablefromdate

    The date this version of the feature became the latest version.

    • Data Types: DateTime (GPKG), DateTime (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version:

    versionavailabletodate

    The date this version of the feature was superseded by an update or ceased to exist.

    • Data Types: DateTime (GPKG), DateTime (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version:

    changetype

    The type of change that generated a new version of the feature.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length:

    theme

    The OS NGD theme to which this feature belongs.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length:

    description

    A single descriptive value intended for a quick understanding of what the feature represents.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 2.0

    organisationname

    The name of the organisation operating from the address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    poboxnumber

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

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    subname

    The Sub Name is the secondary description for subdivisions of properties. For example: Sub Name: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    name

    The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    number

    The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). This includes numbers that contain a range, decimals or non-numeric characters, for example, 1-11 and 10A.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    streetname

    Name, number or descriptor that identifies the nearest accessible Street that an Address is located on or close to.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 100

    • OS Select+Build Filterable: No

    locality

    Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    townname

    Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    islandname

    Name of the island upon which an Address is located.

    Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 50

    • OS Select+Build Filterable: No

    postcode

    The postcode unit that the Address is situated within. 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 (or ‘outcode’), 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 (or ‘incode’), 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. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 8

    • OS Select+Build Filterable: Yes

    fulladdress

    Concatenation of the following address components: Organisation (Pre-Build and Built Address Feature Types only), Sub Name and / or Name and / or Number, Street Name, Locality, Town Name, Island Name and Postcode Locator.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 1 000

    • OS Select+Build Filterable: No

    country

    Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length:

    alternatelanguagesubname

    The Alternate Language Sub Name is the alternate language secondary description for subdivisions of properties. For example: Alternate Language Sub Name: 'LLYFRGELL Y CREUNANT', Alternate Language Name: 'CANOLFAN CYMUNED CREUNANT'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    alternatelanguagename

    The Alternate Language Name is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    alternatelanguagenumber

    The Alternate Language Number gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the Sub Name attributes.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 13

    • OS Select+Build Filterable: No

    alternatelanguagestreetname

    Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    • OS Select+Build Filterable: No

    alternatelanguagelocality

    Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    alternatelanguagetownname

    The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    alternatelanguageislandname

    Name of the island upon which an Address is located.

    Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 50

    • OS Select+Build Filterable: No

    alternatelanguage

    ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name:

    • Max Length:

    alternatelanguagefulladdress

    Concatenation of the following alternate language address components: Organisation (Pre-Build and Built Address Feature Types only), Alternate Language Sub Name and / or Alternate Language Name and / or Alternate Language Number, Alternate Language Street Name, Alternate Language Locality, Alternate Language Town Name, Alternate Language Island Name and Postcode Locator.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 1 000

    • OS Select+Build Filterable: No

    floorlevel

    Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 30

    • OS Select+Build Filterable: No

    lowestfloorlevel

    In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

    This attribute is derived from Floor Level attribute data. Where the Floor Level field is NULL, Lowest Floor Level values will also be NULL.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: true

    • Precision: 3

    • Scale: 1

    highestfloorlevel

    In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

    This attribute is derived from Floor Level attribute data. Where the Floor Level field is NULL, Highest Floor Level values will also be NULL.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: true

    • Precision: 3

    • Scale: 1

    classificationcode

    Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 6

    classificationdescription

    Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 230

    primaryclassificationdescription

    A descriptive term used to describe the primary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length: 120

    secondaryclassificationdescription

    A descriptive term used to describe the secondary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Code List Name:

    • Nullable: true

    • Max Length: 120

    tertiaryclassificationdescription

    A descriptive term or collection of terms used to describe the tertiary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name:

    quaternaryclassificationdescription

    A descriptive term or collection of terms used to describe the quaternary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name:

    • Max Length: 120

    buildstatus

    A description of the build status of the Address, for example, 'Built Complete'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    buildstatusdate

    Date when the address entered the lifecycle state given in Build Status.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    addressstatus

    The lifecycle status of a given Address, for example, 'Provisional' and 'Approved'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length:

    postcodesource

    Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of receiving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 2.0

    parentuprn

    Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version:

    rootuprn

    In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Root UPRN will display the Unique Property Reference Number (UPRN) for the top level Addressable Object in the parent-child structure, which in this example is the Grandparent UPRN.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version:

    hierarchylevel

    In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute describes the position of the given UPRN within the overall set of relationships. For example, FLAT 1 is the Child UPRN at the lowest level and its Hierarchy Level will be 3; its Parent UPRN is BLOCK H, which will have a Hierarchy Level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a Hierarchy Level of 1.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version:

    usrn

    The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: Yes

    • Data Schema Version:

    usrnmatchindicator

    Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Max Length:

    localcustodiancode

    Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating and maintaining the address record.

    • Data Types: Integer (GPKG), Integer (CSV)

    • Nullable: false

    • OS Select+Build Filterable: Yes

    • Data Schema Version:

    localcustodiandescription

    Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating and maintaining the address record.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 35

    • OS Select+Build Filterable: Yes

    lowertierlocalauthoritygsscode

    The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 9

    • OS Select+Build Filterable: Yes

    easting

    X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 8

    • Scale: 2

    northing

    Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 2

    latitude

    Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 7

    longitude

    Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

    • Data Types: Float (GPKG), Real (CSV)

    • Nullable: false

    • Precision: 9

    • Scale: 7

    geometry

    Geometry for the feature.

    • Data Types: Geometry (GPKG), WKT (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version:

    positionalaccuracy

    Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name:

    • Code List Version: 2.0

    effectivestartdate

    The date on which this record was inserted into the Local Authority database.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: false

    • OS Select+Build Filterable: No

    • Data Schema Version:

    effectiveenddate

    The date on which the record ceased to exist.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version:

    FAQs

    Frequently asked questions on OS NGD data and access methods (OS Select+Build and OS NGD APIs).

    General FAQs

    What file formats are available for OS NGD data?

    OS NGD data is available in four easy-to-use formats: GeoPackage, CSV (comma-separated values), GeoJSON and vector tiles. The download service of OS Select+Build supports GeoPackage and CSV. OS NGD API – Features supports GeoJSON. OS NGD API – Tiles supports vector tiles.

    For more information about the file formats, please see the .

    Why are there TOIDs in the OS NGD which are not in OS Premium Products?

    Features are now available to customers more quickly in the OS NGD than they are in OS Premium or OS OpenData products. OS NGD features that will also ultimately be supplied in existing products with a TOID will now appear in the OS NGD in advance of their publication in OS Premium or OS OpenData Products. At a future refresh of OS Premium or OS OpenData Products, these features will appear with the same TOID.

    Is COU data available?

    Monthly and daily COU (Change-Only Update) supplies are available for CSV files; however, they are not available for GeoPackage files. For more information about COUs, please see the and the .

    Why won't my CSV file open in excel / why won't my CSV file load in my GIS?

    Please be aware that CSV (comma-separated values) files are designed to be opened in a database or GI system, and opening them in other software applications could corrupt the data. In particular, Excel has a row limit which might be exceeded by some of our CSV files containing OS NGD data, depending on the order you placed and its size.

    We recommend that you load CSV files containing OS NGD data directly into a database or GI system, rather than trying to open these files in Excel.

    For more information about CSV files, please see the .

    Does the launch of the OS NGD mean that some existing OS Premium and OS OpenData Products will be withdrawn?

    No. The launch of the OS NGD does not instigate withdrawal of any of the existing OS Premium or OS OpenData Download products, including APIs. These products will continue to be managed through their product lifecycle, including withdrawal / becoming End of Life, separately to the OS NGD.

    The OS NGD gives new and enhanced ways for customers to access the most trusted and up-to-date geographic information from OS.

    The is available to view on our website – it has details of upcoming OS NGD releases, new Download product releases (for Premium and OpenData products), and dates for planned product withdrawals as they reach their End of Life stage.

    Why do I have different start dates when applying temporal filters to different feature types?

    Following the launch of the OS NGD in September 2022, we have and will continue to add new feature types as part of our . These could be brand new feature types or enhanced versions of previously existing feature types (with new attribution added for a new version). In both instances, these new / enhanced feature types will have later start dates.

    The earliest date on which you can request a one-off snapshot of a date in the past for data in a feature type in most collections is 29 September 2022, but that date can be later for certain feature types (for example, it's 28 March 2023 for the Waterbody Catchment Feature Type). Each feature type page states the earliest start date available for temporal filtering on that feature type.

    How is OS NGD file naming managed?

    Please refer to the for information about the OS NGD file naming convention.

    Why am I receiving blank files?

    You could have received blanks files for one of the following reasons:

    • You are collecting data via a COU (Change-Only Update) and there has been no change.

    • You have selected a feature type from one of the following OS NGD collections which has a different update frequency from your selected COU: OS NGD Boundaries Collection (updated biannually), OS NGD Transport Features Collection (updated daily, with the exception of the Street Light Feature Type which is updated monthly), OS NGD Transport Network Collection (updated monthly), OS NGD RAMI Collection (updated monthly),or the OS NGD Water Network Collection (updated quarterly).

    What is data schema versioning and how does it work in the OS NGD?

    Please see the in the OS NGD Fundamentals section for a full explanation of data schema versioning and how it works in the OS NGD.

    Can I download OS NGD documentation for offline use?

    Yes. The OS NGD documentation can be saved to a PDF using the Export as PDF button on the right-hand side of the page. This tool allows users to download individual pages or groups of pages that make up a complete document. Users should limit their documents to a maximum of 100 pages per PDF to prevent issues when saving or opening the file.

    What is the difference between 'Unknown' and 'NULL' attribute values?

    'Unknown' is used in two main circumstances:

    • Where an attribute is expected to be populated but Ordnance Survey does not currently have a value. For example, a feature captured by a remote sensed survey where the land use has not yet been determined.

    • Where an attribute is expected and Ordnance Survey has attempted to obtain a value, but this has not been possible. For example, the ‘use’ of an inactive or derelict site is not clear.

    Can I try out OS NGD data for free using a Data Exploration Licence?

    Yes, you can try out OS NGD collection data for free for three to six months by applying for . This licence is available for all of the collections apart from the Islands Address Collection. The licence will let you use GB Address Collection data for three months and data from all other collections (apart from the Islands Address Collection) for six months.

    This licence is primarily designed for organisations either considering becoming an OS Partner or who want to trial OS Premium data before working with an existing OS Partner.

    .

    API FAQs

    How is the new OS NGD API – Features different from the OS Features API?

    The OS Features API is based on the OGC standard Web Feature Service (WFS) and provides access to OS OpenData and OS Premium Product data. It does not give access to any OS NGD data.

    OS NGD API – Features gives you simple access to the OS NGD using the latest in API standards (based on the ). As the new API uses the latest standards, it's easier than ever before to quickly discover what OS NGD data is available and create your own bespoke data selections with more understandable filtering options. Ultimately, this will help accelerate your time-to-value by making it easier to build awesome things with our trusted geospatial data.

    Why does OS NGD API – Tiles only include a subset of OS NGD feature types and their attributes?

    A key benefit of vector tiles is that they comprise layers of vector features optimised for caching and scaling that can render quickly. As a result, to ensure the vector tiles are lightweight and offer a smooth user experience, we only use the OS NGD feature types required to create a complete contextual base map.

    Additionally, vector tile services include minimal attribution data to ensure maps load quickly. Even with minimal attribution, map developers can apply styles and interactivity to vector features that is just not possible with raster maps. The inclusion of unique identifiers (where available) allows you to cross-reference with the full product, for example, with .

    When is OS NGD API – Tiles updated?

    The OS NGD API – Tiles basemap is updated weekly. This means that the OS NGD data is updated with the latest available data every week, usually by Monday. The data used to update the API is taken from the previous Wednesday, ensuring that we’ve updated the vector tile cache with the latest OS OpenZoomstack and OS NGD data available at the time.

    Additional general FAQs and answers about OS APIs are available on the and , for example, 'What's a Project?', 'What throttling is applied to the APIs?'.

    OS Select+Build FAQs

    Which formats can be taken using OS Select+Build and at what frequencies?

    The download service of OS Select+Build supports GeoPackage and CSV file formats (more information on these file formats is available on the from the OS NGD Fundamentals section).

    For information about data ordering and currency, please see the .

    What are the default coordinate reference systems (CRS) used by the OS NGD collections in OS Select+Build?

    Please see the in the OS NGD Fundamentals section for full details.

    It is possible to select what CRS you'd like to receive data in for feature types in your data package. There's more information about selecting a CRS on the . If you don't choose a particular CRS for your data package, OS Select+Build will automatically select the default CRSs for the feature types in your data package for you.

    What is a recipe and how do I create one?

    A recipe is a bespoke selection of OS NGD data which is made by a user within OS Select+Build. Recipes allow you to choose the OS NGD data that best fit your requirements.

    Please see the for more information about recipes and step-by-step instructions for creating them.

    How do I edit a recipe?

    Please see the for step-by-step instructions on how to edit a recipe.

    How do I delete a recipe?

    Please see the for step-by-step instructions on how to delete a recipe.

    How do I know which recipes are associated with which data package?

    Please see the for step-by-step instructions on how to check which recipes are associated with each data package.

    How do I create an OS Select+Build data package?

    Please see the for step-by-step instructions on creating an OS Select+Build data package.

    How do I delete an OS Select+Build data package?

    Please see the for step-by-step instructions on deleting an OS Select+Build data package.

    How does AOI ordering work with OS NGD Address Islands Collection data?

    The OS NGD Address Islands Collection contains data for Northern Ireland, the Isle of Man, and the Channel Islands. When ordering data from this collection, you will be provided with a full supply of the data regardless of whether you select 'All of Britain or Predefined Area', or an 'area of interest' (AOI)​.

    For example, if you order the OS NGD Address Islands Collection and the Building Line Feature Type selected with an AOI, then you will receive the Building Line Feature Type data for your selected AOI and all of the Address Islands Collection data​ (i.e. data for Northern Ireland, the Isle of Man, and the Channel Islands, and not just data for your AOI).

    How do I use attribute filtering in OS Select+Build?

    Please see the for step-by-step instructions on how to filter attributes using OS Select+Build.

    How do I identify the correct OS NGD collection for calculating usage?

    The OS NGD collection can be identified within the file name of your .zip file: themeshortcode_collectionshortcode_featuretype.zip.

    For example, bld_fts_buildingpart.zip is the file name which would be created for an order of the Building Part Feature Type within the OS NGD Building Features Collection of the OS NGD Buildings Theme.

    For more information about the file naming convention for OS NGD data, please see the in the OS NGD Fundamentals section.

    Theme-specific FAQs

    OS NGD Address Theme FAQs

    Can I use OS NGD Address Theme data to update my AddressBase Premium holding?

    We wouldn't recommend trying to use OS NGD Address Theme data to update existing product supplies of AddressBase products. The different data format and attribution mean that there are no direct mappings available back to AddressBase products, and there is a risk of updating your existing holding incorrectly.

    Why are there historic addresses in the Alternate Address data?

    The Alternate Address Related Component provides alternative address labels where they exist for a ‘current’ address, independent of whether these alternate labels are current / live or historic. Where a historic address label is present but there is also a live / approved address label, then the historic version will appear in the Alternate Address data.

    How does lifecycle work in OS NGD Address Theme data?

    As addresses move through different stages of their lifecycle, you will see different update types dependent on your chosen data package. In OS NGD Address Theme data, pre-build, built, and historic addresses are kept in separate feature types. This means that as an address moves from one stage to another (for example, pre-build to built), it will be removed from one feature type and added to the other. This differs to AddressBase Premium, where, when an address changes from one stage to another, the record is updated, i.e. not deleted from one table and inserted into another. This will also mean that, if, for example, a user has a data package that includes pre-build addresses but not built addresses, as an address moves from pre-build to built in its lifecycle, the user will see a deletion to the record that they hold of this address.

    Why are there addresses flagged as 'Non-Postal' that are not in the Non-Addressable Object Feature Type?

    Addresses that cannot receive post are classified as such for various reasons. Therefore, there are a number of different ways of extracting addresses that occupy different classes of 'Non-Postal'. The terms 'Non-Postal' and 'Non-Addressable Objects' used in OS NGD Address Theme data represent categories of addresses which are defined by differing logic.

    Non-Addressable Objects are features which OS deem to always be non-postal. This is our most certain view of addresses that are non-postal, for example, Bandstands, Telephone Boxes, and Nature Reserves. The vast majority of Non-Addressable Objects will also have an 'N' value in the Postcode Source attribute.

    'Non-Postal' in the Description attribute is essentially an amalgamation of all addresses that are defined by Local Authorities to be either 'N: Non-Postal' or 'L: Maybe Postal', and therefore is most relevant for customers who are only interested in using it as a filter to get to the 'Postal' addresses.

    What does parent-child relationship mean?

    The parent-child relationship is used to relate multiple addresses to each other. These are most commonly used to relate addresses within a building, for example, a block of flats. A parent Unique Property Reference Number (UPRN) is assigned to the building shell to give an indication that the flats within that building are related to the overarching address, for example, Example Court and the flats within.

    A good example of this is:

    • Parent: 1 High Street (UPRN: 1234)

    What's the source of the improved level information for the Floor Level, Lowest Floor Level and Highest Floor Level attributes?

    These attributes are populated by data captured by local authority address custodians. The data previously had been available within our AddressBase products, but there was a large variation in the textual format. The level information has been standardised into an ordered numeric list (for example, ‘First Floor’ is now ‘1’, and ‘Ground Floor’ is now ‘0’ and remains a string field).

    How is the Full Address attribute populated in OS NGD Address?

    In OS NGD Address, the Full Address attribute is populated entirely from address data sourced from local authorities. This differs from the logic behind the Full Address attribute used in the AddressBase Core product, which is populated with information from Royal Mail and data from local authorities.

    OS NGD Administrative and Statistical Units Theme FAQs

    Can I easily identify wards linked to a specific unitary authority?

    Yes. This can be done non-spatially by interrogating the new Boundary Parent Reference attributes.

    OS NGD Buildings Theme FAQs

    How are Building features derived ?

    By using the Building Part feature type and merging connected Building Parts that are within the same Land Use Site and have a contiguous border greater than 0.5m.

    If a Building Part feature type does not belong to a Site, then it will retain the same geometry in the Building feature type.

    If there are multiple Sites, the smaller Site has hierarchy over the larger site (i.e. Building Parts only merge within the smaller Site, and if they share a border with a Building Part outside of the smallest Site then the Building Parts features will not merge).

    Is there height data available on building features ?

    Yes. Height data is available on features and features.

    How have Building address counts been derived ?

    The various address count attributes that have been derived from the OS NGD GB Built Address feature type where the ‘buildstatus’ value is classified as ‘Built In Use’. Residential, commercial and other address counts have been derived where the primary code in the address classification is equal to ‘R’, ‘C’, or anything not ‘R’ or ‘C’ respectively.

    What is a ‘Main Building’ and how has the data been derived ?

    The main building aims to easily identify the building a casual visitor to a site would identify as the most useful building to represent the entire site. For example, the house on a residential site would be identified as the main building rather than the shed in the garden, or the ticket office of a train station rather than the waiting room on the other side of the platform.

    How is ‘Building Use’ derived ?

    Building use is derived from an in-house algorithm that uses either OS NGD Address data or OS Land Use Sites data to determine what the building is being used for. In most cases, the attribute value has been derived from address data classification.

    What’s the difference between the ‘Building Use’ and ‘OS Land Use Tier A’ value ?

    There are two main differences; a difference in what each attribute is trying to convey and a difference in their derivation.

    • Building Use attempts to convey what the Building is specifically being used for, whilst OS Land Use Tier A attempts to convey what activity the site that the Building is situated within is being used for. For example, Nurses' accommodation on a hospital site will have the Building Use value of ‘Residential Accommodation’ but the OS Land Use Tier A value of ‘Medical Or Health Care’.

    What is the difference in the derivation process between Roof Shape and Roof Material?

    The derivation of Roof Shape involves using automated methods and height models to delineate roof faces, while Roof Material is derived from imagery processed by a supervised ML model and an Automated Feature Extraction algorithm.

    What is the difference between Building Access Locations and Land Use Site Access Locations?

    Building Access Locations identify specific entry and exit points for individual buildings, while Land Use Site Access Locations represent access points for broader areas (Sites), identified for a specific purpose, connecting them to the Road Network.

    OS NGD Geographical Names Theme FAQs

    Why are settlement extents depicted differently by the Named Area Feature Type within the OS NGD Named Features Collection and feature types in the OS NGD Boundaries Collection?

    The OS NGD Boundaries Collection provides a definitive dataset of administrative and electoral boundaries; whereas, the depiction of settlement boundaries in the Named Area Feature Type of the OS NGD Named Features Collection is an OS geographic depiction of the extent of settlements and should not be mistaken for administrative or electoral uses.

    Why is the OS NGD Geographical Names Theme not OpenData like OS Open Names?

    More features and attributes are provided in the OS NGD Geographical Names Theme than in OS Open Names. The theme also includes a new feature type (Named Area) which shows geometry never before published by OS. The rich attribution provided by the theme's data lends itself to helping users perform gazetteer searches as well as high-level visualisation and spatial analysis of named features and places.

    Crowd Sourced Name Point features' FAQs

    Why are there no Crowd Sourced Name Point features in my area?

    Coverage of Crowd Source Name Point features is dependent on submissions from expert third parties via the Vernacular Names Tool.

    The Vernacular Names Tool is a resource developed by Ordnance Survey to assist Emergency Services by incorporating user-submitted colloquial names for geographic features across Great Britain.

    Why are the names of the Crowd Sourced Name Point features not in a standardised format?

    The names are published as they are submitted by expert third parties. OS doesn't make changes to the names and doesn't enforce standardisation at this time because casing and punctuation can be important elements in some names. Spelling mistakes are also expected as these can be common variants tried in searches.

    Can I submit a new name (i.e. a new Crowd Sourced Name Point feature)?

    Crowd sourced names can be submitted via the Vernacular Names Tool on the . You'll need to be member of an approved organisation to submit a name.

    The Vernacular Names Tool is a resource developed by Ordnance Survey to assist Emergency Services by incorporating user-submitted colloquial names for geographic features across Great Britain.

    Can I suggest a change to a Crowd Sourced Name Point feature's name, coordinate or classification, or suggest a match to it?

    Please report these via the Errors & Omissions Tool on the .

    Why has my name not been published?

    Names usually appear in the Crowd Sourced Name Point features dataset within two months of being submitted, but they can be viewed in the Vernacular Names Tool on the before then.

    The Vernacular Names Tool is a resource developed by Ordnance Survey to assist Emergency Services by incorporating user-submitted colloquial names for geographic features across Great Britain.

    Names will not be published if they have been flagged as containing personally identifiable information or potentially offensive language. They will also not be published if the name is identical to an existing OS feature or is of an unsuitable classification (for example, a defibrillator as their locations are not currently captured).

    Why is the same name in the Crowd Sourced Names Point features dataset multiple times?

    OS is not looking for duplicates within Crowd Sourced Names Point features, so if the same name is submitted multiple times, all entries will be published.

    OS NGD Land and Land Use Themes' FAQs

    How does OS NGD Land Theme data differ from OS NGD Land Use Theme data?

    OS NGD Land Theme data contains land cover attribution that describes the physical and biological surface of the land. OS NGD Land Use Theme data contains land use attribution that describes the human or economic activity taking place on areas of land (i.e. how areas of land are being used / their purpose).

    How does the OS NGD Land Theme differ from the OS MasterMap Topography Layer, Sites Layer, and Greenspace Layer products?

    The OS NGD Land Theme contains some land information data which can also be seen in the OS MasterMap Topography Layer, Sites Layer, and Greenspace Layer products. The data in the theme is similar as that provided by the aforementioned OS products, but it has been structured to be more analytical and consistent across the six OS NGD features collections, allowing you to easily select the specific features you require and delivering greater value to users.

    (The six OS NGD features collections, which also include data from the three aforementioned OS products, are the OS NGD Building Features, Land Features, Land Use Features, Structure Features, Transport Features, and Water Features Collections.)

    What are the NGD land cover enhancements?

    Please refer to the section for further information.

    Why are Wind Farm site polygons the shape they are?

    Wind farms are a complex site to model as they are often constructed across large areas of open land with much of the ground around individual turbines being used for other activities, such as animal grazing or a solar farm. Some Wind Farm sites, in contrast, may be wholly contained within another existing site, such as a factory. Additionally, access roads may extend a significant distance from the turbines, or each turbine may have individual access. Consequently, what is recognised as a Wind Farm extent is heavily dependent on the surrounding geography, the nature of the wind farm, and the user’s perspective.

    OS has chosen not to include the entire extent of the land parcels below turbines as the definition of a Wind Farm extent because this can sometimes translate to many thousands of hectares in mountain and moorland areas and therefore misrepresent the real-world site. Other sources of land extent data such as land registration and planning area data were considered, but did not provide consistent high-quality coverage across Great Britain.

    Instead, a nominal 300m buffer was applied to the individual wind turbines associated with wind farm schemes referenced in the Renewable Energy Planning Database to indicate the general area of land used as a Wind Farm. Land Use Sites extents are not meant to represent specific concepts like land ownership, which is made clearer by this nominal geometry design choice.

    OS NGD Structures Theme FAQs

    How does OS NGD Structure Features Collection data differ from structure features data available in the OS MasterMap Topography Layer product?

    In comparison to OS MasterMap Topography Layer data, OS NGD Structure Features Collection data has been enriched with additional attribution, including the following:

    • Geometry change metadata

    • A Description attribute to provide a one-word or simple phrase description of a feature

    What is a compound structure?

    The new Compound Structure Feature Type is a polygon feature which encompasses one or more components and represents a manmade construction that has been built for a specific purpose. Examples include a bridge, a dam, and an aqueduct. A compound structure essentially combines multiple polygons into a single polygon, making it easier for you to analyse and query data when you want to analyse a structure as a single part rather than its constituent parts.

    Why don't all structures have names?

    Name attribution, where known, is provided for structure features to help you identify what a structure is called. This attribute is optional as not all structures have a name and, in some instances, OS may not yet have captured a structure's name in the data.

    What structures will have height attributes allocated?

    Embedded height attribution is available for chimneys, roofed tanks, and glasshouses, enabling users to create simple height models of these structures. Field Boundary features also have a height value.

    Where can I learn more about Field Boundary features?

    Please refer to the section for further information.

    Why are some London Underground stations missing from Tube or Metro Tunnel features in Compound Structures?

    OS's capture focus is on tunnels that reach the surface, meaning that the Metropolitan and District Lines of the London Underground are captured, whereas other London Underground lines are generally not captured.

    OS NGD Transport Theme FAQs

    Can I use OS NGD Transport Theme data for routing?

    Yes. Data in the OS NGD Routing and Asset Management Information (RAMI) Collection can be fed into routing software. The routing information provides details about potential routing hazards (for example, dangerous bends and low bridges) and vehicle restrictions (for example, one-way streets and road widths).

    How has the Rail Network been generalised?

    The generalisation of Rail Networks should ensure full connectivity between relevant Rail Nodes. Rail track generalisation can be typically three or four Rail Links represented as one link, for example, multiple siding tracks. However, this may not always be the case, for example, tracks that pass either side of a station platform are normally included to ensure connectivity at a station.

    How will tracks be distinguished from paths?

    Paths and tracks will both be represented in the OS NGD Transport Network Collection. The Description attribute provides a one-word or simple phrase description of a feature, and you'll be able to use this attribute to easily distinguish between paths and tracks.

    What routing and asset management information is included in the OS NGD RAMI Collection?

    The OS NGD Routing and Asset Management Information (RAMI) Collection provides in-depth routing and asset management information for roads across Great Britain. Rights and restrictions define properties that restrict, regulate or prohibit the use of the network by traffic which may affect the allowable route for users. Advisory information provides additional information that may either affect a driver’s preferred choice of route or highlight potential hazards, such as the presence of a toll or a level crossing. Asset management information provides additional information describing the network to support its long-term operation and maintenance.

    Bus lane data FAQs

    What is the coverage of bus lanes?

    There will be partial data coverage across Great Britain for the between September 2025 and late March 2026, with an iterative increase in coverage released monthly. Full data coverage for Great Britain will be achieved by late March 2026.

    Please see for further information on available data and an interactive map showing current bus lane coverage.

    What is the update frequency of bus lane data?

    The is updated into the OS NGD monthly. Bus lane attribution on the is also updated monthly.

    How have bus lanes been captured?

    Bus lanes are sourced from OS aerial imagery, for built-up areas only. Where features are not visible from aerial imagery (for example, where they're obscured by tree cover), these will not be included. You can record any omissions on the for OS to investigate. Please see the for more information.

    Are Guided Busways, Bus Gates and High Occupancy Vehicle Lanes included in the Bus Lane dataset?

    Bus lanes are defined as a section of road that is segregated by a physical feature or painted section of road that indicates primary usage for buses. Guided Busways and Bus Gates have been captured in the dataset as they meet these criteria. However High Occupancy Vehicle (HOV) Lanes have not been captured because although buses can sometimes use these lanes, this is not their primary use. OS views HOV Lanes as being distinct from Bus Lanes and Bus Gates which have the primary use for buses, sometimes with exemptions for cyclists, motorcyclists and taxis.

    Cycle lane data FAQs

    What is the coverage of cycle lanes?

    There will be partial data coverage across Great Britain for the between September 2025 and late March 2026, with an iterative increase in coverage released monthly. Full data coverage for Great Britain will be achieved by late March 2026.

    Please see for further information on available data and an interactive map showing current cycle lane coverage.

    What is the update frequency of cycle lane data?

    The is updated into the OS NGD monthly. Cycle lane attribution on the and Feature Types is also updated monthly.

    How have cycle lanes been captured?

    Cycle lanes are sourced from OS aerial imagery, where they exist alongside publicly accessible Road Links and Path Links. Where features are not visible from aerial imagery (for example, where there is no visible evidence of a cycle lane or where it's obscured by tree cover), these will not be included unless they have been identified through other intelligence sources. In particular, the completeness of Unsegregated Shared Use Cycle Lanes will be lower as these features are typically indicated by blue signage at street level and don’t have a clear designation that can be seen from aerial imagery. Please see the for more information. You can record any omissions on the for OS to investigate.

    Are cycle routes included in the Cycle Lane Feature Type?

    The Cycle Lane Feature Type represents designated cycling infrastructure, not cycle routes. Features are only captured where a section of road or path is designated for cyclists, either segregated by a physical feature, identified by painted or other signage, or identified by a different colour of tarmac or surface type. Please note that routes that are part of the National Cycle Network are not captured as Cycle Lane features unless designated infrastructure is present that meets these criteria.

    Will additional testing be conducted ahead of the full product release of the Cycle Lane Feature Type in March 2026?

    Cycle lane data has been through thorough testing ahead of its initial release in September 2025. The data will go through additional quality testing ahead of achieving full Great Britain coverage in March 2026.

    Pavement data FAQs

    Why are the Pavement Links depicted in the centre of the road?

    The pavement data in the OS NGD uses the Road Link geometry in order to give the features a geographic location; therefore, pavements will be depicted using the road centre line.

    Why within the Pavement Link Feature Type do I only see a centre line but the road has a pavement on both sides?

    When there is a pavement on both sides of the road, we create two features both with the same geometry; therefore, if viewed in a GIS, these will appear on top of each other, but each individual feature will have specific attribution relative to its own side of the road.

    Why are there gaps in the depictions of pavements within the Pavement Link Feature Type?

    Often, the answer is there is no pavement adjacent to the Road Network. Some gaps appear, typically at junctions, where the end of Road Links have no adjacent pavement.

    Why do pavements ‘stop’ at bridge intersections within the Pavement Link Feature Type?

    Currently OS does not capture large-scale depictions of features such as pavements when they are obscured by structures from above.

    How do I interpret which side of the road is left and which is right?

    The left and right side of the road is determined by the direction of digitisation of the Road Link. In Direction of digitisation is from start node to end node, and Against Direction is from end node to start node.

    Why do I have two Pavement Links for the same section of road?

    When there is a pavement on both sides of the road, we create two features both with the same geometry; therefore, if viewed in a GIS, these will appear on top of each other, but each individual feature will have specific attribution relative to its own side of the road.

    Speed data FAQs

    What is the source of indicative speed limit and average speed data?

    Indicative speed limit data is sourced from road signage and surveying. Average speed data is calculated based on historic speed information, which is based upon in-vehicle telematics devices; in this context, 'historic' means that the average speed data was collected over a six-month period for the selected road link.

    What is the update frequency for average speed data and indicative speed data?

    Speed data is published monthly into the OS NGD. Indicative Speed data is updated by our 3rd party supplier 4 times a year, and Average speed data is updated 2 times a year. In-between these updates, OS 'infills' speeds with inferred values to account for any changes in the network monthly.

    Why is average speed provided in kilometres per hour (kph) rather than miles per hour (mph)?

    Average speed is provided in kph to support travel time analysis software in the market which predominantly uses kph as the unit of speed.

    How does speed data in the OS NGD differ from speed data in the OS MasterMap Highways Network with Speeds product?

    The main difference is that all speed data in the OS NGD has road link geometry and is published monthly. Additionally, average speed data in the OS NGD has an increased number of daily time periods available for each road link (with eight time periods Monday to Friday and six time periods Saturday to Sunday) in comparison to the OS MasterMap Highways Network with Speeds product (with five time periods Monday to Friday and only one time period Saturday to Sunday).

    The speed data is published monthly into the OS NGD and customers can choose whether they want the supply to be either Full Supply or Change-Only Update (COU) depending upon their access requirements.

    Street light data FAQs

    How has Street Light data been sourced?

    Street Lights have been captured from OS aerial imagery.

    What is the coverage and completeness of Street Light data?

    Street Light data is GB coverage. Features have been captured where they exist alongside publicly accessible Road Links and Path Links. Street Lights will not be included where they exist along restricted access roads. Where features are not visible from aerial imagery (for example, where obscured by tree cover or not visible due to urban shading), these will not be included.

    Does attribute data for Street Lights include timings for when they are on or off?

    No, the Street Light dataset does not contain information on the times when they are on / off.

    How has the Street Light coverage attribution been created?

    An algorithm is used to give an indication of how well-lit a link is; this algorithm is based on an inferred light radius and does not account for information such as the height of a lamp post, the type of bulb, or the presence of any light-blocking obstructions or buildings.

    What is the update frequency for Street Lights?

    Street Light data is updated into the OS NGD monthly. This includes both the Street Light Feature Type, and Road Link and Path Link attribution.

    Are there any known limitations for Street Light data?

    Yes. There are two known limitations:

    • Street Light Completeness: Street Lights have been captured from aerial imagery and therefore there are some limitations to completeness. Where features are not visible from aerial imagery (for example, where obscured by tree cover or not visible due to urban shading), these will not be included.

    • Overlighting and Underlighting: Street Light coverage attribution on Road Links and Path Links is indicative only, and there may be some instances of overlighting and underlighting. An algorithm is used to give an indication of how well-lit a link is; this algorithm is based on an inferred light radius and does not account for information such as the height of a lamp post, the type of bulb, or the presence of any light-blocking obstructions or buildings.

    OS NGD Water Theme FAQs

    Why are more water courses depicted in the Water Links Feature Type than in the Water Link Sets Feature Type?

    Water link sets are only created where there are a number of water links that share the same name. Within the Water Link Feature Type, there are numerous water links which are unnamed; these unnamed water links therefore will not appear in the Water Link Set Feature Type as they cannot be joined accurately.

    How is the In Country attribute determined for Waterbody Catchment features that straddle the border between two countries?

    Country attribution for catchments that straddle the Wales-England or Scotland-England border is as provided in the third-party data from the authoritative bodies and is aligned with the Geometry Source attribute (i.e. the source organisation that provided the data: Environment Agency for England, Natural Resources Wales for Wales, and Scottish Environment Protection Agency for Scotland).

    Why are coastal catchments missing from Waterbody Catchment features?

    Coastal catchments for this feature type are not supplied in the third-party data from the authoritative bodies.

    Why do River Basin District Catchment features include geometries for islands located far away from the mainland, including outside the extent of the British National Grid?

    The data for this feature type is as provided by the third-party data from the authoritative bodies.

    What are the recommended scenarios for using Tidal Boundary features versus continuous tidelines, and how should I choose between them?

    should be used when segmented representations of mean high water and mean low water tidelines with richer metadata are required for detailed analysis or site-specific mapping purposes.

    Continuous tidelines (i.e. and features) are recommended for applications that benefit from seamless, aggregated water boundaries with better intuitive visual experience, such as macro analysis or when updating boundary features to align with coastlines.

    How are the watercourse widths calculated?

    In data schema version 2.0 onward, there are three possible methods for determining width values:

    • Calculated From Polygon – For Water Links which represent a body of water captured as a topographic area feature, calculations of average, minimum and maximum widths are based on the topographic area feature geometry. For some short links at junctions, the average width will be Modelled From Network instead.

    • Modelled From Network

    1.0, 2.0, 3.0
    1.0, 2.0, 3.0
    1.0, 2.0, 3.0
    1.0, 2.0, 3.0
    50
  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • 40
  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressdescriptionvalue

    • Code List Version: 1.0

    • Max Length: 50

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

    OS Select+Build Filterable: No
  • Data Schema Version: 3.0

  • The organisation name is the business name given to an Address within a building or small group of buildings. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 100

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Max Length: 500

    • OS Select+Build Filterable: No

    • Data Schema Version: 2.0

    16
  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 110

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • 3
  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Max Length: 500

    • OS Select+Build Filterable: No

    • Data Schema Version: 2.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 2.0, 3.0

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 2.0, 3.0

  • Max Length: 120
  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

  • A descriptive term used to describe the tertiary classification code for this address.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: true

    • Code List Name: addresstertiaryclassificationdescriptionvalue

    • Max Length: 120

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 2.0

    OS Select+Build Filterable: No

  • Data Schema Version: 2.0, 3.0

  • Code List Version: 2.0
  • Max Length: 18

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

  • A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: buildstatusvalue

    • Code List Version: 1.0

    • Max Length: 12

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0

    Data Schema Version: 3.0

    Date when the land and property unit entered the lifecycle state given in Build Status.

    • Data Types: Date (GPKG), Date (CSV)

    • Nullable: true

    • OS Select+Build Filterable: No

    • Data Schema Version: 1.0, 2.0

    11
  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • Max Length: 148

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: addressbasepostalvalue

    • Code List Version: 1.0

    • Max Length: 75

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0

    1.0, 2.0, 3.0
    1.0, 2.0, 3.0
    1.0, 2.0, 3.0
    1.0, 2.0, 3.0
    17
  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • 1.0, 2.0, 3.0
  • Data Schema Version: 1.0, 2.0, 3.0

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0, 3.0

  • 1.0, 2.0, 3.0
  • Geometry Type: Point

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 3.0

    • Data Types: String (GPKG), String (CSV)

    • Nullable: false

    • Code List Name: positionalaccuracyvalue

    • Code List Version: 1.0

    • Max Length: 25

    • OS Select+Build Filterable: Yes

    • Data Schema Version: 1.0, 2.0

    1.0, 2.0, 3.0
    1.0, 2.0, 3.0

    3.0

    30 September 2025

    Ongoing

    Major version increment implementing the following changes:

    • Extended the max length of the Postcode Source, Full Address, Alternate Language Full Address, Sub Name, Alternate Language Sub Name and Build Status attributes.

    • Modified the associated code lists for the Description, Positional Accuracy and Postcode Source attributes.

    • Added download filters for Primary Classification Description, Secondary Classification Description, and Tertiary Classification Description attributes.

    • New associated code lists added to the Classification Code, Classification Description, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description attributes.

    2.0

    28 March 2023

    Ongoing

    Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

    1.0

    02 November 2022

    Ongoing

    Data schema versioning
    Data schema version table
    Getting started with temporal filtering guide
    changetypevalue
    themevalue
    addressdescriptionvalue
    countryvalue
    languagevalue
    AddressBase Classification Scheme page of the OS Download Products’ Documentation site
    addressclassificationcodevalue
    AddressBase Classification Scheme page of the OS Download Products’ Documentation site
    addressclassificationdescriptionvalue
    addressprimaryclassificationdescriptionvalue
    addresssecondaryclassificationdescriptionvalue
    addresstertiaryclassificationdescriptionvalue
    addressquaternaryclassificationdescriptionvalue
    buildstatusvalue
    addressstatusvalue
    addressbasepostalvalue
    usrnmatchindicatorvalue
    positionalaccuracyvalue

    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.

    Initial launch of the Built Address Feature Type.

  • You have requested data via a temporal filter (i.e. a one-off snapshot of a date in the past) that predates the start date for data from one or more of the collections in your order. The earliest date on which you can request a one-off snapshot of a date in the past for data in a feature type in most collections is 29 September 2022, but that date can be later for certain feature types (for example, it's 28 March 2023 for the Waterbody Catchment Feature Type). Each feature type page states the earliest start date available for temporal filtering on that feature type.

  • You have selected the Annual Full Supply order frequency option for a data package containing one (or more) of the new feature types or new data schema versions of existing feature types released in March and / or September of the current year. If you select an Annual Full Supply frequency for your OS NGD data order in OS Select+Build, we will provide you with the data as it was on 01 January of the current year. This means if a new feature type or a new data schema version of an existing feature type was released after 01 January and you order either of these as part of your Annual Full Supply, you will receive an empty data package for the newly released feature type / new data schema version of an existing feature type. The data for the new feature type / new data schema version of an existing feature type will then be included in your supply on the next 01 January after the release, after which point, data packages containing one of these feature types will no longer contain blank files.

    • For example, the March 2025 OS NGD data enhancements release contained 3 new feature types (Building Access Location, Crowd Sourced Name Point, and Street Light), and 11 new data schema versions (Building v4.0, Building Part v2.1, Land v3.1, Path Link v2.0, Rail v3.1, Road Link v4.0, Road Track Or Path v3.1, Site v2.2, Site Access Location v2.0, Structure v3.1, and Water v3.1). As per the bullet above, this data will not be part of Annual Full Supply orders until 01 January 2026.

    • For example, the Autumn 2025 OS NGD data enhancements releases contained 6 new feature types (Royal Mail Address, Royal Mail Address, Bus Lane, Cycle Lane, Tidal Boundary Continuous High and Tidal Boundary Continuous Low), and 14 new data schema versions for existing feature types (Built Address v3.0, Built Address v3.0, Historic Address v3.0, Historic Address v3.0, Land v3.2, Non-Addressable Object v3.0, Non-Addressable Object v3.0, Path Link v3.0, Pre-Build Address v3.0, Pre-Build Address v3.0, Road Link v5.0, Site v1.3 and 2.4, and Water Link v2.0) and 3 new data schema versions for existing addressing related components (Alternate Address v3.0, Other Classification v3.0 and Related Entity v3.0). As per the bullet above, the data will not be part of Annual Full Supply orders until 01 January 2026.

  • You have an existing OS Select+Build recipe that uses the Site Routing Point Feature Type or transact with that feature type via an OS NGD API. As of 26 April 2023, this feature type no longer contains any features or data. It is in an 'end of life' state where it has stopped receiving updates; therefore, any OS Select+Build recipes that use this feature type or any OS NGD APIs that transact with it will return blank files. You can access historic data for Site Routing Point using the temporal filter option in OS Select+Build by selecting the tick box for a 'one-off snapshot'; historic data is available for this feature type from 03 October 2022 to 25 April 2023. As part of a data enhancement programme in late spring 2023, all Site Routing Points were recreated as Road Nodes and are therefore now accessible via the OS NGD Transport Theme (from the OS NGD Transport Network Collection).

  • In summary, 'Unknown' means the attribution value is in scope, but Ordnance Survey does not currently know what that value is.

    'NULL' is used in two main circumstances:

    • The value is not applicable to the attribute in question in this instance – typically, where an attribute value is optional. For example, non-mandatory references to other OS NGD features, such as from Land features to an associated Structure feature, or from a Building feature to a land use Site feature where those referenced features may not exist in the real world.

    • The information is currently out of scope for provision on this attribute for all instances of this feature – usually where there is no viable method of capturing reliable information. For example, Status is only provided on a range of land use Site features with a specific function. The Status on land use Site features where provision of a reliable value is not possible is recorded as 'NULL'.

    In summary, 'NULL' means the attribution value either does not exist or is not in the current scope of Ordnance Survey capture.

    The Postcode Source attribute is the best attribute to use if you are interested in a more nuanced representation of Non-Postal addresses. This splits out 'Not-postal' and 'Maybe Postal' into two different code lists. The vast majority of addresses that have Non-postal in the description field but are not in the Non-Addressable Object Feature Type are likely to be 'Maybe Postal' addresses. This is a Local Authority representation of addresses that may be able to receive post, such as Car Parks.

    Child: Flat A, 1 High Street (UPRN: 2345)

  • Child: Flat B, 1 High Street (UPRN: 3456)

  • However, parent-child relationships also work beyond the level of a single building footprint and can be used to relate addresses in a larger addressable site to each other, for example, University buildings on the same campus site.

    An example of this is:

    • Parent: Exeter University (UPRN 1)

    • Child of UPRN 1: Block C, Exeter University (UPRN 2)

    • Child of UPRN 2: Flat 1, Block C, Exeter University (UPRN 3)

    Please note: Parent records are only inserted where child addresses share part of an address, for example, '1 High Street' in the above example. If two flats occupy the same building but are addressed 12A and 13A, then no parent record would be created.

    Building Use is mainly derived from address data, whilst OS Land Use Tier A data is derived from Ordnance Survey sites data.

  • Detailed land use classification

  • Detailed land cover classification

  • Capture specification to give details about the geography of the area a feature resides in (that is, urban, rural, or moorland)

  • Embedded height attribution for chimneys, roofed tanks, and glasshouses, enabling users to create simple height models of these structures. Field Boundary features also have a height value.

  • In addition, other feature types are available in the OS NGD Structure Features Collection: the Compound Structure Feature Type and the Field Boundary Feature Type.

    – For Water Links which represent a water feature captured as a topographic line feature, average width is a modelled width based on a known calculated downstream width and the number of upstream sources in the network. Where a calculated downstream width isn’t available, then a Default Value For Geographic Region will be applied instead.
  • Default Value For Geographic Region – For Water Links captured as a topographic line feature (where no width has been processed), average width is a default width based on the capture specification.

  • The Width Derivation Method attribute indicates which method has been used to populate the Width Average, Width Minimum and Width Maximum attributes.

    File formats and naming page
    COU supplies page
    Data ordering and currency page
    File formats and naming page
    OS Product Roadmap
    data enhancements
    File formats and naming page
    Data schema versioning page
    a Data Exploration Licence
    More information about the licence is available from the OS website
    OGC API – Features specification
    OS NGD API – Features
    'OS Data Hub FAQs: Plans' page
    'OS Data Hub FAQs: Account and API' page
    File formats and naming page
    Data ordering and currency page
    Coordinate reference systems page
    Getting started with data packages page
    Getting started with recipes page
    Editing OS Select+Build recipes page
    Managing OS Select+Build recipes page
    Getting started with data packages page
    Getting started with data packages page
    Getting started with data packages page
    Getting started with attribute filtering page
    File formats and naming page
    Building
    Building Part
    OS Data Hub
    OS Data Hub
    OS Data Hub
    OS NGD Land cover enhancements
    Field Boundary
    Bus Lane Feature Type
    OS NGD Improvements
    Bus Lane Feature Type
    Road Link Feature Type
    OS Data Hub Error Reporting Tool
    known limitations page on Using OS NGD Data
    Cycle Lane Feature Type
    OS NGD Improvements
    Cycle Lane Feature Type
    Road Link
    Path Link
    Known limitations page on Using OS NGD Data
    OS Data Hub Error Reporting Tool
    Tidal Boundary features
    Tidal Boundary Continuous High
    Tidal Boundary Continuous Low
    Water Link Feature Type

    Change Log

    This page lists changes made to OS NGD documentation. Changes will be made for a variety of reasons, including reflecting any alterations made to the OS NGD data itself as we enhance and improve the offering, plus simple improvements to the documentation to aid understanding.

    You may also be interested in the following two pages:

    • What's New? – This page gives you a high-level summary of new data enhancements launched for the OS NGD and recent service improvements.

    • – A high-level summary of recent data improvements implemented for the OS NGD.

    The table below gives a summary of the changes made to OS NGD documentation and the date upon which those changes took effect:

    Version
    Date
    Notes

    Example map showing the nominal 300m buffer around individual Wind Turbines. This particular Wind Farm site (Wear Point Wind Farm) has four turbines.
    OS Maps API
    Getting started with an API project
    OS Maps API
    OS Vector Tile API
    Getting started with an API project
    Getting started with an API project
    OS Maps API
    OS Vector Tile API
    Getting started with an API project
    OS Maps API
    OS Vector Tile API
    Getting started with an API project
    Getting started with an API project
    Getting started with an API project
    Getting started with an API project
    Getting started with an API project
    Getting started with an API project
    Getting started with an API project
    Getting started with an API project
    Getting started with an API project

    Code list name corrections

    • The following 14 code list names have been corrected on this documentation site to remove 'os' so that they match the correct code list names already used in the schema:

      • (formerly Building Part OS Land Cover Tier A Value), (formerly Building Part OS Land Cover Tier B Value), (formerly Land OS Land Cover Tier A Value), (formerly Land OS Land Cover Tier B Value), (formerly Rail OS Land Cover Tier A Value), (formerly Rail OS Land Cover Tier B Value), (formerly Road Track Or Path OS Land Cover Tier A Value), (formerly Road Track Or Path OS Land Cover Tier B Value), (formerly Structure OS Land Cover Tier A Value), (formerly Structure OS Land Cover Tier B Value), (formerly Water OS Land Cover Tier A Value), (formerly Water OS Land Cover Tier B Value),

    6.4

    30/09/2025

    Warning note added to the page about ensuring COU supplies are processed in the correct productVersion date order.

    6.3

    30/09/2025

    New pages added for the September 2025 OS NGD data enhancements release:

    • Pages added for the two new and Feature Types (data schema version 1.0 for both).

    • 12 new code lists added: , , , , , , , , , , , and .

    Existing pages amended with information about the September 2025 OS NGD data enhancements:

    6.2

    29/09/2025

    Existing pages amended with information about the September 2025 OS NGD data enhancements:

    • Three minor data schema versions released for existing feature types: (v3.2) and (v1.3 and v2.4).

    • One existing code list updated:

    • Updates made to the following six OS NGD collection pages: , , , , and .

    6.1

    25/09/2025

    New pages added for the September 2025 OS NGD data enhancements release:

    • Pages added for the new , , and Feature Types (data schema version 1.0 for all).

    • Five new code lists added: , , , and .

    • New and pages added to the to reflect the addition of the new Bus Lane and Cycle Lane Feature Types to the OS NGD Transport Network Collection and the addition of new Bus Lane and Cycle Lane attribution in the Path Link Feature Type (v3.0 onward) and Road Link Feature Type (v5.0 onward).

    6.0

    05/09/2025

    User experience improvements made to enhance navigation through the and sections:

    • Updated OS NGD definition on the homepage and the page.

    • Added navigation links to relevant additional information: , , , , and .

    5.9

    29/08/2025

    page restructured to improve usability and customer experience:

    • Three new sub-pages created: , , and .

    • Additional navigation links added to and to highlight key workflows.

    5.8

    28/07/2025

    Minor data schema version increment (v1.1) added to 6 feature types in the OS NGD Boundaries Collection, 1 feature type in the OS NGD Land Use Features Collection and 9 feature types in the OS NGD Networks Collection to remove the query and download filters from the Description attribute for the feature types as this attribute supports only a single value:

    • OS NGD Boundaries Collection: , , , , , and .

    • OS NGD Land Use Features Collection:

    5.7

    17/07/2025

    Minor data schema version increments (v2.2 and v1.1) added to the to account for:

    • Updates made to max length from 15 to 20 and max length from 25 to 20.

    • A new value (Under Construction) being added to the and .

    5.6

    26/06/2025

    • Two new questions added to the in the OS Select+Build section for 'How do I edit a recipe?' and 'How do I delete a recipe?'

    • page updated with an entry for June 2025 on Editing recipes in OS Select+Build.

    • updated with an entry for June 2025 on Editing recipes in OS Select+Build.

    5.5

    13/06/2025

    Data schema versioning and temporal filtering sub-sections added to the four addressing related component pages: , , , and .

    5.4

    06/06/2025

    Data schema versioning and temporal filtering sub-sections improved on feature type pages for those feature types with more than one data schema version: , , and for the GB Address Collection; , , and for the Islands Address Collection; ; ; ; ; ; ; ; ; ; ; , and .

    5.3

    07/05/2025–23/05/2025

    Restructuring work carried out on the navigation menu on the left-hand-side of the site to improve navigation and the customer experience:

    • New section created for OS NGD NEWS, with four pages moved to this section (, , and .

    • New section created for DATA AND SERVICE STATUS, with three pages moved to this section (, and ).

    • ACCESSING OS NGD section renamed as GETTING STARTED and various pages moved into this section (, , , ,

    5.2

    09/05/2025

    New page added to the site: . The page highlights recent improvements OS has made to the data that are not connected to the biannual big data releases in spring and autumn.

    5.1

    27/03/2025

    New pages added for the March 2025 OS NGD data enhancements release:

    • Pages added for the new , , and Feature Types.

    • Eighteen new code lists added: Roof Material Value, Roof Shape Value, Roof Confidence Indicator Value, Physical State Value, Access Mode Value, Access Purpose Value, Access Obstruction Value, Access Level Value, Building Access Location Description Value, Network Node Feature Type Value, Street Light Description Value, Link Reference Confidence Value, Transport Feature Type Value, Illumination Value, Crowd Sourced Name Description Value, Crowd Sourced Name Match Type Value, Matched Feature Type NGD Value and Matched Theme NGD Value.

    Existing pages amended with information about the March 2025 OS NGD data enhancements:

    5.0

    25/03/2025

    OS Premium Download Products section deleted from the OS NGD Documentation site. Documentation for the (OS MRN) and (OS ESG) products was moved to the .

    4.9

    13/03/2025

    Updates made to the page to reflect the release of new sample data connected to the March 2025 OS NGD data enhancements for the following OS NGD collections: Building Features, Land Use Features, Named Features, Structure Features, Transport Features, and Transport Network.

    4.8

    11/03/2025

    Publication of new page: .

    4.7

    06/02/2025

    Former 'Known Data Issues' page split into two pages: and .

    4.6

    26/09/2024

    New pages added for the September 2024 OS NGD data enhancements release:

    • Six new code lists added: Address Classification Source Value, Classification Correlation Value, Matched UPRN Value, Network Over Under Bridge Value, Status Value, and Yes No Value.

    Existing pages amended with information about the September 2024 OS NGD data enhancements:

    • Updates made to the Building Part, Land, Rail, Road Link, Road Track Or Path, Site, Structure, and Water Feature Type pages to reflect new attribution for land use, as supplied with data schema version 3.0 for all feature types bar Building Part and Site, which are supplied with data schema version 2.0.

    4.5

    27/03/2024

    New pages added for the March 2024 OS NGD data enhancements release:

    • Pages added for the new Field Boundary, Named Road Junction, and Tram On Road Feature Types, together with pages for their associated new code lists.

    • New sections added to the USING NGD DATA section for OS NGD Land cover enhancements, OS NGD Structures and OS NGD Transport.

    Existing pages amended with information about the March 2024 OS NGD data enhancements:

    4.4

    28/09/2023

    New pages added for the September 2023 OS NGD data enhancements release:

    • Pages added for the new Building, Railway Link, Railway Link Set, Railway Node, and Pavement Link Feature Types, together with their associated new code lists.

    Existing pages amended with information about the September 2023 OS NGD data enhancements:

    • Updates made to the Road Link Feature Type page to reflect the new attribution for pavement presence, as supplied with data schema version 2.0.

    4.3

    10/08/2023

    Changes introduced to reflect expansion of coverage from urban paths only to GB-wide coverage.

    4.2

    21/06/2023

    New page added to the GETTING STARTED section: 'OS NGD Talks, Webinars, Tutorial Videos and Case Studies'.

    4.1

    19/06/2023

    Temporal filtering sub-section wording updated on the feature type pages of eight feature types in the OS NGD Addressing Theme in the DATA STRUCTURE section. The earliest and latest dates on which you can request a one-off snapshot of a date in the past for the data schema versions available for these feature types are now documented. Example images added to all OS NGD Collection pages (in the DATA STRUCTURE section) to show what the different feature types in the collections look like in the data. A background map has been included in each image to provide context. Example images added to the 'Average And Indicative Speed', 'Highway Dedication' and 'Restriction' Feature Types pages (of the RAMI Collection) to show what the different feature types look like in the data. A background map has been included in each image to provide context.

    4.0

    15/06/2023

    Definition expanded for the Average And Indicative Speed Feature Type (of the RAMI Collection). Road Link Direction attribute (RAMI Collection, attribute for the Restriction Feature Type) definition updated from ‘The direction in which the restriction applies in direction of digitisation of the Road Link feature.’ to ‘The direction in which the restriction applies in relation to the direction of digitisation of a Road Link feature'. Directionality attribute (Transport Network Collection, attribute for the Road Link Feature Type) definition updated from ‘Indication of the direction of traffic flow.’ to ‘Indication of the direction of traffic flow in relation to the direction of digitisation of a Road Link feature'. Three missing definition values entered in the Link Direction value code list and final sentence of code list definition expanded.

    3.9

    12/06/2023

    New warning note added to the 'Site Routing Point Feature Type' page under the feature type description at the top of the page. Information note added to the 'Road Node Feature Type' page under the feature type description at the top of the page. Fifth reason added for one of the General FAQs on the FAQs page ('Why am I receiving blank files?' FAQ), relating to the Site Routing Point Feature Type being an 'end of life' feature type as of late spring 2023.

    3.8

    07/06/2023

    New announcement added to 'Product Announcement' page: 'June 2023: 5 days of system downtime for feature types'.

    3.7

    25/05/2023

    New images added to the 'Homepage', 'What's New?', 'Terminology and access', and 'OS NGD Future Data Enhancements' pages.

    3.6

    03/05/2023

    One YouTube video added to the 'Accessing OS NGD APIs' page; the video gives instructions on how to add OS NGD API – Tiles to a new project on the OS Data Hub and generate an API key. One YouTube video added to the 'Getting Started with Attribute Filtering' page and the 'Getting Started with Temporal Filtering' page; the video gives instructions on how to get started with both attribute filtering and temporal filtering in OS Select+Build.

    3.5

    21/04/2023

    'Known Data Issues' page: New section and table added for 'OS NGD Transport Theme known data issues' to document an 'Incorrect speed values' issue.

    3.4

    06/04/2023

    New page added to 'DATA STRUCTURE' section: 'Product Announcements'. New section ('How do I check if filters are used in an existing recipe?') added to the 'Getting Started with Attribute Filtering' sub-page in the 'Accessing OS NGD' section.

    3.3

    05/04/2023

    New sub-page added to the 'Downloading with OS Select+Build' page in the 'Accessing OS NGD' section: 'Getting Started with Temporal Filtering'.

    3.2

    03/04/2023

    More information added about default coordinate reference systems available for the RAMI, Water Network and Transport Network Collections on their retrospective collection pages in the Data Structure section and in the 'Coordinate reference systems' page in the OS NGD Fundamentals section.

    3.1

    30/03/2023

    Recipe sharing information added to the 'What's New?' page and the 'Downloading with OS Select+Build' page.

    3

    29/03/2023

    New pages published: 'Data schema versioning' and 'What's New?' (both within the Getting Started section); 'Versioning information' (within OS NGD Address in the Data Structure section). Existing pages amended with information about the March 2023 OS NGD data enhancements: 'OS NGD Key Benefits to Customers'; 'OS NGD Fundamentals'; 'Downloading with OS Select+Build'; 'Accessing OS NGD APIs'; 'Using Code Examples'; Theme pages for Address, Transport and Water; all 13 Collection pages; 'Known Data Issues'; 'Data Catalogue'; 'FAQs'; 'Future OS NGD Data Enhancements'. Coming soon banner removed from all relevant addressing feature type pages and from the Average And Indicative Speed, Waterbody Catchment, and River Basin District Catchment Feature Type pages.

    2.9

    23/03/2023

    Diagrams added to the 'Water Link' and 'Water Link Set' Feature Type pages (within the DATA STRUCTURE section) to show how these features look in OS NGD data.

    2.8

    10/03/2023

    New pages published for the Average And Indicative Speed Feature Type (within the RAMI Collection of the OS NGD Transport Theme), Capture Method Value Code List, and Average And Indicative Speed Description Value Code List. New pages published for the Waterbody Catchment Feature Type and River Basin District Catchment Feature Type (both within the Water Features Collection of the OS NGD Water Theme), Waterbody Category Value Code List, Waterbody Catchment Description Value Code List, and River Basin District Catchment Description Value Code List. Existing pages updated to include data schema version 2 information and new attributes for the Built Address, Historic Address, Non-Addressable Object and Pre-Build Address Feature Types in both the GB Address and Islands Address Collections (within the OS NGD Address Theme). The Related Entity Related Component page was also updated to include data schema version 2 information and new attributes.

    2.7

    08/03/2023

    'Known Data Issues' page: Section and table removed for 'OS NGD Transport Theme known data issues' as these have been resolved. 'Daily COU updates temporarily paused' row removed from 'OS NGD Address Theme known data issues' table as this issue has been resolved. Page title change from 'Accessing OS NGD API – Features' to 'Accessing OS NGD APIs' in the DATA STRUCTURE section.

    2.6

    06/03/2023

    Temporal filtering information added to the top of all 81 feature type pages (detailing the earliest date on which you can request a one-off snapshot of a date in the past for data in each feature type). Temporal filtering information generalised on all 13 collection pages, pointing users to individual feature type pages to get dates instead.

    2.5

    03/03/2023

    Content published on the 'Getting Started with Attribute Filtering' page.

    2.4

    22/02/2023

    Order of pages amended in the 'OS NGD Fundamentals' section and new placeholder page on 'Data schema versioning' added to this section. New placeholder page on 'What's New' added to 'GETTING STARTED' section. New placeholder page 'Versioning information' added to 'DATA STRUCTURE' section for the Addressing Theme. Geometry type corrected from Polygon to MultiPolygon for the Geometry attribute of all feature types in the Boundaries Collection (apart from the Boundary High Water Mark, GLA Assembly Constituency and Regional Authority Feature Types).

    2.3

    20/02/2023

    'Known Data Issues' page: New section and table added for the OS NGD Transport Theme known data issues. New row added to the OS NGD Address Theme known data issues table ('Daily COU updates temporarily paused').

    2.2

    30/11/2022

    Missing definitions added to the 'Structure Land Cover Tier A Value' and 'Structure Land Cover Tier B Value' Code Lists.

    2.1

    25/11/2022

    New section added to the 'Known Data Issues' page for the OS NGD Administrative and Statistical Units Theme.

    2

    17/11/2022

    'Known Data Issues' page added to the Data Structure section. Updates made to the 'Coordinate Reference Systems' page: table added outlining the default coordinate reference system used by each OS NGD collection; note deleted; OS Select+Build list of coordinate reference systems altered by removing World Geodetic System (WGS84: EPSG: 4326) and inserting European Terrestrial Reference System (ETRS89: EPSG: 4258). New OS Select+Build FAQ added to the 'FAQs' page ('How do I identify the correct OS NGD collection for calculating usage?').

    1.9

    16/11/2022

    Updates made to the 'Sample Data Information' page to mention that sample data is now available for the OS NGD GB Address Collection. Sample data is available for 12 of the 13 OS NGD collections. Note added to say that sample data won't be released for the OS NGD Islands Address Collection. Wording updated for two of the General FAQs on the 'FAQs' page ('Why am I receiving blank files?' FAQ and the 'Why do I have different start dates when applying temporal filters to different feature types?' FAQ).

    1.8

    08/11/2022

    New General FAQ added to the 'FAQs' page ('What are the default coordinate reference systems used by the OS NGD collections?'). New sections added to the 13 OS NGD collection pages on earliest temporal filtering date and default coordinate reference systems.

    1.7

    04/11/2022

    New note added to the 'Data ordering and currency' page about geographic filtering supply options. Note added to the 'Related Components' page. New note added to the 'COU supplies' page about features moving between OS NGD themes and between OS NGD feature types. Introductory sentence added above the CSV structure table on the 'File formats and naming' page. Definition added for the 'Made Surface' label in the 'Rail Description Value' Code List. The maintenanceauthority_authorityname attribute's definition was corrected from 'The authority responsible for the street naming and numbering or maintenance' to 'The authority responsible for maintenance.'

    1.6

    03/11/2022

    Formatting changes on the 'FAQs' page to include expandable blocks. Minor changes to two labels in the 'Land Description Value' Code List: 'Heath Or Rough Grassland And Scattered Boulders or Scattered Rock' was changed to 'Heath Or Rough Grassland And Scattered Rock'; and 'Heath Or Rough Grassland And Scattered Boulders or Scattered Rock And Scrub' was changed to 'Heath Or Rough Grassland And Scattered Rock And Scrub'.

    1.5

    01/11/2022

    Note (saying that ''the Address Theme will be launched later this year'') removed from the top of the OS NGD Address Theme, GB Address Collection and Islands Address Collection pages as the Address Theme went live to customers in OS Select+Build on 31/10/2022. Correction made to the feature type description on the Connecting Link Feature Type page to say that a Connecting Link does not represent a feature in the real world.

    1.4

    28/10/2022

    Updates made to the 'OS NGD Sample Data Information' page to mention that sample data is now available for the OS NGD Boundaries Collection. Sample data is available for 11 of the 13 OS NGD collections.

    1.3

    21/10/2022

    Updates made to the 'OS NGD Sample Data Information' page to mention that sample data is now available for the OS NGD Water Network, Transport Network, Named Features, and Routing and Asset Management Information (RAMI) Collections. Sample data is available for 10 of the 13 OS NGD collections.

    1.2

    14/10/2022

    Amendments made to the instructions for loading CSV files into an Oracle database in the 'Loading CSV files' page.

    1.1

    11/10/2022

    'Data Entity Catalogue' Code List updated to remove OS NGD Landform label and insert OS NGD Rail label. 'OS Land Use Tier B Value' Code List updated to include previously unavailable definitions for all bar five labels. 'Accessibility' page added to the EXTRA LINKS section. Additional instructions added to the 'Downloading with OS Select+Build' page on downloading data packages. Two YouTube videos added to the 'Downloading with OS Select+Build' page; the videos give instructions on how to create a new recipe using OS Select+Build, and how to create and download a data package using OS Select+Build. One YouTube video added to the 'Accessing OS NGD APIs' page; the video gives instructions on how to add OS NGD API – Features to a new project on the OS Data Hub and generate an API key.

    1

    29/09/2022

    OS NGD official launch to customers.

    0.3

    25/08/2022 to 29/09/2022

    Amendments to multiple pages and publication of new pages in preparation for OS NGD launch.

    0.2

    24/08/2022

    Amendments to multiple pages in preparation for the first set of OS NGD sample data being released.

    0.1

    12/05/2022

    Pre-release of OS NGD documentation on the OS NGD Documentation Platform.

    6.8

    31/10/2025

    New page added for the October 2025 OS NGD data enhancement release:

    • One new code list added: Water Link Width Derivation Method Value.

    Existing pages amended with information about the October 2025 OS NGD data enhancement:

    • Major data schema version released for one existing feature type: Water Link (v2.0)

    • Updates made to the .

    • Updates made to the following pages: , , , , (Recent Announcements section), and .

    6.7

    28/10/2025

    Minor data schema version increment from 1.0 to 1.1 for the Water Node Feature Type to add Tidal Outlet to the Water Node Description Value Code List and increase the Description attribute's max length from 8 to 12. Version 2.0 released for the Water Node Description Value Code List to account for the addition of the new Tidal Outlet label.

    6.6

    15/10/2025

    Feature counts

    • October 2025 feature counts for the RAMI and Transport Network Collections were added to the Data ordering and currency page of the OS NGD Fundamentals. Going forward, feature counts for the RAMI and Transport Network Collections will be updated monthly on this page. Feature counts will not be provided for any other OS NGD collections.

    Improvements made to 10 code lists

    • Missing definitions (previously recorded as "No definition available") for values added to 10 code lists: Boundary High Water Mark Description Value, Country Description Value, Electoral Division Description Value, GLA Assembly Constituency Description Value, Historic County Description Value, Historic European Region Description Value, Parish Or Community Description Value, Polling District Description Value, Region Description Value and Ward Description Value.

    6.5

    OS NGD Improvements

    02/10/2025

    (formerly OS Land Use Tier A Value) and
    (formerly OS Land Use Tier B Value).
  • The aforementioned code list names were corrected to remove 'os' from them where they are mentioned on the following seven feature type pages: Building Part, Land, Rail, Road Track Or Path, Site, Structure and Water.

  • Eight major data schema versions released for existing feature types: Built Address (v3.0), Built Address (v3.0), Historic Address (v3.0), Historic Address (v3.0), Non-Addressable Object (v3.0), Non-Addressable Object (v3.0), Pre-Build Address (v3.0) and Pre-Build Address (v3.0).

  • Updates made to the Built Address, Historic Address, Non-Addressable Object and Pre-Build Address Feature Type pages in the GB Address Collection and the Built Address, Historic Address, Non-Addressable Object and Pre-Build Address Feature Type pages in the Islands Address Collection to reflect changes in the max length of certain attributes, modifications to associated code lists for a few attributes, and the addition of download filters and new associated code lists for certain attributes, as supplied with data schema version 3.0 of these feature types.

  • Three major data schema versions released for existing addressing related components: Alternate Address (v3.0), Other Classification (v3.0) and Related Entity (v3.0).

  • Warning note added to the Postal Address Related Component page.

  • Five existing code lists updated: AddressBase Postal Value, Address Description Value, Build Status Value, Data Entity Catalogue and Positional Accuracy Value.

  • Updates made to the OS Address Theme page.

  • Updates made to the two OS NGD collection pages: GB Address and Islands Address.

  • Updates and improvements made to the Related Components information page.

  • Versioning information page for OS NGD Address Theme deleted as this information is available from the data schema version section and table on each individual feature type page (for example, Built Address).

  • Updates made to the following pages: What's New?, OS NGD Fundamentals – Data schema versioning, OS NGD Fundamentals – Unique identifiers, and Future OS NGD Data Enhancements.

  • Updates made to the following pages: What's New?, Current Known Data Issues and Future OS NGD Data Enhancements.

    Existing pages amended with information about the September 2025 OS NGD data enhancements:

    • Two major data schema versions released for existing feature types: Path Link (v3.0) and Road Link (v5.0).

      • Updates made to the Path Link Feature Type page to reflect the addition of new Presence of Cycle Lane attribution and the removal of Cycle Facility attribution, as supplied with data schema version 3.0 onward.

      • Updates made to the Road Link Feature Type page to reflect the addition of new Presence of Bus Lane and Presence of Cycle Lane attribution and the removal of Cycle Lane Facility attribution, as supplied with data schema version 5.0 onward.

    • Four existing code lists updated: , , and .

    • Updates made to the following two OS NGD theme pages: and .

    • Updates made to the following three OS NGD collection pages: , and .

    • Updates made to the (in the ‘USING OS NGD DATA’ section) to reflect the enhancements made to the Physical State attribute for the Building Feature Type.

    • Updates made to the following pages: , , OS NGD Fundamentals – , , , , , and .

    OS NGD Networks Collection
    :
    ,
    ,
    ,
    ,
    ,
    ,
    ,
    , and
    .
    Updates made to the Downloading with OS Select+Build page:
    • Instructions updated throughout the page to reflect recent navigation changes to the top and secondary navigation menus in the OS Data Hub.

    • New sub-section added for 'How do I edit a recipe?'

    • New sub-section added for 'How do I delete a data package?'

    • Updates made to the 'Things to remember' boxes at the bottom of the page.

    , and
    .
  • GETTING STARTED section renamed as INTRODUCTION TO OS NGD and various pages moved into this section (OS NGD Explained, OS NGD Key Benefits to Customers, OS NGD Sample Data and OS NGD Data Viewer.

  • New page added to the site: OS NGD Explained.

  • OS NGD Core Principles renamed as OS NGD Fundamentals.

  • Product Announcements page content moved to the bottom of the new OS NGD News landing page as a sub-section called Recent Announcements.

  • Landing pages (Introduction to OS NGD, Getting Started Information, OS NGD News, Data and Service Status Information and Data Structure Information) added for all sections. These pages use navigation cards to show what content is available in the section. What's Next sections with navigation cards and links added to all new landing pages to improve the customer experience.

  • Homepage content updated. New navigation cards added to the bottom of the page to show what's available on the site.

    • Four major data schema versions released for existing feature types: Building (v4.0), Path Link (v2.0), Road Link (v4.0), Site Access Location (v2.0):

      • Updates made to the Building Feature Type page to reflect the new attribution for Roof Shape, Roof Aspect, Roof Material, Solar Panel Presence, Green Roof Presence and Building Height, as supplied with data schema version 4.0.

      • Updates made to the Path Link Feature Type page to reflect the addition of new Street Light attribution, as supplied with data schema version 2.0.

      • Updates made to the page to reflect the addition of new Street Light attribution, as supplied with data schema version 4.0.

      • Updates made to the page to reflect new Access Purpose attribution, as supplied with data schema version 2.0.

    • Seven minor data schema versions released for existing feature types: (v2.1), (v3.1), (v3.1), (v3.1), (v2.2), (v3.1) and (v3.1).

    • Four code lists updated: Built Structure Height Confidence Value, Site Description Value, Site Access Location Description Value and Compound Structure Description Value.

    • Updates made to the pages (in the ‘USING NGD DATA’ section) to reflect the release of the new Building Access Location Feature Type (v1.0) and the addition of new attribution in the Building Feature Type (v4.0) for Roof Shape, Roof Aspect, Roof Material, Solar Panel Presence, Green Roof Presence and Building Height.

    • Updates made to the pages (in the ‘USING NGD DATA’ section) to reflect the addition of the new Street Light Feature Type to the OS NGD Transport Features Collection and the addition of new Street Light attribution in the Path Link Feature Type (v2.0) and Road Link Feature Type (v4.0).

    • Updates made to the following three OS NGD theme pages: , , and .

    • Updates made to the following five OS NGD collection pages: , , , , and .

    • Updates made to the following pages:, , , , , , and .

  • Updates made to the Compound Structure Feature Type page to reflect new attribution for bridge interactions, as supplied with data schema version 2.0.

  • Updates made to the Building Feature Type page to reflect new Number of Floors attribution, as supplied with data schema version 3.0.

  • Three code lists updated: Building Part Description Value, Compound Structure Description Value and Relationship Type Value.

  • Updates made to the OS NGD Buildings pages (in the USING NGD DATA section) to reflect new Number of Floors attribution in data schema version 3.0 of the Building Feature Type.

  • Updates to the 'What's New?', 'Known data issues', 'Product announcements', 'OS NGD Fundamentals', 'Future OS NGD Data Enhancements', and 'Sample data' pages.

  • Updates made to the following OS NGD collection pages: Structure Features, Land Features, Land Use Features, Building Features, Transport Features and Water Features.

  • Updates made to the Land, Rail, Road Link, Road Track Or Path, Structure, and Water Feature Type pages to reflect new attribution for land cover, as supplied with data schema version 2.0 for all feature types bar Road Link, which is supplied with data schema version 3.0.

  • Updates to the 'What's New?', 'Product announcements', 'Future OS NGD Data Enhancements', and 'Sample data' pages.

  • New section added to the USING NGD DATA section for OS NGD Buildings.

  • Updates to the 'What's New?', 'Product announcements', 'Future OS NGD Data Enhancements', and 'Sample data' pages.

  • Updates made to the OS NGD Building Features and OS NGD Transport Network Collection pages

  • Water Network Collection page
    What's New?
    OS NGD Fundamentals – Data schema versioning
    OS NGD Fundamentals – Data ordering and currency
    Future OS NGD Data Enhancements
    OS NGD News
    Current Known Data Issues
    FAQs
    Building Part Land Cover Tier A Value
    Building Part Land Cover Tier B Value
    Land Cover Tier A Value
    Land Cover Tier B Value
    Rail Land Cover Tier A Value
    Rail Land Cover Tier B Value
    Road Track Or Path Land Cover Tier A Value
    Road Track Or Path Land Cover Tier B Value
    Structure Land Cover Tier A Value
    Structure Land Cover Tier B Value
    Water Land Cover Tier A Value
    Water Land Cover Tier B Value
    Land Use Tier A Value
    Processing COUs
    Royal Mail Address
    Royal Mail Address
    Address Classification Code Value
    Address Classification Description Value
    Address Primary Classification Description Value
    Address Quaternary Classification Description Value
    Address Secondary Classification Description Value
    Address Tertiary Classification Description Value
    Geometry Allocation Method Value
    Matched Address Feature Type Value
    Matching Organisation Value
    Match Method Value
    RM To LA Match Type Value
    Royal Mail Address Description Value
    Land
    Site
    Site Description Value
    Building Features
    Land Features
    Land Use Features
    Structure Features
    Transport Features
    Water Features
    Bus Lane
    Cycle Lane
    Tidal Boundary Continuous High
    Tidal Boundary Continuous Low
    Bus Lane Description Value
    Cycle Lane Description Value
    Side Of Link Value
    Tidal Boundary Continuous High Description Value
    Tidal Boundary Continuous Low Description Value
    Bus lanes
    Cycle lanes
    OS NGD Transport sub-section (in the ‘USING NGD DATA’ section)
    Introduction to OS NGD
    Getting Started
    OS NGD Documentation
    OS NGD Explained
    OS NGD Explained
    OS NGD Key Benefits to Customers
    OS NGD Sample Data
    Getting Started Information
    OS NGD Fundamentals
    Accessing OS NGD APIs
    Downloading with OS Select+Build
    Managing OS Select+Build recipes
    Editing OS Select+Build recipes
    Sharing OS Select+Build Recipes
    Getting started with recipes
    Getting started with data packages
    Boundary High Water Mark
    Country
    GLA Assembly Constituency
    Historic County
    Historic European Region
    Regional Authority
    Site Access Location
    Building Part Feature Type
    OS Land Cover Tier A attribute's
    OS Land Cover Tier B attribute's
    Building Part Land Cover Tier A Value Code List
    Building Part Land Cover Tier B Value Code List
    FAQs page
    What's New?
    OS NGD News landing page's Recent announcements section
    Alternate Address
    Postal Address
    Other Classification
    Related Entity
    Built Address
    Historic Address
    Non-Addressable Object
    Pre-Build Address
    Built Address
    Historic Address
    Non-Addressable Object
    Pre-Build Address
    Building
    Building Part
    Land
    Site
    Site Access Location
    Compound Structure
    Structure
    Rail
    Road Track Or Path
    Path Link
    Road Link
    Water
    What's New?
    Change Log
    OS NGD Improvements
    Future OS NGD Data Enhancements
    Live Service Disruption and Planned Maintenance
    Current Known Data Issues
    Resolved Data Issues
    OS NGD Fundamentals
    Downloading with OS Select+Build
    Accessing OS NGD APIs
    Styling OS NGD Data
    OS NGD Improvements
    Building Access Location
    Crowd Sourced Name Point
    Street Light
    OS Multi-modal Routing Network
    OS Emergency Services Gazetteer
    OS Download Products' Documentation site
    OS NGD Sample Data Information
    Live Service Disruption and Planned Maintenance
    Current Known Data Issues
    Resolved Data Issues
    Land Use Tier B Value
    Connecting Link
    Connecting Node
    Ferry Link
    Ferry Node
    Ferry Terminal
    Path
    Path Node
    Road
    Railway Link Set
    OS NGD Webinars, Tutorials and Case Studies
    FAQs
    Building Description Value
    Link Direction Value
    Link Reference Confidence Value
    Transport Feature Type Value
    Transport
    Water
    Building Features
    Transport Network
    Water Features
    OS NGD Building pages
    What's New?
    Current Known Data Issues
    Data ordering and currency
    Future OS NGD Data Enhancements
    OS NGD API – Features – What data is available?
    OS NGD API – Tiles – What data is available?
    OS NGD News
    OS NGD Improvements
    FAQs
    Road Link Feature Type
    Site Access Location Feature Type
    Building Part
    Land
    Rail
    Road Track Or Path
    Site
    Structure
    Water
    OS NGD Buildings
    OS NGD Transport
    Buildings
    Geographical Names
    Transport
    Building Features
    Land Use Features
    Named Features
    Transport Features
    Transport Network
    What's New?
    Current Known Data Issues
    OS NGD Fundamentals – Data schema versioning
    OS NGD Fundamentals – Data ordering and currency
    Future OS NGD Data Enhancements
    OS NGD Webinars, Tutorials and Case Studies
    OS NGD API – Features – What data is available?
    FAQs