Home/Offers/Real Estate & Property/Planning and Zoning Intelligence API

Real Estate & Property

Planning and Zoning Intelligence API

The answer to what you can build on a site exists. It is distributed across a local plan, a policies map, three constraint designations and a decision notice from 2017.

  • Developers
  • Planning consultants
  • Property portals
  • Lenders
  • Site-sourcing platforms

What your customers would see

example interface
Mockup of the Site Intelligence interfacesites.yourdevelopment.com/ashbournePlatformOverviewSitesConstraintsHistoryPoliciesSettingsSite IntelligenceAccountSITES SCREENED214▲ +36HARD CONSTRAINTS41AUTHORITIES COVERED87▲ +6DOCS EXTRACTED11.2k▲ +840Constraints intersecting the site boundaryupdated 2 min agoAllHard constraintsHeritageEnvironmentalNeeds interpretationDESIGNATIONNAMEOVERLAPUPDATEDEFFECTConservation areaAshbourne Mills41%Mar 2026design controlFlood zone 2River Aire100%Aug 2026sequential testTree preservationTPO 1998/146%Nov 2025retentionLocal plan allocationMX12 mixed use100%Jul 2024supportiveArticle 4 direction—0%Jul 2024not engaged

MockupIllustrative mockup of the interface we would build. Figures shown are examples, not results from a live deployment.

The problem this solves

Establishing the planning position of a site is a research task that has barely been digitised. The information is public, which is often taken to mean accessible, but in practice it means a planning policy document of several hundred pages, a separate policies map in a viewer that does not export, constraint layers held by different authorities in different formats, and a planning history of scanned decision notices with the conditions in prose.

A consultant does this well in a day or two per site. That is fine for a single acquisition and impossible for screening two hundred sites, which is exactly what a developer or a site-sourcing platform needs to do. The bottleneck has pushed the industry towards screening on crude proxies — size, current use, whether anything has been applied for recently — and missing sites whose constraints are more favourable than they look.

The extraction problem is real but tractable. Decision notices have recognisable structure, conditions follow recurring forms, and designations are increasingly published as spatial data. What cannot be automated is interpretation: whether a policy applies to a particular proposal is a judgement, and a system that presents its reading of a policy as a determination of what is permitted would be worse than no system at all.

Who buys this

Developers, Planning consultants, Property portals, Lenders, Site-sourcing platforms

What the API returns

What comes back

  • Designations and constraints intersecting a site boundary, with the source and date of each
  • Permitted and restricted use classes under the applicable zoning or local plan allocation
  • Height, density, coverage and massing parameters where the plan states them
  • Planning history for the site and its immediate neighbours, with outcomes
  • Conditions extracted from decision notices as structured, categorised text
  • Relevant policy references with the specific passages located rather than the whole document
  • Comparable determinations nearby, for similar proposals and their outcomes
  • An explicit uncertainty marker wherever the position depends on interpretation rather than fact

Endpoints

MethodPathReturns
GET/v1/sites/constraintsDesignations and constraints intersecting a site
POST/v1/sites/assessPermitted uses and parameters for a site boundary
GET/v1/sites/historyPlanning application history for a site and neighbours
POST/v1/documents/extractExtract structured conditions and parameters from a planning document
GET/v1/policies/searchLocate relevant policy passages for a proposal type
GET/v1/determinations/comparableNearby determinations for similar proposals

Request and response

illustrative

Request

{
  "site": {
    "boundary_geojson": { "type": "Polygon", "coordinates": "..." },
    "area_sqm": 2840,
    "current_use_class": "B8",
    "authority": "leeds"
  },
  "proposal": { "use_class": "C3", "units": 32, "storeys": 5 },
  "include": ["constraints", "policy_refs", "history", "comparables"]
}

Response

{
  "authority": "leeds",
  "plan": { "name": "Local Plan", "adopted": "2024-07-11", "allocation": "mixed_use_MX12" },
  "constraints": [
    { "designation": "conservation_area", "name": "Ashbourne Mills", "overlap_pct": 41,
      "source": "authority_spatial_data", "updated": "2026-03-02", "effect": "design_and_demolition_controls" },
    { "designation": "flood_zone", "name": "Zone 2", "overlap_pct": 100,
      "source": "national_flood_map", "updated": "2026-08-19", "effect": "sequential_test_likely" },
    { "designation": "tpo", "name": "TPO 1998/14", "overlap_pct": 6,
      "source": "authority_register", "updated": "2025-11-04", "effect": "tree_retention" }
  ],
  "use_assessment": {
    "proposed_use_class": "C3",
    "allocation_supports": "likely",
    "basis": "MX12 allocation lists residential among acceptable uses",
    "interpretation_required": true
  },
  "parameters_stated_in_plan": {
    "max_storeys": 5,
    "min_affordable_pct": 20,
    "parking_standard": "0.5_spaces_per_unit"
  },
  "history": [
    { "reference": "17/04412/FU", "proposal": "Change of use to light industrial",
      "decision": "approved", "decided": "2017-09-22",
      "conditions_extracted": 14, "notable": ["hours_of_operation", "noise_assessment"] }
  ],
  "comparables": [
    { "reference": "24/01188/FU", "distance_m": 240, "proposal": "28 dwellings, 5 storeys",
      "decision": "approved_with_conditions", "affordable_pct": 20 }
  ],
  "caveat": "Policy applicability is an interpretation. This is structured research, not a planning determination."
}

Where the data comes from

