Ordnance Survey Collections API

Retrieve information about collections

Operations 4

GET /collections Get list of all OS NGD feature collections #
GET /collections/{collectionId} Get a single OS NGD feature collection #
GET /collections/{collectionId}/schema Get schema for a single OS NGD feature collection #
GET /collections/{collectionId}/queryables Get a list of queryable attributes for this feature collection #

Documentation

📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-ngd-api-features
📖
APIReference
https://api.os.uk/features/ngd/ofa/v1/api
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-ngd-api-tiles
📖
APIReference
https://api.os.uk/maps/vector/ngd/ota/v1/api
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-downloads-api
📖
APIReference
https://api.os.uk/downloads/v1/openapi.yaml
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-net-api
📖
APIReference
https://api.os.uk/positioning/osnet/v1/openapi.yaml
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-places-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-places-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-names-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-names-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-linked-identifiers-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-linked-identifiers-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-features-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-features-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-maps-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-maps-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-vector-tile-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-vector-tile-api/technical-specification

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ordnance-survey-collections-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ordnance-survey-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OS NGD API – Features Collections API
  version: v1.8.1
  description: Retrieve information about collections
servers:
- url: https://api.os.uk/features/ngd/ofa/v1
tags:
- name: Collections
  description: Retrieve information about collections
