BILTD Pro API
Integrate UK planning intelligence into your platform. Design envelopes, permitted development checks, and site opportunity search — all via a single REST API.
Authentication
All API requests require a Bearer token in the Authorization header. Generate API keys from your BILTD Pro settings.
Authorization: Bearer biltd_live_xxxxxxxxxxxxxxxxxxxxxxxx
Rate Limits
Rate limits are enforced per API key on a rolling hourly window.
| Plan tier | Lookups/hour | Batch queries/hour |
|---|---|---|
| Starter | 100 | 5 |
| Practice | 500 | 20 |
| Office | 1,000 | 50 |
| Enterprise | 1,000+ | 100+ |
Rate limit status is returned in every response:
X-RateLimit-Reset: 2026-04-11T15:00:00.000Z
When a rate limit is exceeded, the API returns HTTP 429 Too Many Requests.
/api/v1/design-envelopeReturns the permitted development zones for a residential property: the PD rear extension zone (up to 3m/4m), Prior Approval zone (up to 6m/8m), and curtilage area (outbuilding limit). Derived from HMLR INSPIRE plot boundaries + OS/OSM building footprints + GPDO 2015 rules.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
uprn | string | One of uprn, lat+lng, or address | Unique Property Reference Number. Preferred over lat/lng for accuracy. |
lat + lng | number | One of | WGS84 decimal coordinates. Both required if using lat/lng. |
address | string | One of | Full UK address string. Used to geocode if UPRN/coordinates unavailable. |
houseType | string | No | OS Places house type hint: detached, semi-detached, terraced. Improves property type inference. |
includeConstraints | boolean | No | Set true to include designated land overlay (conservation area, AONB, listed building, Article 4). Adds ~1s latency. |
includeFeasibility | boolean | No | Set true to include financial feasibility estimates (build cost range, value uplift). Requires postcode in address string. |
Example request
curl -H "Authorization: Bearer biltd_live_xxx" \ "https://pro.getbiltd.com/api/v1/design-envelope?uprn=10002004456&includeConstraints=true"
const res = await fetch(
'https://pro.getbiltd.com/api/v1/design-envelope?uprn=10002004456&includeConstraints=true',
{ headers: { Authorization: 'Bearer biltd_live_xxx' } }
);
const data = await res.json();
console.log(data.zones?.rearExtPdDepthM); // e.g. 4 (metres)import httpx
r = httpx.get(
'https://pro.getbiltd.com/api/v1/design-envelope',
params={'uprn': '10002004456', 'includeConstraints': 'true'},
headers={'Authorization': 'Bearer biltd_live_xxx'}
)
data = r.json()
print(data['propertyType']) # 'detached'Response schema
{
"uprn": "10002004456",
"lat": 51.5123,
"lng": -0.1234,
"address": "1 EXAMPLE STREET, LONDON, SW1A 1AA",
"plotAreaM2": 320,
"curtilageM2": 210,
"propertyType": "semi_detached",
"titleNumber": "AGL123456",
"dataSources": {
"plot": "hmlr_inspire",
"building": "os_features"
},
"constraintsSummary": { // null if includeConstraints not set
"hasConstraints": false,
"allRightsBlocked": false,
"reducedRights": false,
"conservationArea": false,
"aonb": false,
"nationalPark": false,
"listedBuilding": false,
"article4": false,
"appliedPdDepthM": 3,
"appliedPaDepthM": 6
},
"feasibility": null, // null if includeFeasibility not set
"zones": {
"rearExtPdDepthM": 3,
"rearExtPaDepthM": 6,
"pdOutbuildingM2": 105,
"curtilageM2": 210,
"propertyType": "semi_detached",
"rearExtPd": { "type": "Feature", "geometry": { ... } },
"rearExtPa": { "type": "Feature", "geometry": { ... } },
"outbuildingArea": { "type": "Feature", "geometry": { ... } },
"sideExt": null
},
"plotPolygon": { "type": "Polygon", "coordinates": [ ... ] },
"buildingPolygon": { "type": "Polygon", "coordinates": [ ... ] }
}Error codes
| HTTP status | Meaning |
|---|---|
400 | Missing required parameters |
401 | Invalid or missing API key |
404 | No INSPIRE plot polygon for this property (leasehold, unregistered, or new development) |
422 | Could not resolve coordinates from provided address |
429 | Rate limit exceeded |
500 | Internal error — contact support |
Use cases
Enrich property listings with “development potential” attributes. Show buyers the maximum rear extension available at a glance.
Factor permitted development potential into automated valuations. Properties with significant PD headroom consistently command a premium.
Automate pre-application feasibility screening across client portfolios. Identify the strongest development opportunities before site visits.
Embed plot boundaries and PD zones directly into your map layers. GeoJSON output is compatible with Mapbox, Leaflet, and QGIS.
Get started
Generate an API key from your BILTD Pro account settings. Free trial: 100 lookups on sign-up.