Skip to content

UK Planning Applications Scraper

Try for free

Scrape UK planning applications from 400+ councils in England, Scotland, Wales and Northern Ireland. Search by council, region, postcode radius, reference, keyword or agent; filter by size, status, type and date. Get address, description, decision, dates, agent, dwellings, coordinates and council portal links.

🏗️ UK Planning Applications Scraper

Get planning applications from 400+ UK planning authorities in England, Scotland, Wales and Northern Ireland in one structured dataset: site address, proposal, size, decision, dates, planning agent, dwellings, coordinates and a direct link to the council's own portal page. Search by council, region, postcode radius, reference, keyword or agent. No login, no API key, pay only for the applications you get.

✨ Why use UK Planning Applications Scraper?

  • 🇬🇧 Whole-UK coverage — every council PlanIt tracks, plus regions ("London", "Scotland"), counties with their districts ("Kent") and national parks.
  • 📍 Postcode radius that works — results within any distance of a postcode or coordinates, nearest first, with the distance in km.
  • ⚡ Fast — one request returns up to 300 applications and several councils are searched in parallel, so typical runs finish in seconds.
  • 🎯 Precise filters — size (major developments), decision status, application type, description keywords, agent or applicant company, and any date range on decision, received or last-updated date.
  • 🧾 50+ fields per application — the council's decision text, case dates, ward, documents and comment counts, constraints, permission expiry and portal links, with PlanIt's "See source" placeholders removed.
  • 💷 Pay per result — no subscription; you pay only for applications saved.

🎯 Use cases

  • 🧱 Construction and trades lead generation — find newly permitted major developments and contact the planning agent before work starts.
  • 🏢 Building products suppliers — track large housing schemes (with dwelling counts) in your sales territory.
  • 🏘️ Property developers and land agents — monitor decisions, refusals and appeals around a site or across a region.
  • 📐 Architects and planning consultants — benchmark competitors' applications by searching their company name in the agent field.
  • 📊 Research and journalism — analyse housing supply, approval rates and decision times by council.
  • 🔔 Monitoring — schedule a weekly run for "last updated in the past 7 days" and catch every change in your area.

🚀 How to use

  1. Enter one or more councils or regions (e.g. Croydon, Leeds, London), or a postcode with a radius, or both. Leave both empty to search the whole UK.
  2. Optionally add filters: size, status, type, keywords, agent company, days back or a date range.
  3. Set Max results (0 = every matching application).
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
councilsCouncils, regions, counties or national parks. Empty = whole UK.
postcode / radiusKmRadius search around a UK postcode or latitude, longitude, nearest first.
referencesSpecific applications by council reference or planit.org.uk link (the run then returns only those).
maxResultsTotal applications to save (0 = all).
searchTextWords in the description; supports "phrases", or and -exclude.
developerWords in the agent or applicant company and address.
appSize, appState, appTypesSize band, decision status and application type.
dateField, daysBack, dateFrom, dateToWhich date to filter on and the window.
maxResultsPerCouncil, includeSubAreasPer-council cap; whether regions and counties include their councils.
{
  "councils": ["Croydon", "Manchester"],
  "appSize": ["Large", "Medium"],
  "appState": ["Permitted"],
  "daysBack": 90,
  "maxResults": 20
}

Radius search for major schemes awaiting a decision:

{
  "postcode": "EC2A 4NE",
  "radiusKm": 3,
  "appSize": ["Large"],
  "appState": ["Undecided"],
  "daysBack": 180,
  "maxResults": 100
}

📤 Output

One row per planning application.

FieldDescription
council, referencePlanning authority and its application reference
address, postcode, latitude, longitudeSite location (distanceKm on radius searches)
descriptionThe proposal
appSize, appState, appTypeSize band, decision status, type
decidedDate, startDateDecision date and date received or validated
agentCompany, agentAddress, agentTelPlanning agent, where the council publishes it
applicantCompany, applicantAddressApplicant, where published
dwellingsProposed homes, where stated
portalUrl, docsUrl, commentUrlThe council's own pages for the application
planitUrl, planitIdThe PlanIt record
decision, decidedBy, status, applicationTypeThe council's own wording
targetDecisionDate, permissionExpiresDate, wardName, nDocuments, nComments, ...Every other field the council publishes

Example (trimmed):

