Skip to content

LandTech API (0.3.0)

Search for land parcels and retrieve detailed insights on ownership, planning applications and property details.

Download OpenAPI description
Languages
Servers
Mock server

https://developers.land.tech/_mock/openapi/

LandTech API Service

https://app.land.tech/api/

Getting Started

Endpoints to help you understand how to interact with the API.

Operations

Parcels

Endpoints to search for parcels and associated attributes.

Operations

List available regions

Request

List the GSS code and name of known regions (local authorities), that can be used when searching for parcels.

Security
ApiKeyAuth
curl -i -X GET \
  https://developers.land.tech/_mock/openapi/regions \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

A list of regions available.

Bodyapplication/json
dataobject
Response
application/json
{ "data": { "regions": [] } }

Search for parcels

Request

Given a region GSS code and optional parcel size, retrieve a list of parcel IDs. The maximum number of IDs returned is 100,000.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

A payload including a region and optional parcel size filters.

regionstring^[EWS]\d{8}$required

A region code (e.g. GSS code for UK Local Authority Districts).

Example: "E06000023"
parcel_sizeobject

An optional filter for parcel size in square metres. The max or min can be omitted, so for example to find parcels larger than 1ha (10,000sqm) you can use {"min": 10000}.

tenureArray of strings

An optional filter for parcel tenures (i.e. freehold or leasehold). If omitted, only parcels which include freeholdings will be returned. To search for leaseholds, or both, supply ["leasehold"] or ["freehold", "leasehold"].

Items Enum"freehold""leasehold"
Example: ["freehold"]
curl -i -X POST \
  https://developers.land.tech/_mock/openapi/parcels/search \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "region": "E06000023",
    "parcel_size": {
      "min": 2023.43,
      "max": 4046.86
    },
    "tenure": [
      "freehold"
    ]
  }'

Responses

A list of parcel IDs matching the search criteria.

Bodyapplication/json
parcel_idsArray of strings(uuid)(ParcelId)<= 100000 itemsrequired

A list of parcel UUIDs.

Example: ["2a5ad2c7-29ef-d609-8ade-36eef8e3a072"]
Response
application/json
{ "parcel_ids": [ "533bdf35-c073-5433-b225-076b625d22f9", "7da6fe12-6f0a-3d16-5bf0-3c80839256b5", "7fc7684c-bf0f-8710-327e-78d26f9c313e" ] }

Advanced parcel search - beta

Request

Retrieve a list of parcel IDs based on a set of filters. The maximum number of IDs returned is 100,000.

Schema is subject to change. Beta

Security
ApiKeyAuth
Bodyapplication/jsonrequired

A payload including all parcel filters.

search_filterobjectrequired
search_filter.​ALLArray of Additional Opportunities (object) or Agricultural Land Classification (object) or Amenities Filter (object) or Article 4 (London) (object) or Company Status (object) or Constraints - Adopted Constraints (object) or Constraints - Emerging Constraints (object) or Developed Area (object) or Grey belt favourability (object) or Land Availability Assessment (object) or Lease End Date (object) or Lease Start Date (object) or Ownership Type (object) or Parcel Size (object) or Planning Applications Filter (object) or Power Distance Filter (object) or Owner Name (object) or Property State (object) or Region (object) or Regeneration Zones - Adopted (object) or Regeneration Zones - Emerging (object) or Search Location (object) or Site Allocations - Adopted (object) or Site Allocations - Emerging (object) or Tenure (object) or Use Class (object)non-emptyrequired

Array of search criteria to match using AND logic

Any of:
search_filter.​ALL[].​idstringrequired

The constant ID for this schema.

Value"additional-opportunities-id"
Example: "additional-opportunities-id"
search_filter.​ALL[].​valuesArray of objectsrequired

A list of additional opportunities with associated keys and checked status.

Example: [{"key":"declassified_green_belt","checked":true}]
search_filter.​ALL[].​values[].​keystringrequired

The key representing the additional opportunity type.

ValueDescription
declassified_green_belt

Declassified Green Belt

Example: "declassified_green_belt"
search_filter.​ALL[].​values[].​checkedbooleanrequired

Indicates whether this additional opportunity type is selected or not.

Valuetrue
Example: true
search_filter.​ALL[].​muststringrequired

