- Data
- MCP server
- Planning
- Planning authority for a location
Planning authority for a location
planning_applicationsThe local planning authority for a postcode or coordinate and the URL of its planning portal; where to look for applications, since council portals are not machine-readable. Free.
Same call over REST
Planning applications/v1/planning/applicationsNot connected yet? Connect your assistant. Sign in with your MarketCode account; no API key needed.
Reference
What planning_applications answers
This tool answers where, not what. Give a location and it returns the local planning authority responsible for it and the address of that authority's planning portal, where the applications, decisions and appeals for the site are published. It does not return the applications themselves: council portals are built for people, differ from one authority to the next and are not machine-readable, and MarketCode does not scrape them.
It is free, and it is paired with planning_designations, which returns the constraints that shape what an application at that location can hope to achieve.
The full description, as the assistant reads it
Give either postcode or location as "lat,lng". UK only.
Reference
When to use it, and when not to
Use it as the first step of application research: it tells you which authority to search and gives you the link. Run planning_designations alongside it for the constraints; run site_appraisal when the question is a site rather than an address, since the dossier carries the live designation checks and the parcel. Where a boundary is uncertain, area_resolve returns the hierarchy a place sits in.
Inputs
Before you call it
Give either postcode (a full UK postcode) or location as "lat,lng". A postcode is placed at its centroid, which is fine for the authority in almost every case; a coordinate from address_resolve is exact for the rare address on a boundary.
- postcode
- The postcode must be a full UK postcode ("SE22 8HN"), not a district. Where a tool works at district grain it truncates the postcode itself.
- location
- Coordinates are WGS84 latitude and longitude, the order a map gives them. A postcode is accepted wherever
locationis, and is usually the easier input.
Example
An example call to planning_applications
Use the MarketCode tool planning_applications with {"postcode":"SE22 8HN"} and show me the result.{
"country": "UK",
"query": {
"postcode": "SE22 8HN"
},
"data": {
"data": {
"postcode": "SE22 8HN",
"lpa_name": "Southwark",
"planning_search_url": "https://planning.southwark.gov.uk/online-applications/search.do?action=advanced",
"applications": [
{
"reference": "17/AP/2957",
"address": "16A 16A LORDSHIP LANE SE22 8HN",
"proposal": "Conversion of upper floors of building from a 5-bed flat to create 1 x 2-bed flat and 1 x 3-bed flat, including construction of a rear dormer roof extension an…",
"status": "Completed",
"decision": "Approved",
"received_date": null,
"decided_date": null,
"url": null,
"lpa_code": "SWK",
"application_type": "Full planning permission",
"distance_m": 1.9,
"source": "gla_datahub"
},
{
"reference": "23/AP/0833",
"address": "16 Lordship Lane SE22 8HN",
"proposal": "Replacement of existing timber shopfront with glass and steel frame shopfront.\r",
"status": "Approved",
"decision": "Approved",
"received_date": null,
"decided_date": null,
"url": null,
"lpa_code": "SWK",
"application_type": "Full planning permission",
"distance_m": 2.3,
"source": "gla_datahub"
},
{
"reference": "23/AP/1974",
"address": "18 Flat B Lordship Lane SE22 8HN",
"proposal": "Rear dormer roof extension and roof lights to the front roof slope.",
"status": "Approved",
"decision": "Approved",
"received_date": null,
"decided_date": null,
"url": null,
"lpa_code": "SWK",
"application_type": "Full planning permission",
"distance_m": 2.7,
"source": "gla_datahub"
},
"… 17 more"
],
"result_count": 20,
"source": "warehouse",
"execution_time_ms": 288.8226509094238
}
},
"credits_charged": 0
}A real response, captured from production and trimmed: arrays to three items, long strings shortened, volatile keys dropped.
Inputs
Arguments planning_applications takes
| Name | Type | Required | Description |
|---|---|---|---|
| postcode | string | No | |
| location | string | No |
Response
What comes back
| Field | Type | Example |
|---|---|---|
| country | string | UK |
| query | object | |
| query.postcode | string | SE22 8HN |
| data | object | |
| data.data | object | |
| data.data.postcode | string | SE22 8HN |
| data.data.lpa_name | string | Southwark |
| data.data.planning_search_url | string | https://planning.southwark.gov.uk/online-applica |
| data.data.applications | array | |
| data.data.applications[].reference | string | 17/AP/2957 |
| data.data.applications[].address | string | 16A 16A LORDSHIP LANE SE22 8HN |
| data.data.applications[].proposal | string | Conversion of upper floors of building from a 5- |
| data.data.applications[].status | string | Completed |
| data.data.applications[].decision | string | Approved |
| data.data.applications[].received_date | null | |
| data.data.applications[].decided_date | null | |
| data.data.applications[].url | null | |
| data.data.applications[].lpa_code | string | SWK |
| data.data.applications[].application_type | string | Full planning permission |
| data.data.applications[].distance_m | number | 1.9 |
| data.data.applications[].source | string | gla_datahub |
| data.data.result_count | integer | 20 |
| data.data.source | string | warehouse |
| data.data.execution_time_ms | number | 288.8226509094238 |
| credits_charged | integer | 0 |
Fields observed in the example response above; a field the example did not exercise is not listed.
Reference
Things that catch people out
- It is the authority, not the history. If you want thirty years of applications in a database, that is a different product; the compare pages say which. This tool gets you to the right portal in one call.
- National parks and some development corporations are planning authorities. A location inside a national park may return the park authority rather than the district council, correctly.
- England only. planning.data.gov.uk covers England. Welsh and Scottish authorities are not returned.
Usage
How to run planning_applications in your assistant
Ask your assistant in plain English, for example:
"Use the MarketCode tool planning_applications for <address or area>.
Show the result and the credits charged."
The arguments the assistant will send, for the example on this page:
{"postcode":"SE22 8HN"}The connect steps for Claude, ChatGPT, Codex, Cursor and Claude Code are on the MCP page.
Skills
Skills that use planning_applications
- Due diligence report: A property due diligence report: title and ownership, history, EPC and council tax, flood and designations, nearby activity, cross-source disagreements and the cross-reference findings that join them, with a traffic light.
- Deal analysis: A first-pass appraisal of a site or asset: plot utilisation, planning position, market evidence, value and a residual against the cost assumptions you supply.
- Planning check: Every designation and constraint at an address, recent applications nearby and the flood position, laid out the way a planner reads them.
Price and licence
What it costs, and where the data comes from
planning_applications is free over MCP and over REST, and the two surfaces share one credit balance. Free calls need a signed-in account or an API key and appear in your usage, but they never touch your balance.
Credits are granted on sign-up and bought in packs; the pricing page lists every call.
Sources
- planning.data.gov.uk
National planning designations and the local planning authority register
Open Government Licence v3 · England
Related
Tools used with planning_applications
- Planning designations at a locationFree
planning_designationsEvery planning designation affecting a location, in one call: conservationPairs with this - Site appraisal dossier5 credits
site_appraisalEverything known about ONE site, assembled and judged — the site dossier.Pairs with this - Resolve an area nameFree
area_resolveResolve an area name or code ("Hackney", "E5") to its area_id, centroidPairs with this - Chosen planning designation checksFree
planning_checkThe planning designation checks you choose, for one location, in one call. `checks` is any of: article_4, brownfield, ancient_woodland, heritage_at_risk, tpo, aqma, scheduled_monument, sssi, agricultural_land, flood_risk, green_belt, listed_buildings, aonb, national_park, conservation_area — omit it for all fifteen. Each check reports its own result, and one that could not be read says `status: unknown` rather than disappearing. Use `planning_designations` for the fixed bundle of thirteen; use this when you need SSSI or agricultural land grade, or only two or three checks. Give either `postcode` or `location` as "lat,lng". UK only.Same category - Approval rate and decision time nearby2 credits
planning_precedentsWhat happened to applications like this one nearby — the planning precedent record. Give a point (`lat`/`lon`) or an `lpa_code`, optionally narrowed by `application_types` (substrings of the authority's own type labels, e.g. ["Householder"]).Same category - Planning history at a property1 credit
property_planning_historyPlanning history AT this property: applications linked to the unit or its building — each with decision, dates, appeal, CIL liability, development type and `match_level` (`unit`, `building`, or `nearby` within 25 m when nothing is linked) — a summary (approved / refused / withdrawn / pending), what needs consent here from the designation flags read three-valued (`applies` against `unchecked`), the LPA, and `coverage`: official planning data covers the 33 London boroughs today, so `status: not_covered` outside London is a different answer from `no_applications`, and is not charged. UK only.Same category
FAQ
Questions about planning_applications
How much does `planning_applications` cost?
+
planning_applications is free over MCP and over REST, and the two surfaces share one credit balance. Free calls need a signed-in account or an API key and appear in your usage, but they never touch your balance.
Which assistants can run `planning_applications`?
+
Any MCP client: Claude (claude.ai, Claude Desktop, Claude Code), ChatGPT in developer mode, Codex and Cursor, each documented on the MCP page. You sign in with your MarketCode account over OAuth; there is no key to paste, and the connection is read-only.
Where does the data come from?
+
Read from planning.data.gov.uk. Coverage is England (planning.data.gov.uk).
Does `planning_applications` change anything?
+
No. The tool is annotated read-only on the server, so it never writes to your data or ours and an assistant can call it without a confirmation step.
Why does MarketCode not return the applications?
+
Because the applications live on more than three hundred council portals with no common machine-readable interface, and scraping them is fragile, slow and frequently against the portal's terms. The tool tells you where to look; the designations tool tells you what constrains the answer.
Can an assistant read the portal for me?
+
An assistant with web browsing can open the portal URL this tool returns and read it, as a person would. The MarketCode tools do not do that on its behalf.
How does this relate to the site dossier?
+
site_appraisal returns the parcel, the valuation, the ownership, the energy position, the auction history and the live designation checks for a site, with a signals block that says what fired. The authority and portal from this tool are where you take the dossier next.
Try planning_applications in your assistant.
30-minute call. We'll connect your assistant live on a real address.