Planning data

Planning applications, with the licence attached.

One normalised record per application, with source provenance and an authority-by-authority account of what HomeRadar can legally serve. Coverage is published openly, including the gaps.

Coverage beta. API access is restricted to sources that pass the release gate. Collection and rights review are reported separately in the automatically refreshed manifest below.

Three things most planning data does not give you.

Per-field licensing

Every exposed field must retain its approved licence and source policy. Restricted fields are absent, not quietly included.

Honest coverage

The manifest shows the route, reliable date range, last collection and release status for every discovered source.

Operational freshness

Council coverage and ingestion history expose when data was last checked, last collected and when it is due again.

Response contract

One record shape, everywhere.

The current API returns the application, council, site, source, dates, decision, development evidence, appeal state and freshness in a stable shape. Fields unavailable from a cleared source remain null or absent; they are never estimated.

GET/api/v1/applicationsSearch by council, postcode, outcome, type, text and received-date range.
GET/api/v1/applications/nearbyReturn records around latitude and longitude with a measured distance.
GET/api/v1/applications/:idRetrieve one application by its HomeRadar record ID.
GET/api/v1/applications/ref/:council/:referenceRetrieve one record using the published council reference.
GET/api/v1/councils/coverageInspect authority coverage tier, source health and due dates.
GET/api/v1/sources/coverageInspect source route, temporal depth, licence and API eligibility.
GET/api/v1/ingestion-runsAudit collection runs, records processed, failures and timestamps.
POST/api/v1/property/flagsBatch-check postcodes for planning history and evidence-backed outcomes.
GET/api/v1/analytics/outcomesCompare historical outcomes with minimum samples, uncertainty and related-submission signals.

Illustrative response shape · fields appear only when the source publishes them and its policy permits API use

GET /api/v1/applications/nearby?lat=53.9599&lng=-1.0873&radius_km=0.25&limit=25
Authorization: Bearer hr_live_...

{
  "data": [{
    "id": "184290",
    "stableId": "city-of-york-council-24-00871-ful",
    "council": {
      "id": "city-of-york-council",
      "name": "City of York Council",
      "code": "E06000014"
    },
    "reference": "24/00871/FUL",
    "alternativeReference": null,
    "source": {
      "name": "york_arcgis_open_data",
      "type": "arcgis_feature_layer",
      "recordId": "87124",
      "url": "https://planningaccess.york.gov.uk/...",
      "documentsUrl": "https://planningaccess.york.gov.uk/...",
      "lastUpdated": "2026-08-29T18:42:00Z",
      "lastScrapedAt": "2026-08-30T04:12:00Z",
      "ageHours": 5.8
    },
    "site": {
      "address": "12 Example Street, York, YO1 7HF",
      "postcode": "YO1 7HF",
      "postcodeSector": "YO1 7",
      "latitude": 53.96042,
      "longitude": -1.08671
    },
    "category": "Householder",
    "applicationType": "FUL",
    "applicationTypeFull": "Full planning permission",
    "proposalSubtype": "rear_extension",
    "description": "Single storey rear extension",
    "status": "Application permitted",
    "decision": "Approve",
    "decisionOutcome": "approved",
    "dates": {
      "received": "2026-03-14",
      "validated": "2026-03-21",
      "decided": "2026-05-16",
      "application": "2026-03-14",
      "applicationSource": "received",
      "decisionDays": 63
    },
    "documents": [],
    "decisionConditions": [],
    "applicationDetails": {},
    "developmentDetails": {
      "siteArea": null,
      "totalGiaExisting": null,
      "totalGiaGained": 18.4,
      "totalGiaLost": 0,
      "projectedCostOfWorks": null,
      "ownershipStatus": null,
      "phasingDetails": [],
      "existingProposedFloorspaceDetails": [],
      "infrastructureDetails": {}
    },
    "appeal": { "status": null, "decision": null },
    "freshness": {
      "importedAt": "2026-08-30T04:12:00Z",
      "updatedAt": "2026-08-30T04:12:00Z"
    },
    "distanceKm": 0.08
  }],
  "meta": {
    "lat": 53.9599,
    "lng": -1.0873,
    "radiusKm": 0.25,
    "limit": 25,
    "totalReturned": 1
  }
}

Not claimed yet: UPRN and polygon-level property_matches are not part of the current v1 response. Nearby search currently uses coordinates and returns distanceKm. Those fields will only appear here after the property-linking engine serves and tests them.

Coverage manifest

Collection is not the same as API access.

Production registryLatest evidence: 4 Oct 2026, 23:57 UTC

See which councils we track, where collection has been recorded, and which sources have passed the API release checks. The registry includes current and legacy authorities; it is not a count of current UK councils or a national coverage claim.

408Authorities trackedEntries in the council registry
Not suppliedCollection recordedCouncils with a successful collection timestamp
2Councils with API-cleared sourcesAt least one source passes the release gate
0API-readable recordsRecords in the restricted API projection

24 policy-ledger sources · 21 uncleared authorities with sources under rights review. The policy ledger is not a count of every collection route.

A recorded collection does not confirm complete history, current freshness or permission to redistribute. A missing collection timestamp does not prove no records are held, including records imported through shared feeds. A discovery date is not a collection date. HomeRadar does not infer coverage from the oldest imported record. Snapshots refresh every five minutes while this page is open; refresh manually for a new check.

0 councils shown

The current feed supplies source policies but not council-level collection status. The detailed council feed is awaiting its backend update; no collection figures are inferred.

Not assessed no matched policy-ledger sourceRights review redistribution clearance not confirmedRelease checks pending legal review alone does not release recordsRestricted recorded policy blocks API access

Licensing

Why fields go missing.

Coordinates and UPRNs published by councils may be derived from restricted Ordnance Survey data. HomeRadar does not assume the council can grant commercial reuse. Restricted equivalents are omitted and open spatial sources are assessed separately.

Current release gate

A source must have an approved policy, legal review and field-level API permission before any record reaches customers.

Field provenance

Every non-null field is tied to the reviewed source policy used to serve it.

Personal information

Applicant names, agent contacts, comments, representations and signatures are not included in the public contract.

Pricing

Pricing opens when coverage earns it.

Paid API prices are not yet published. Coverage clearance does not itself issue an API key or open billing. HomeRadar consumer subscriptions, including Pro, do not include API access, usage quota or an API key.

Evaluation

Planned freeOpens with first cleared coverage
  • Low request cap
  • Full response contract
  • Only cleared authorities

Developer

Not yet setSingle application
  • Higher request cap
  • Email support

Production

Not yet setLive products
  • Volume access
  • Freshness commitments

Bulk

Not yet setLicensed delivery
  • Snapshot delivery
  • Evidence pack