Location intelligence

Planning Constraints API

Find known listed building, conservation area, Article 4 direction, and tree preservation constraints near a postcode or coordinate.

Endpoint

GET/api/v1/planning/constraints

Provide postcode, or both latitude and longitude.

Billing details in the response

Successful chargeable JSON responses include a top-level billing object. The endpoint examples on this page focus on the endpoint-specific data, so this repeated block may not be shown in every example.

"billing": {
  "mode": "prepaid",
  "creditsCharged": 1,
  "creditsRemaining": 1999,
  "creditsRefreshAt": "2026-08-14T09:30:00.000Z"
}
Field or headerMeaning
billing.creditsCharged
X-Credits-Charged
Credits charged by this call. Failed and non-chargeable calls return 0 in the header.
billing.creditsRemaining
X-Credits-Remaining
The credit balance after the call.
billing.creditsRefreshAt
X-Credits-Refresh-At
The next monthly credit refresh as an ISO 8601 timestamp. Trial and non-renewing balances return null and omit the header.

All authenticated API-key calls expose the billing headers, including validation errors and zero-credit status or management requests. Only successful chargeable JSON responses add the billing object to the response body.

Parameters

NameRequiredTypeDescription
postcodeNostringFull UK postcode. Alternatively provide coordinates.
latitudeNonumberLatitude when postcode is omitted.
longitudeNonumberLongitude when postcode is omitted.
radiusMetresNointegerSearch radius from 0 to 2,000 metres. Defaults to 100.
datasetsNostringComma-separated dataset names to include.
includeGeometryNobooleanInclude GeoJSON geometry. Defaults to false.
limitNointegerMaximum results, up to 100 or 25 with geometry.

Source and coverage

Source
planning.data.gov.uk under the Open Government Licence v3.0
Coverage
England where participating national and local sources provide records

A returned result confirms a known constraint. An empty result does not prove that no constraint applies because source authority coverage is incomplete.

Example request

curl "https://propertyinsights.co.uk/api/v1/planning/constraints?postcode=ZZ1%201ZZ&radiusMetres=250" \
  -H "x-api-key: YOUR_API_KEY"

Example response

{
  "success": true,
  "data": {
    "input": {
      "postcode": "ZZ1 1ZZ",
      "radiusMetres": 250
    },
    "count": 1,
    "constraints": [
      {
        "dataset": "conservation-area",
        "reference": "CA-001",
        "intersects": true,
        "distanceMetres": 0
      }
    ]
  }
}

OpenAPI specification

Authentication, parameters, billing headers and response schemas are also published in the machine-readable OpenAPI document.