The match type for filtering the additional opportunities options.

Enum"MATCH_ANY""MATCH_NONE"
Example: "MATCH_ANY"
curl -i -X POST \
  https://developers.land.tech/_mock/openapi/parcels/advanced-search \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "search_filter": {
      "ALL": [
        {
          "id": "tenure-uk",
          "values": [
            {
              "key": "freehold",
              "checked": true
            },
            {
              "key": "leasehold"
            }
          ],
          "must": "MATCH_ANY"
        },
        {
          "id": "use-class-nested-id",
          "values": [
            {
              "key": "E",
              "items": [
                {
                  "key": "E(a)",
                  "checked": true
                },
                {
                  "key": "E(b)",
                  "checked": true
                }
              ]
            },
            {
              "key": "sui-generis",
              "items": [
                {
                  "key": "i-Agricultural",
                  "checked": true
                }
              ]
            }
          ],
          "must": "MATCH_ANY"
        },
        {
          "id": "adopted-constraints-id",
          "values": [
            {
              "key": "very_low_risk_of_flooding_from_rivers_and_seas",
              "checked": true
            },
            {
              "key": "low_risk_of_flooding_from_rivers_and_seas",
              "checked": true
            }
          ],
          "must": "MATCH_NONE",
          "type": "nested-checkbox"
        },
        {
          "id": "ownership-type-id",
          "values": [
            {
              "key": "private",
              "checked": true
            }
          ],
          "must": "MATCH_NONE"
        }
      ]
    }
  }'

Responses

A list of parcel IDs matching the search criteria.

Bodyapplication/json
parcel_idsArray of strings(uuid)(ParcelId)<= 100000 itemsrequired

A list of parcel UUIDs.

Example: ["2a5ad2c7-29ef-d609-8ade-36eef8e3a072"]
Response
application/json
{ "parcel_ids": [ "533bdf35-c073-5433-b225-076b625d22f9", "7da6fe12-6f0a-3d16-5bf0-3c80839256b5", "7fc7684c-bf0f-8710-327e-78d26f9c313e" ] }

Details about a parcel

Request

Given a parcel ID, get the parcel details including associated titles, properties and planning applications.

Security
ApiKeyAuth
Path
parcel_idstring(uuid)(ParcelId)required

A parcel ID

Example: 2a5ad2c7-29ef-d609-8ade-36eef8e3a072
curl -i -X GET \
  https://developers.land.tech/_mock/openapi/parcels/2a5ad2c7-29ef-d609-8ade-36eef8e3a072 \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Parcel Details

Bodyapplication/json
dataobject or null
Response
application/json
{ "data": { "parcel": {} } }

Bulk parcel details

Request

Fetch parcel details for up to 50 parcel IDs in a single request.

Security
ApiKeyAuth
Bodyapplication/jsonrequired
parcel_idsArray of strings(uuid)(ParcelId)<= 50 itemsrequired

List of parcel IDs (max 50)

Example: ["2a5ad2c7-29ef-d609-8ade-36eef8e3a072"]
curl -i -X POST \
  https://developers.land.tech/_mock/openapi/parcels \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "parcel_ids": [
      "2a5ad2c7-29ef-d609-8ade-36eef8e3a072"
    ]
  }'

Responses

Bulk parcel details

Bodyapplication/json
dataobject
Response
application/json
{ "data": { "parcel": [] } }

Ownership

Endpoints to get details about land ownership and property information.

Operations

Planning Applications

Endpoints to search for planning applications and get details on individual applications.

Operations

Local Policy

Endpoint to get details of local plan policies

Operations

Development Constraints

Endpoint to get details of various development constraints. Includes airport, HS2, rail and building (wharf) safeguarding. Also includes article 4 and national landscape data.

Operations

Development Opportunities

Endpoint to get details of Named Regeneration Areas and Area Action Plans

Operations

Land Availability Assessment

Endpoint to get details about Land Availability Assessment sites

Operations

Strategic Industrial Location

Endpoint for details on strategic industrial location

Operations

Additional Opportunities

Endpoint to get details of sites from Homes England Land Hub

Operations

Power

Endpoint to get details of substations, lines, cables and towers

Operations

Renewable Energy Planning DB

Endpoint to get details on sites from the Renewable Energy Planning Database

Operations