UK Planning Constraints Checker
Pricing
from $2.55 / 1,000 planning constraint screen completeds
UK Planning Constraints Checker
Screen buyer-supplied sites against six fixed Planning Data datasets and return attributed factual entities with explicit caveats.
Pricing
from $2.55 / 1,000 planning constraint screen completeds
Rating
0.0
(0)
Developer
Tim Zinin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Screen one to ten declared sites in England against six fixed official Planning Data datasets. The Actor returns attributed factual constraint rows and one explicit, caveated summary for every completed site. It does not claim that a site is clear, buildable, complete, valuable, or suitable for development.

What you get
- Six fixed official datasets: conservation areas, listed buildings, green belt, flood-risk zones, Article 4 direction areas, and tree-preservation zones.
- Two precise selector modes: a WGS84 latitude/longitude pair or a numeric UPRN. Buyer-controlled URLs, dataset names, fields, query fragments, and geometries are not accepted.
- Attributed factual rows: each
CONSTRAINTrow carries the dataset-specific official rights notice, source endpoint, entity identity, name/reference, position, and deterministic fingerprint. - One summary per completed site:
SITE_SUMMARYseparates returned, retained, and delivered counts; records truncation andnoneReturned; lists all six dataset attributions; and repeats the non-advice and coverage caveats. - Delivery-first billing: the complete ordered Dataset batch is stored before one
result-foundis confirmed for each completed site.
Use the Actor for bounded property-research context, campaign fact-checking, regeneration briefs, and routing sites to specialist review. It is not a planning search, professional opinion, planning decision, or substitute for local-authority and specialist due diligence.
Who it is for
- Property marketers who need source-labelled facts before drafting site or area copy.
- Development and regeneration teams triaging declared sites for further review.
- Analysts adding repeatable official-source context to a CRM, spreadsheet, or warehouse.
- Automation builders sending caveated screening results to Make, n8n, or an internal workflow.
Quick start
The release Task is named screen-uk-planning-constraints. Its one-site example screens a Westminster coordinate and has a FREE-tier maximum of $0.012000: one start plus one completed-site result.
{"sites": [{"siteId": "westminster-1","latitude": 51.5074,"longitude": -0.1278}],"maxConstraintsPerSite": 100,"includeConstraintDetails": true,"inputLabel": "London planning screen","acknowledgeScreeningOnly": true}
Replace the example site, retain acknowledgeScreeningOnly: true, choose a maximum charge, and consume the Dataset only after the Run reports SUCCEEDED.
For a UPRN, replace the coordinate pair with one non-zero-padded string:
{"sites": [{"siteId": "uprn-site-1","uprn": "100023336956"}],"maxConstraintsPerSite": 100,"includeConstraintDetails": true,"inputLabel": "Authorized UPRN screen","acknowledgeScreeningOnly": true}
Input reference
| Field | Required | Limits | Meaning |
|---|---|---|---|
sites | Yes | 1–10 unique closed objects | Each site has a unique siteId and exactly one selector mode: coordinate pair or UPRN. |
sites[].siteId | Yes | 1–40 ASCII characters | Correlation ID matching [A-Za-z0-9][A-Za-z0-9._-]*; returned in output. |
sites[].latitude | Coordinate mode | 49.8 to 60.9, at most 6 decimals | WGS84 latitude sent only to the fixed Planning Data endpoint. |
sites[].longitude | Coordinate mode | -8.7 to 2.1, at most 6 decimals | WGS84 longitude supplied together with latitude. |
sites[].uprn | UPRN mode | 1–12 digits, no leading zero | Numeric UPRN string supplied instead of coordinates. |
maxConstraintsPerSite | Yes | Integer 1–100 | Deterministic retained detail-row ceiling for each site. |
includeConstraintDetails | Yes | Boolean | Include retained CONSTRAINT rows; the summary is always delivered. |
inputLabel | Yes | 0–80 safe characters | Non-sensitive correlation label. It is neither sent to Planning Data nor copied to output. |
acknowledgeScreeningOnly | Yes | Must be true | Confirms the early-screening and coverage boundary. |
Unknown fields, mixed selectors, duplicate site IDs, formula-leading or control-containing labels, over-precise coordinates, and malformed UPRNs reject before source access or Dataset delivery.
How it works
- The Actor validates the complete closed Input and its 65,536-byte ceiling.
- It checks pricing, the existing
result-foundcounter, and capacity for every requested site before making a source request. - For each site, it calls only
https://www.planning.data.gov.uk/entity.jsonwith the six fixed dataset slugs and the four fixed factual fields. Redirects and compressed responses are rejected. - Every source response is byte-bounded, parsed as strict UTF-8 JSON, shape-validated, deduplicated, normalized, and sorted in the fixed dataset/entity order.
- All sites must validate before the first write. The Actor then creates zero to 100 retained
CONSTRAINTrows plus oneSITE_SUMMARYper site and stores one complete ordered Dataset batch. - Only after that write succeeds does it confirm exactly one
result-foundfor each completed site. A failed source or Dataset write creates no named result charge.
There is no browser, proxy, crawler, geocoder, LLM, arbitrary URL fetch, owner/contact inference, or planning submission.