{
  "council": "Croydon",
  "reference": "26/01598/GPDO",
  "address": "2 - 8 Altyre Road Croydon CR9 2LG",
  "postcode": "CR9 2LG",
  "description": "Change of use from commercial (Use Class E) to residential (Use Class C3) to provide 112 flats under Schedule 2, Part 3, Class MA ... and associated works.",
  "appType": "Outline",
  "appSize": "Large",
  "appState": "Permitted",
  "decidedDate": "2026-09-03",
  "startDate": "2026-06-02",
  "agentCompany": "Brooks Murray Architects",
  "agentAddress": "41 Tabernacle Street London EC2A 4AA GB",
  "dwellings": 112,
  "latitude": 51.374426,
  "longitude": -0.092161,
  "portalUrl": "https://publicaccess3.croydon.gov.uk/online-applications/applicationDetails.do?keyVal=TFZRRHJLMKD00&activeTab=summary",
  "planitUrl": "https://www.planit.org.uk/planapplic/Croydon/26/01598/GPDO/",
  "planitId": "Croydon/26/01598/GPDO",
  "decision": "Approved (prior approvals only)",
  "decidedBy": "Delegated Business Meeting",
  "applicationType": "Prior Appvl - Class E to (dwellings) C3",
  "wardName": "Addiscombe West",
  "targetDecisionDate": "2026-07-29",
  "permissionExpiresDate": "2031-09-03",
  "nDocuments": 108,
  "nComments": 10,
  "docsUrl": "https://publicaccess3.croydon.gov.uk/online-applications/applicationDetails.do?activeTab=documents&keyVal=TFZRRHJLMKD00",
  "scrapedAt": "2026-10-22T00:40:52.727Z"
}

💰 Pricing

You pay $15.00 per 1,000 applications ($0.015 per application saved), plus a small platform usage charge for compute and proxy traffic. Example: 1,000 applications cost about $15.00 in results plus well under $0.01 of usage (a 1,000-application test run used $0.003). Searches that find nothing cost nothing for results. Set a maximum charge per run and the scraper stops cleanly when it is reached.

❓ FAQ

Is it legal? Planning registers are public records that councils publish by law. The data comes from PlanIt, a free aggregator of those registers. Check your own use (for example, direct marketing rules) before contacting people.

Do I need a login, API key or proxy? No. The scraper uses datacenter proxies by default and moves to UK residential addresses by itself if PlanIt refuses requests.

How many results can I get? As many as match: set Max results to 0 for all. Large searches page through PlanIt until the end; very wide date windows are split automatically so PlanIt's 45-second query limit is not hit.

Why do very large runs take longer? PlanIt is a free service and limits how fast one user can download. The scraper fetches the first ~2,400 applications straight away, then paces itself and waits whenever PlanIt asks it to. In our test 7,500 applications took about half an hour before PlanIt asked for a 15-minute pause, so allow roughly an hour for 10,000. The default run timeout is 2 hours, and the scraper stops cleanly before the timeout with everything found so far saved.

Why is a field empty? Councils publish different fields. Agent company appears on about 30–40% of applications and agent address on about half, applicant names are not copied by PlanIt (open portalUrl for them), and some councils do not publish postcodes or dwelling counts.

Which council names work? Short names (Croydon), full names (London Borough of Croydon), PlanIt area ids, regions (London, North West), nations (Scotland) and national parks. Unknown names are skipped with suggestions in the run log.

Can I schedule it or use the API? Yes. Schedule weekly runs with dateField: "changed" and daysBack: 7 to get every new or updated application, and read results through the API or integrations.

⚠️ Limits

  • Coverage and freshness follow PlanIt: a council PlanIt cannot currently read (a "stale" area) returns no new applications.
  • Applicant and agent personal names and case officers are not in PlanIt's data; the council portal link has them.
  • Size and status bands (Large, Permitted, ...) are PlanIt's classification of each council's wording; the council's own text is in decision and status.
  • Description keyword search uses PlanIt's syntax (phrases in quotes, or, -word).
  • Very large downloads are paced by PlanIt's own limits (see the FAQ): plan about an hour for 10,000 applications.
  • Radius searches are answered more slowly by PlanIt than council searches (typically 10–60 seconds). When PlanIt cannot sort a large circle by distance in time, the run returns the same circle newest first instead.

Related actors

//From the blog\\

Latest articles

All articles
G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.