Authority planning registersApplications, decisions and decision notices published by local planning authorities, accessed through official portals and open-data releases where they exist
Local plan and policy documentsAdopted plans and supplementary guidance, which are the authoritative statement of what is allocated and what policies apply
Published spatial designation dataConservation areas, flood zones, protected trees, green belt and heritage designations, from official open and licensed spatial datasets
National mapping and cadastral dataSite boundaries and base mapping, licensed from the national mapping agency — this is a real licence cost, not an open dataset in most jurisdictions
Heritage and environmental registersListed structures, scheduled monuments and protected habitats, held by separate statutory bodies
Your own site and appraisal recordsPast sites you assessed and what actually happened, which calibrates the comparable-determination component
On data licensing. Being allowed to read a dataset does not automatically mean you may redistribute it, resell it through an API, or train a model on it. Before any build starts we check the licence, terms and derived-data rules of every source, and we design around the ones that do not permit your intended use. Where a commercial licence is required, that cost is identified during discovery rather than discovered later.

The intelligence layer

The difference between a demo and a service is mostly in this section. These are the parts that keep the answer trustworthy once real traffic is hitting it.

  • Spatial intersection of the site boundary against every designation layer, with overlap percentage rather than a binary flag, because partial overlap changes the planning position
  • Document extraction from decision notices using layout-aware parsing, since conditions are structurally recognisable even when the scan quality is poor
  • Condition classification into a controlled taxonomy — hours, noise, drainage, materials, obligations — so conditions become queryable across a portfolio
  • Policy passage retrieval rather than whole-document return, with every extracted statement linked back to its source paragraph
  • Language-model extraction constrained to the source document, with any statement that cannot be traced to a passage withheld rather than returned
  • Explicit separation of fact from interpretation in the response schema, so a designation overlap and a view on policy applicability are never presented identically
  • Validation against consultant-reviewed sites, reporting extraction accuracy per document type and per authority
  • Freshness monitoring per authority, because register publication practices vary widely and a stale authority is the main failure mode

What it changes for the business

Screening at scale

Site pipelines can be filtered on real constraints rather than on crude proxies.

Consultant time redeployed

Research hours shift from assembling the position to forming a view on it.

Earlier risk discovery

Flood designation, heritage controls and protected trees surface before money is spent on a site.

Queryable planning history

Extracted conditions make it possible to ask portfolio-level questions that currently require reading.

How it fits into your product

How it embeds

  • Single call by site boundary or address for use inside an appraisal or site-sourcing tool
  • Batch assessment across a site pipeline, with job polling for large screening runs
  • Document extraction endpoint you can point at your own planning documents and decision notices
  • GeoJSON output so constraint layers can be rendered directly in your mapping front end
  • Source and date on every returned item, so a user can always go to the original
  • Deployment inside your environment where site pipelines are commercially sensitive

Included in every build

  • Authentication, scoped API keys and per-customer rate limiting
  • Input validation with predictable, documented error responses
  • Versioned endpoints so your integration never breaks without notice
  • Request and response logging for audit and dispute resolution
  • Latency, error-rate and usage monitoring with alerting
  • OpenAPI specification, sandbox environment and client examples
  • Backups, failover design and a documented recovery procedure
  • An agreed support arrangement once the service is live

How we would build it

about 20 weeks
1

Discovery and feasibility

Weeks 1–3

This one depends heavily on data access, so we start by proving the sources exist, can be licensed for your use, and actually carry the signal the model needs. If they do not, you find out here.

2

Architecture and baseline model

Weeks 4–6

A written architecture and a baseline model measured against a holdout period, so you know what accuracy you are buying before the full build starts.

3

Production build

Weeks 7–16

Data pipelines, model training and serving, historical archive, validation harness, API, security, monitoring and documentation.

4

Validation and integration

Weeks 17–20

Backtesting against held-out history, accuracy reporting your team can audit, integration support and an agreed retraining cadence.

Commercial models

There is no fixed price list, because the cost is driven by data complexity, integration count, model requirements, request volume and the support level you need. Scope is agreed in writing before development starts.

Fixed-scope prototype

A defined slice of the service, built and priced as one piece of work. The usual first step when the business case needs proving internally.

Fixed-price build

An agreed scope against a written architecture, delivered for an agreed price. Best when the requirements are already clear.

Build then retainer

We build the service, then operate and improve it under a monthly agreement covering monitoring, updates and model maintenance.

White-label product

The service runs under your brand, your domain and your pricing, with MLPivot invisible to your customers.

Questions buyers ask

Does this tell us whether permission will be granted?

No, and that is a firm no. Planning outcomes depend on interpretation, consultation responses, officer and committee judgement, and negotiation. The API assembles and structures the factual position and surfaces comparable determinations. Presenting that as a probability of consent would be a false and potentially expensive precision, and we would not build it.

How complete is the coverage?

It varies by authority, substantially. Some publish structured registers and spatial data that make this straightforward; others publish scanned PDFs through a portal with no bulk access. We scope coverage authority by authority during discovery and report a freshness and completeness indicator per authority rather than presenting uneven coverage as uniform.

Where does the data come from, and may you use it?

Planning registers and policy documents are public, but public does not mean unrestricted — bulk collection terms vary by authority, and national mapping and cadastral data normally requires a commercial licence with a real cost. We identify those licences in discovery, including the ones that constrain whether you may show the data to your own customers.

Can it read our own planning documents?

Yes. The extraction endpoint works on documents you supply, which for a developer with a long history of decision notices and conditions is often the most immediately valuable part. Extraction accuracy depends on document quality, and poor scans are returned with low confidence rather than a confident misreading.

How current is the constraint data?

Each item carries its own source and update date, because the layers genuinely differ — a national flood map may be refreshed quarterly while a local tree preservation register is updated when someone remembers. Treating them as uniformly current would be the easiest way to mislead a user.

Want this built for your platform?

Tell us what your product does today and what you want another system to be able to ask it. We will come back with an approach, a scope and a price.