Output Dataset
The default Dataset contains each site's optional detail rows followed by its mandatory summary. This factual row comes from the production Westminster example:
{"rowType": "CONSTRAINT","schemaVersion": "1.0","siteId": "westminster-1","source": "planning-data-gov-uk","sourceEndpoint": "https://www.planning.data.gov.uk/entity.json","sourceAttribution": "© Historic England 2026. Contains Ordnance Survey data © Crown copyright and database right 2026. The Historic England GIS Data contained in this material was obtained on 2026-09-01. The most publicly available up to date Historic England GIS Data can be obtained from HistoricEngland.org.uk. Licensed under the Open Government Licence v3.0.","coverageCaveat": "Planning Data coverage varies by dataset and area; no returned entity does not prove that no constraint exists.","dataset": "conservation-area","entityId": 44002870,"name": "Trafalgar Square","reference": "CONARA/1300","constraintPosition": 1,"sourceEntityCount": 3,"siteTruncated": false,"rowFingerprint": "2b2a0fd9bc861d59681737726357df3830f321b48f4ef726217dcd4540f8e423"}
The final SITE_SUMMARY includes queryType, checkedDatasets, all six sourceAttributions, sourceEntityCount, retainedConstraintCount, deliveredDetailCount, includeConstraintDetails, noneReturned, truncated, checkedAt, adviceCaveat, and a deterministic reportId. Coordinates, UPRNs, and inputLabel are never copied to Dataset rows.
Row interpretation
sourceEntityCountis the validated count returned in the bounded source response, up to 101.retainedConstraintCountappliesmaxConstraintsPerSite;deliveredDetailCountis zero when details are disabled.siteTruncated/truncatedbecomes true when the source reaches its 101-row detection boundary or the retained ceiling removes facts.noneReturned: truemeans only that this exact bounded request returned no matching entity. It does not mean clear, unconstrained, complete, or safe.rowFingerprintidentifies normalized entity facts.reportIdidentifies the normalized factual summary scope; neither is a professional conclusion.checkedAtand Historic England's “obtained on” date describe this run's source acquisition, not a guarantee that every provider dataset was refreshed that day.
Pricing
Pay Per Event uses the automatic Actor Start event and one primary result-found per completed site summary. Constraint detail rows are included in that site unit and are not charged separately. A completed noneReturned summary is still a paid screen because the official request, validation, attribution, and summary were delivered.
| Tier | Actor Start | Completed site | One-site Task total | Ten-site maximum |
|---|---|---|---|---|
| FREE | $0.009000 | $0.003000 | $0.012000 | $0.039000 |
| BRONZE | $0.008550 | $0.002850 | $0.011400 | $0.037050 |
| SILVER | $0.008100 | $0.002700 | $0.010800 | $0.035100 |
| GOLD | $0.007650 | $0.002550 | $0.010200 | $0.033150 |
| PLATINUM | $0.007380 | $0.002460 | $0.009840 | $0.031980 |
| DIAMOND | $0.007200 | $0.002400 | $0.009600 | $0.031200 |
Invalid Input, a pricing/budget mismatch, source failure, or failed Dataset delivery creates no result-found. The platform's automatic Actor Start charge can still apply.
API and automation
Run the Actor directly and wait for a terminal status:
curl -X POST \'https://api.apify.com/v2/acts/zinin~uk-planning-constraints-checker/runs?token=APIFY_TOKEN&waitForFinish=180' \-H 'Content-Type: application/json' \--data-binary @input.json
Or run the release Task with its validated prefill:
curl -X POST \'https://api.apify.com/v2/actor-tasks/zinin~screen-uk-planning-constraints/runs?token=APIFY_TOKEN&waitForFinish=180'
Read defaultDatasetId only from a SUCCEEDED Run, then request https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true. Before retrying a timed-out client request, inspect the original Run so a completed paid screen is not duplicated.
Make: use Apify's “Run an Actor or Task” module, map the five top-level fields, wait for completion, and retrieve Dataset items. Route noneReturned: true, truncated: true, and failed Runs to human review instead of turning them into site claims.
n8n: use an HTTP Request node to start the Task with waitForFinish=180, an IF node requiring status === "SUCCEEDED", and a second HTTP Request node for the default Dataset. Preserve attribution and caveat fields in every downstream record.
Source rights and attribution
The Actor uses the official Planning Data service for England. The current dataset pages are:
- Conservation area
- Listed building
- Green belt
- Flood-risk zone
- Article 4 direction area
- Tree-preservation zone
Every delivered detail row carries the notice required for its dataset. Conservation-area and listed-building rows include Historic England, Ordnance Survey, acquisition-date, freshness-location, and Open Government Licence v3.0 text. Green-belt rows include the OS OpenData licence, Ordnance Survey Crown/database notice, and OGL text. Flood-risk, Article 4, and tree-preservation rows include the Crown/database notice and OGL text. Each site summary preserves all six dataset-to-attribution mappings.
The Actor does not grant rights beyond the cited source terms. Source availability, provider coverage, update timing, and completeness vary by dataset and area.
Security and data handling
- The Actor runs with
LIMITED_PERMISSIONSand accepts no source URL, credential, cookie, proxy, custom dataset, query fragment, or executable content. - Coordinates or UPRNs are sent only to the fixed Planning Data endpoint.
inputLabelis not sent. Redirects, HTML, compression ambiguity, oversized bodies, unknown datasets, and unsafe source strings fail closed. - Apify persists original Input—including selectors and label—in the run's default Key-Value Store under your account permissions and retention settings. Delivered rows remain in the default Dataset.
- Do not submit personal data, contacts, credentials, confidential prose, or sites you are not authorized to screen. Delete run storage or apply your account retention policy when the record is no longer required.
- Runtime logs contain only fixed counters and error codes, not coordinates, UPRNs, labels, source bodies, or returned entities.
Hard limits
- 1–10 sites per Run; one fixed source request per site.
- 100 retained detail rows plus one summary per site; at most 1,010 Dataset rows.
- 65,536-byte Input ceiling; 2,097,152 source bytes per site; 20,971,520 source bytes per Run; 4,194,304-byte complete output ceiling.
- Six-second source timeout, zero redirects, zero retries, identity encoding only.
- 128 MB memory and 180-second Run timeout.
- England only, through the six exact Planning Data datasets listed above.
Limits and interpretation
- The source can omit, duplicate, lag, or vary by provider and geography. No returned entity is not proof that no constraint exists.
- Results do not establish legal status, planning permission, buildability, compliance, environmental safety, insurability, value, ownership, or investment suitability.
- A coordinate or UPRN lookup is not a title search, local land charge search, flood assessment, survey, valuation, or professional planning review.
- The Actor does not determine whether a returned entity intersects a legal parcel boundary beyond what the official endpoint returns for the declared selector.
- Names and references are source facts, not Actor-generated advice. Formula-leading source text is neutralized for safer tabular export.
- Live official data may change between Runs, so compare timestamps and preserve the delivered attribution when retaining results.
Troubleshooting
- Input is rejected: provide every top-level field, use exactly one selector mode per site, remove extra fields, and keep
acknowledgeScreeningOnlytrue. - A coordinate is rejected: use JSON numbers within the documented bounds and no more than six decimal places; do not use strings, exponents, or negative zero.
- A UPRN is rejected: use a 1–12 digit string without spaces or leading zeroes.
- The Run reports a source error: inspect Planning Data availability and start a new Run later. The Actor does not silently redirect or retry.
- Only a summary appears: either no source entity was returned or
includeConstraintDetailswas false; inspect the summary counts and flags. - A site is truncated: reduce scope outside this Actor or perform authoritative specialist checks; never interpret the retained subset as complete.
FAQ
Does the Actor need a Planning Data API key? No. It uses the public fixed endpoint.
Does noneReturned mean there are no constraints? No. It means only that this bounded six-dataset request returned no matching entity.
Why is a zero-entity site charged? One paid unit is the complete site screen and its attributed summary, not an individual constraint row.
Can I choose other datasets or send a polygon? No. The source host, path, fields, six datasets, and selector modes are fixed.
Does it cover Scotland, Wales, or Northern Ireland? No. V1 is limited to the Planning Data service for England.
Can it replace a planning consultant or local search? No. It is factual early-screening context only.