paths:
  /collections:
    get:
      tags:
      - Collections
      summary: Get list of all OS NGD feature collections
      description: Get a list of all the available OS NGD feature collections
      operationId: getAllCollections
      responses:
        '200':
          description: All Ordnance Survey National Geographic Database feature collections.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionsResponse'
        '400':
          description: The request was not supported.
        '405':
          description: The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
        '406':
          description: A request header value was not supported.
  /collections/{collectionId}:
    get:
      tags:
      - Collections
      summary: Get a single OS NGD feature collection
      description: Get information about an OS NGD feature collection
      operationId: getCollectionById
      parameters:
      - name: collectionId
        in: path
        description: A known collection ID.
        required: true
        schema:
          type: string
          enum:
          - asu-gbpcd-postcodeunitarea-1
          - asu-gbpcd-postcodeunitpoint-1
          - bld-fts-building-1
          - bld-fts-building-2
          - bld-fts-building-3
          - bld-fts-building-4
          - bld-fts-buildingaccesslocation-1
          - bld-fts-buildingline-1
          - bld-fts-buildingpart-1
          - bld-fts-buildingpart-2
          - gnm-fts-crowdsourcednamepoint-1
          - gnm-fts-namedarea-1
          - gnm-fts-namedpoint-1
          - gnm-fts-namedroadjunction-1
          - lnd-fts-land-1
          - lnd-fts-land-2
          - lnd-fts-land-3
          - lnd-fts-landform-1
          - lnd-fts-landformline-1
          - lnd-fts-landformpoint-1
          - lnd-fts-landpoint-1
          - lus-fts-site-1
          - lus-fts-site-2
          - lus-fts-siteaccesslocation-1
          - lus-fts-siteaccesslocation-2
          - lus-fts-siteroutingpoint-1
          - str-fts-compoundstructure-1
          - str-fts-compoundstructure-2
          - str-fts-compoundstructure-3
          - str-fts-fieldboundary-1
          - str-fts-structure-1
          - str-fts-structure-2
          - str-fts-structure-3
          - str-fts-structureline-1
          - str-fts-structurepoint-1
          - trn-fts-cartographicraildetail-1
          - trn-fts-rail-1
          - trn-fts-rail-2
          - trn-fts-rail-3
          - trn-fts-roadline-1
          - trn-fts-roadtrackorpath-1
          - trn-fts-roadtrackorpath-2
          - trn-fts-roadtrackorpath-3
          - trn-fts-streetlight-1
          - trn-ntwk-buslane-1
          - trn-ntwk-connectinglink-1
          - trn-ntwk-connectingnode-1
          - trn-ntwk-cyclelane-1
          - trn-ntwk-ferrylink-1
          - trn-ntwk-ferrynode-1
          - trn-ntwk-ferryterminal-1
          - trn-ntwk-path-1
          - trn-ntwk-pathlink-1
          - trn-ntwk-pathlink-2
          - trn-ntwk-pathlink-3
          - trn-ntwk-pathnode-1
          - trn-ntwk-pavementlink-1
          - trn-ntwk-railwaylink-1
          - trn-ntwk-railwaylinkset-1
          - trn-ntwk-railwaynode-1
          - trn-ntwk-road-1
          - trn-ntwk-roadjunction-1
          - trn-ntwk-roadlink-1
          - trn-ntwk-roadlink-2
          - trn-ntwk-roadlink-3
          - trn-ntwk-roadlink-4
          - trn-ntwk-roadlink-5
          - trn-ntwk-roadnode-1
          - trn-ntwk-street-1
          - trn-ntwk-tramonroad-1
          - trn-rami-averageandindicativespeed-1
          - trn-rami-highwaydedication-1
          - trn-rami-maintenancearea-1
          - trn-rami-maintenanceline-1
          - trn-rami-maintenancepoint-1
          - trn-rami-reinstatementarea-1
          - trn-rami-reinstatementline-1
          - trn-rami-reinstatementpoint-1
          - trn-rami-restriction-1
          - trn-rami-routinghazard-1
          - trn-rami-routingstructure-1
          - trn-rami-specialdesignationarea-1
          - trn-rami-specialdesignationline-1
          - trn-rami-specialdesignationpoint-1
          - wtr-fts-intertidalline-1
          - wtr-fts-tidalboundary-1
          - wtr-fts-water-1
          - wtr-fts-water-2
          - wtr-fts-water-3
          - wtr-fts-waterpoint-1
          - wtr-ntwk-waterlink-1
          - wtr-ntwk-waterlink-2
          - wtr-ntwk-waterlinkset-1
          - wtr-ntwk-waternode-1
        example: asu-gbpcd-postcodeunitarea-1
      responses:
        '200':
          description: A single Ordnance Survey National Geographic Database feature collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionResponse'
        '400':
          description: The request was not supported.
        '404':
          description: Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.
        '405':
          description: The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
        '406':
          description: A request header value was not supported.
  /collections/{collectionId}/schema:
    get:
      tags:
      - Collections
      summary: Get schema for a single OS NGD feature collection
      operationId: getSchema
      parameters:
      - name: collectionId
        in: path
        description: A known collection ID.
        required: true
        schema:
          type: string
          enum:
          - asu-gbpcd-postcodeunitarea-1
          - asu-gbpcd-postcodeunitpoint-1
          - bld-fts-building-1
          - bld-fts-building-2
          - bld-fts-building-3
          - bld-fts-building-4
          - bld-fts-buildingaccesslocation-1
          - bld-fts-buildingline-1
          - bld-fts-buildingpart-1
          - bld-fts-buildingpart-2
          - gnm-fts-crowdsourcednamepoint-1
          - gnm-fts-namedarea-1
          - gnm-fts-namedpoint-1
          - gnm-fts-namedroadjunction-1
          - lnd-fts-land-1
          - lnd-fts-land-2
          - lnd-fts-land-3
          - lnd-fts-landform-1
          - lnd-fts-landformline-1
          - lnd-fts-landformpoint-1
          - lnd-fts-landpoint-1
          - lus-fts-site-1
          - lus-fts-site-2
          - lus-fts-siteaccesslocation-1
          - lus-fts-siteaccesslocation-2
          - lus-fts-siteroutingpoint-1
          - str-fts-compoundstructure-1
          - str-fts-compoundstructure-2
          - str-fts-compoundstructure-3
          - str-fts-fieldboundary-1
          - str-fts-structure-1
          - str-fts-structure-2
          - str-fts-structure-3
          - str-fts-structureline-1
          - str-fts-structurepoint-1
          - trn-fts-cartographicraildetail-1
          - trn-fts-rail-1
          - trn-fts-rail-2
          - trn-fts-rail-3
          - trn-fts-roadline-1
          - trn-fts-roadtrackorpath-1
          - trn-fts-roadtrackorpath-2
          - trn-fts-roadtrackorpath-3
          - trn-fts-streetlight-1
          - trn-ntwk-buslane-1
          - trn-ntwk-connectinglink-1
          - trn-ntwk-connectingnode-1
          - trn-ntwk-cyclelane-1
          - trn-ntwk-ferrylink-1
          - trn-ntwk-ferrynode-1
          - trn-ntwk-ferryterminal-1
          - trn-ntwk-path-1
          - trn-ntwk-pathlink-1
          - trn-ntwk-pathlink-2
          - trn-ntwk-pathlink-3
          - trn-ntwk-pathnode-1
          - trn-ntwk-pavementlink-1
          - trn-ntwk-railwaylink-1
          - trn-ntwk-railwaylinkset-1
          - trn-ntwk-railwaynode-1
          - trn-ntwk-road-1
          - trn-ntwk-roadjunction-1
          - trn-ntwk-roadlink-1
          - trn-ntwk-roadlink-2
          - trn-ntwk-roadlink-3
          - trn-ntwk-roadlink-4
          - trn-ntwk-roadlink-5
          - trn-ntwk-roadnode-1
          - trn-ntwk-street-1
          - trn-ntwk-tramonroad-1
          - trn-rami-averageandindicativespeed-1
          - trn-rami-highwaydedication-1
          - trn-rami-maintenancearea-1
          - trn-rami-maintenanceline-1
          - trn-rami-maintenancepoint-1
          - trn-rami-reinstatementarea-1
          - trn-rami-reinstatementline-1
          - trn-rami-reinstatementpoint-1
          - trn-rami-restriction-1
          - trn-rami-routinghazard-1
          - trn-rami-routingstructure-1
          - trn-rami-specialdesignationarea-1
          - trn-rami-specialdesignationline-1
          - trn-rami-specialdesignationpoint-1
          - wtr-fts-intertidalline-1
          - wtr-fts-tidalboundary-1
          - wtr-fts-water-1
          - wtr-fts-water-2
          - wtr-fts-water-3
          - wtr-fts-waterpoint-1
          - wtr-ntwk-waterlink-1
          - wtr-ntwk-waterlink-2
          - wtr-ntwk-waterlinkset-1
          - wtr-ntwk-waternode-1
        example: asu-gbpcd-postcodeunitarea-1
      responses:
        '200':
          description: Schema for an Ordnance Survey National Geographic Database feature collection.
          content:
            '*/*':
              schema:
                type: object
                additionalProperties:
                  type: object
        '400':
          description: The schema request is not supported. Please refer to documentation for examples.
        '404':
          description: Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.
        '405':
          description: The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
        '406':
          description: A request header value was not supported.
  /collections/{collectionId}/queryables:
    get:
      tags:
      - Collections
      summary: Get a list of queryable attributes for this feature collection
      operationId: getCollectionQueryables
      parameters:
      - name: collectionId
        in: path
        description: A known collection ID.
        required: true
        schema:
          type: string
          enum:
          - asu-gbpcd-postcodeunitarea-1
          - asu-gbpcd-postcodeunitpoint-1
          - bld-fts-building-1
          - bld-fts-building-2
          - bld-fts-building-3
          - bld-fts-building-4
          - bld-fts-buildingaccesslocation-1
          - bld-fts-buildingline-1
          - bld-fts-buildingpart-1
          - bld-fts-buildingpart-2
          - gnm-fts-crowdsourcednamepoint-1
          - gnm-fts-namedarea-1
          - gnm-fts-namedpoint-1
          - gnm-fts-namedroadjunction-1
          - lnd-fts-land-1
          - lnd-fts-land-2
          - lnd-fts-land-3
          - lnd-fts-landform-1
          - lnd-fts-landformline-1
          - lnd-fts-landformpoint-1
          - lnd-fts-landpoint-1
          - lus-fts-site-1
          - lus-fts-site-2
          - lus-fts-siteaccesslocation-1
          - lus-fts-siteaccesslocation-2
          - lus-fts-siteroutingpoint-1
          - str-fts-compoundstructure-1
          - str-fts-compoundstructure-2
          - str-fts-compoundstructure-3
          - str-fts-fieldboundary-1
          - str-fts-structure-1
          - str-fts-structure-2
          - str-fts-structure-3
          - str-fts-structureline-1
          - str-fts-structurepoint-1
          - trn-fts-cartographicraildetail-1
          - trn-fts-rail-1
          - trn-fts-rail-2
          - trn-fts-rail-3
          - trn-fts-roadline-1
          - trn-fts-roadtrackorpath-1
          - trn-fts-roadtrackorpath-2
          - trn-fts-roadtrackorpath-3
          - trn-fts-streetlight-1
          - trn-ntwk-buslane-1
          - trn-ntwk-connectinglink-1
          - trn-ntwk-connectingnode-1
          - trn-ntwk-cyclelane-1
          - trn-ntwk-ferrylink-1
          - trn-ntwk-ferrynode-1
          - trn-ntwk-ferryterminal-1
          - trn-ntwk-path-1
          - trn-ntwk-pathlink-1
          - trn-ntwk-pathlink-2
          - trn-ntwk-pathlink-3
          - trn-ntwk-pathnode-1
          - trn-ntwk-pavementlink-1
          - trn-ntwk-railwaylink-1
          - trn-ntwk-railwaylinkset-1
          - trn-ntwk-railwaynode-1
          - trn-ntwk-road-1
          - trn-ntwk-roadjunction-1
          - trn-ntwk-roadlink-1
          - trn-ntwk-roadlink-2
          - trn-ntwk-roadlink-3
          - trn-ntwk-roadlink-4
          - trn-ntwk-roadlink-5
          - trn-ntwk-roadnode-1
          - trn-ntwk-street-1
          - trn-ntwk-tramonroad-1
          - trn-rami-averageandindicativespeed-1
          - trn-rami-highwaydedication-1
          - trn-rami-maintenancearea-1
          - trn-rami-maintenanceline-1
          - trn-rami-maintenancepoint-1
          - trn-rami-reinstatementarea-1
          - trn-rami-reinstatementline-1
          - trn-rami-reinstatementpoint-1
          - trn-rami-restriction-1
          - trn-rami-routinghazard-1
          - trn-rami-routingstructure-1
          - trn-rami-specialdesignationarea-1
          - trn-rami-specialdesignationline-1
          - trn-rami-specialdesignationpoint-1
          - wtr-fts-intertidalline-1
          - wtr-fts-tidalboundary-1
          - wtr-fts-water-1
          - wtr-fts-water-2
          - wtr-fts-water-3
          - wtr-fts-waterpoint-1
          - wtr-ntwk-waterlink-1
          - wtr-ntwk-waterlink-2
          - wtr-ntwk-waterlinkset-1
          - wtr-ntwk-waternode-1
        example: asu-gbpcd-postcodeunitarea-1
      responses:
        '200':
          description: A list of queryable attributes and their types for this feature collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryablesResponse'
        '400':
          description: The queryable request is not supported. Please refer to documentation for examples.
        '404':
          description: Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.
        '405':
          description: The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
        '406':
          description: A request header value was not supported.
