What it does
Planning applications are one of the few public signals that building work is about to happen. The trouble is that every council publishes them on its own portal, with its own search forms and weekly lists, so checking a dozen areas each Monday is a morning's work.
This actor reads the weekly lists from 15 UK council planning portals (all verified Idox portals) and returns them as one dataset: council, application reference, proposal text, site address, status, received and validated dates, and a deep link to the council's own application page. Choose validated for newly accepted applications or decided for fresh decisions, and how many recent weeks to fetch.
Validated applications are a proven lead source for builders, scaffolders, architects and other trades; decisions are useful to developers, land sourcers and analysts. Applicant and agent personal details are deliberately not collected, and the actor is polite to councils at no more than one request per second per portal.
How it works
- You pick councils from the list (or leave it empty for all 15), the list type (validated or decided) and how many weeks back to go.
- For each council the actor opens the portal's weekly list and reads up to 20 result pages, about 200 applications at the usual page size.
- Rows are normalised into one schema with council, reference, proposal, address, status, dates and the application URL.
- If one council portal is down, that council is flagged in the run log and exit message and the run carries on with the rest.
- The run stops at maxResults or your spend limit, and you are charged only for applications delivered.
Input example
A typical run input (JSON). Every field is also available as a form in the Apify console.
{
"councils": [
"leeds",
"bradford",
"york"
],
"weeksBack": 2,
"dateType": "validated",
"maxResults": 500
}All input fields
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
councils | array | no | Which councils to fetch. Leave empty for all 15. Council coverage is listed in the README. | |
weeksBack | integer | no | 1 | How many recent weekly lists to fetch per council (1 = the newest week). |
dateType | string | no | "validated" | 'validated' = newly accepted applications (lead generation). 'decided' = applications with fresh decisions. |
maxResults | integer | no | 500 | Stop after this many applications. You are charged per application: 1,000 = $3.00. If you set a run budget (max total charge), the actor automatically stays inside it. |
Output example
Every application comes back in the same shape whichever council it came from:
| council | reference | proposal | address | status | validatedDate | url |
|---|---|---|---|---|---|---|
| isle-of-wight | 26/00909/TW | T1; Ash - Dismantle to near ground level and replant with tree in keeping with the area… | Land Adjacent To 6 Withyfields Shalfleet Newport Isle Of Wight PO30 4QA | Registered | Fri 03 Jul 2026 | https://publicaccess.iow.gov.uk/online-applications/applicationDetails.do?keyVal=… |
| oxford | 26/01423/FUL | Erection of single storey rear extension and conversion of garage to habitable room | 12 Example Road Oxford OX4 1AB | Registered | Tue 30 Jun 2026 | https://public.oxford.gov.uk/online-applications/applicationDetails.do?keyVal=… |
Pricing
Pay per event: you are charged only for the results you receive, with no subscription. Set a maximum total charge on any run and it stops cleanly at the cap.
| Charged for | When | Price | Per 1,000 | Worked example |
|---|---|---|---|---|
| Planning application | One planning application (reference, address, proposal, status, dates, council) from a UK council portal. | $0.003 | $3 | 1,000 applications = $3.00; a typical single-council week (≈25 applications) = $0.08 |
| Actor Start (platform start fee) | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.00005 | — | One run at up to 1 GB = $0.00005 (charged as one event) |
Prices are read from the live Apify Store listing when this page is built. The listing is always authoritative.
Try UK Planning Applications Scraper on Apify. Pay only for the results you get.
Run on Apify →Use cases
Weekly leads for trades
Schedule a Monday run of validated applications for the councils you cover and send the list to your sales team. Proposal text such as 'erection of single storey rear extension' tells you what the job is, so you can filter for the work you do.
Land and development monitoring
Switch dateType to decided to follow approvals and refusals in your target areas, and keep a history by appending each week's dataset.
Market analysis across councils
Compare application volumes or proposal types across the 15 councils over several weeks to see where activity is picking up.
Alerts on specific sites or streets
Filter the address field for postcodes or roads you care about, for example near a site you own, and get notified when something new is lodged.
How it compares
| ActorForge UK Planning Applications | Checking council portals by hand | Commercial planning data platforms | |
|---|---|---|---|
| Councils in one dataset | 15 | One portal at a time | Usually national |
| National coverage | No, 15 councils | Yes, if you visit every portal | Often yes |
| Validated and decided weekly lists | Yes | Yes | Yes |
| Applicant and agent personal details | Not collected | Shown on some portals | Varies |
| Output | JSON, CSV, Excel via the dataset | Web pages | Platform exports |
| Link back to the official application | Yes, on every row | Yes | Varies |
| Cost | $3 per 1,000 applications | Free, your time | Subscription |
If you need every council in the country, a commercial planning data platform or the portals themselves will reach further. If your patch is covered by the 15 councils here, this is a low-cost way to get clean weekly lists without visiting each portal.
Limits and honest notes
- Covers 15 councils at launch (listed in the input dropdown) — all verified Idox portals; a portal that fails is flagged in the run log and exit message, never silently dropped.
- Each council's weekly list is read up to 20 result pages (about 200 applications at the portals' usual page size), which covers a normal week for most councils; an unusually busy week at a large council can be cut off at that point.
- Weekly-list data as published by each council: reference, proposal, site address, status, received/validated dates, deep link. Applicant and agent personal details are deliberately not collected.
- A council portal outage degrades that council only — the run reports it and continues with the rest.
- Weekly lists roll over on Mondays — early in the week the newest list can be nearly empty. Set weeksBack to 2 if you always want a full week of applications.
- Polite by design: ≤1 request/second per council portal.
- Respects your run budget: set a maximum total charge and the actor stops cleanly at the cap.
FAQ
Which UK councils are covered?
Isle of Wight, Durham, Barnet (London), Leeds, York, Cornwall, Trafford, Gateshead, Bradford, Aberdeen, Aberdeenshire, Sunderland, Southampton, Greater Cambridge and Oxford. Leave councils empty to fetch all 15.
What is the difference between validated and decided applications?
Validated means the council has accepted the application as complete and it is now being considered, which is the lead-generation signal that work may be coming. Decided lists applications that have just received a decision.
Why does my run return very few applications early in the week?
Weekly lists roll over on Mondays, so the newest list can be nearly empty at the start of the week. Set weeksBack to 2 if you always want at least one full week.
Does it include the applicant's name or contact details?
No. Applicant and agent personal details are deliberately not collected. You get the reference, proposal, site address, status, dates and a link to the council's page.
Can a busy council's week be cut off?
Possibly. Each weekly list is read up to 20 result pages, about 200 applications, which covers a normal week for most councils. An unusually busy week at a large council can be truncated at that point.
How much does a weekly run cost?
$0.003 per application. A typical single-council week of about 25 applications costs around $0.08, and 1,000 applications cost $3.00.
Use it from code
Run the actor through the Apify API with the input above.
cURL
curl -X POST "https://api.apify.com/v2/acts/actor-forge~uk-planning-applications/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"councils": ["leeds", "bradford", "york"], "weeksBack": 2, "dateType": "validated", "maxResults": 500}'JavaScript (Node.js)
// Node.js 18+ (built-in fetch). Set APIFY_TOKEN in your environment.
const input = {
"councils": [
"leeds",
"bradford",
"york"
],
"weeksBack": 2,
"dateType": "validated",
"maxResults": 500
};
const res = await fetch(
"https://api.apify.com/v2/acts/actor-forge~uk-planning-applications/run-sync-get-dataset-items",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APIFY_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify(input),
}
);
const items = await res.json();
console.log(items.length, items[0]);Python
# pip install apify-client (set APIFY_TOKEN in your environment)
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
"councils": [
"leeds",
"bradford",
"york"
],
"weeksBack": 2,
"dateType": "validated",
"maxResults": 500
}
run = client.actor("actor-forge/uk-planning-applications").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)The run-sync-get-dataset-items endpoint waits for the run (up to 5 minutes) and returns the dataset rows directly. For longer runs, start the run asynchronously and read the dataset when it finishes, as the Python example does. Replace APIFY_TOKEN with your own token from the Apify console.
Step-by-step guides
How to Use UK Planning Applications as Sales Leads
Pull each council's weekly list of newly validated applications with UK Planning Applications, filter the proposal text for the work you do, and…
Related actors
Companies House Enrichment — UK Company Directors & Filings
Enrich UK companies from the official Companies House API: profile, SIC codes, current and resigned directors and officers, and the latest filing…
$5 per 1,000 · enriched companyBusiness Places Data — Google Maps Alternative, 80M+ POIs
Business leads by city from open Overture Maps data: name, category, address, lat/lon, phone, website, email, socials and brand for 80M+ places…
$3 per 1,000 · area queryTry UK Planning Applications Scraper on Apify. Pay only for the results you get.
Run on Apify →