components:
  schemas:
    Link:
      type: object
      properties:
        href:
          type: string
          format: url
        rel:
          type: string
        type:
          type: string
        title:
          type: string
    Queryable:
      type: object
      properties:
        title:
          type: string
        type:
          type: string
        format:
          type: string
        maxLength:
          type: integer
          format: int32
        pattern:
          type: string
        description:
          type: string
        hierarchy:
          type: string
        parent:
          type: string
        child:
          type: string
        minItems:
          type: integer
          format: int32
        maxItems:
          type: integer
          format: int32
        items:
          $ref: '#/components/schemas/Queryable'
        enum:
          type: array
          items:
            type: string
    Extent:
      type: object
      properties:
        spatial:
          $ref: '#/components/schemas/SpatialExtent'
        temporal:
          $ref: '#/components/schemas/TemporalExtent'
    CollectionResponse:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        description:
          type: string
        crs:
          type: array
          items:
            type: string
            enum:
            - http://www.opengis.net/def/crs/OGC/1.3/CRS84
            - http://www.opengis.net/def/crs/EPSG/0/27700
            - http://www.opengis.net/def/crs/EPSG/0/7405
            - http://www.opengis.net/def/crs/EPSG/0/4326
            - http://www.opengis.net/def/crs/EPSG/0/3857
        storageCrs:
          type: string
          enum:
          - http://www.opengis.net/def/crs/OGC/1.3/CRS84
          - http://www.opengis.net/def/crs/EPSG/0/27700
          - http://www.opengis.net/def/crs/EPSG/0/7405
          - http://www.opengis.net/def/crs/EPSG/0/4326
          - http://www.opengis.net/def/crs/EPSG/0/3857
        itemType:
          type: string
        extent:
          $ref: '#/components/schemas/Extent'
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
    QueryablesResponse:
      type: object
      properties:
        $schema:
          type: string
        $id:
          type: string
        type:
          type: string
        title:
          type: string
        description:
          type: string
        properties:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Queryable'
    CollectionsResponse:
      type: object
      properties:
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
        crs:
          type: array
          items:
            type: string
            enum:
            - http://www.opengis.net/def/crs/OGC/1.3/CRS84
            - http://www.opengis.net/def/crs/EPSG/0/27700
            - http://www.opengis.net/def/crs/EPSG/0/7405
            - http://www.opengis.net/def/crs/EPSG/0/4326
            - http://www.opengis.net/def/crs/EPSG/0/3857
        collections:
          type: array
          items:
            $ref: '#/components/schemas/CollectionResponse'
    TemporalExtent:
      type: object
      properties:
        interval:
          type: array
          items:
            type: array
            items:
              type: string
        trs:
          type: string
    SpatialExtent:
      type: object
      properties:
        bbox:
          type: array
          items:
            type: array
            items:
              type: number
              format: double
        crs:
          type: string
  securitySchemes:
    api-key:
      type: apiKey
      name: key
      in: query
    api-key-header:
      type: apiKey
      name: key
      in: header
    oauth2:
      type: oauth2
      name: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.os.uk/oauth2/token/v1
          scopes: {}