Screening API
UK planning-constraint screening inside your own platform. Send a site geometry, get back every environmental and heritage designation that touches or surrounds it, each with its distance, severity and the regulation that applies.
Overview
Base URL https://eiascreen.infonovasolutions.com/api/v1. A machine-readable description is at /api/v1/openapi.json (OpenAPI 3.1), so you can generate a client rather than hand-write one. CORS is open, so the API can be called from a browser. There is a live console if you would rather try it before writing anything.
Authentication
Every request needs a key, as either header. Keys are issued per integration so usage is attributable.
Authorization: Bearer YOUR_KEY
# or
X-API-Key: YOUR_KEYScreen a site
POST /screen
curl https://eiascreen.infonovasolutions.com/api/v1/screen \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"geometry": {
"type": "Polygon",
"coordinates": [[
[-2.3612, 51.3796], [-2.3568, 51.3796],
[-2.3568, 51.3826], [-2.3612, 51.3826],
[-2.3612, 51.3796]
]]
},
"projectType": "residential"
}'Pass a Polygon if you have one. A Point screens with a 2km buffer from a single position. A Polygon is measured from the site edge, overlaps are a true intersection test rather than a point-in-polygon check, and the area is computed from the geometry instead of taken on trust. On an 11 hectare site that difference moved every constraint 150 to 220 metres closer.
Coordinates are [longitude, latitude]per RFC 7946, which is the opposite order to most mapping libraries' lat/lng helpers. Check datasets.failed on every response: if a source did not answer, the result is incomplete rather than clean, and treating it as clean is the dangerous failure.
Monitor for changes
POST /monitor/check
Constraints move. Natural England revises habitat boundaries, Historic England adds listings, a council makes an Article 4 direction. This re-screens a site and reports what changed against a snapshot you hold. It is stateless: you send the previous snapshot and receive the new one to store as the next baseline, so no state lives here.
# Store the 'snapshot' from a previous call and send it back as 'previous'.
curl https://eiascreen.infonovasolutions.com/api/v1/monitor/check \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"geometry": { "type": "Point", "coordinates": [-2.359, 51.3811] },
"projectType": "residential",
"previous": { "queriedAt": "...", "constraints": [], "score": {} },
"notifyEmail": "planner@example.com",
"siteLabel": "Land off Pulteney Road"
}'material, not merely changed. Distance moves under 100m and score drift under 3 points are treated as dataset revision noise. An alert that fires because a boundary was simplified teaches the recipient to ignore alerts, and then the one that matters is ignored too. A designation arriving, landing on the site, escalating in severity, closing to within a kilometre, or the risk band moving are all material. Something drifting further away is not.
Check datasets.reliable. A dataset that errors looks identical to a designation disappearing. When any source failed, this is false and notifications are suppressed.
Coverage
Natural England (10 datasets)
SSSI, SAC, SPA, Ramsar, National Nature Reserves, Ancient Woodland, National Landscapes (AONB), National Parks, Heritage Coast, Local Nature Reserves
Historic England (5 datasets)
Listed Buildings, Scheduled Monuments, Registered Parks and Gardens, World Heritage Sites, Registered Battlefields
Environment Agency (2 datasets)
Flood Zone 2, Flood Zone 3
planning.data.gov.uk (4 datasets)
Green Belt, Conservation Areas, Article 4 Directions, Brownfield Land
England only. Sites outside it return outside_coverage rather than an empty result, because an empty result reads like a clean site.
Project types
residentialResidential DevelopmentindustrialIndustrial / WarehousecommercialCommercial / RetailinfrastructureInfrastructure (Roads, Utilities)energyEnergy (Solar, Wind, Battery)wasteWaste Management / RecyclingagricultureAgriculture / LivestockmineralsMineral Extraction / QuarryingtourismTourism / Leisuremixed_useMixed Use DevelopmentErrors
unauthorized | 401 | Missing or invalid key. |
missing_geometry | 400 | No geometry supplied. |
invalid_geometry | 400 | Malformed coordinates, or a polygon that does not enclose an area. |
unsupported_geometry | 400 | Geometry type other than Point or Polygon. |
invalid_project_type | 400 | Unknown projectType. The response lists the allowed values. |
missing_previous | 400 | monitor/check called without a previous snapshot. |
outside_coverage | 422 | Site falls outside England, where the datasets have no coverage. |
screening_failed | 500 | Upstream failure. Safe to retry. |
api_not_enabled | 503 | The API is not configured on this deployment. |
Errors return { "error": { "code", "message" } }. Branch on code, which is stable, not on the message text, which is not.
Fair use
Every request fans out to 21 government APIs that are provided free under the Open Government Licence. Being rate-limited by Natural England would take the service down for everyone, so please keep concurrency modest and cache results for a site you are screening repeatedly. There is no published quota today; if that changes it will be announced before it is enforced, not after.
Versioning
The version is in the path. Fields may be added to responses without a version change, so parse defensively and ignore what you do not recognise. Removing a field, changing its type, or changing the meaning of an existing value would mean /api/v2. Error code values are part of the contract and will not be repurposed.
Scope
This is indicative pre-screening built on published government data. The same designations are available free on DEFRA's MAGIC map and planning.data.gov.uk; what this adds is aggregation, measurement from your site boundary, and the regulation engaged by each finding. It is not a formal EIA Screening Opinion under the Town and Country Planning (Environmental Impact Assessment) Regulations 2017, which must be obtained from the relevant Local Planning Authority under Regulation 6, and the risk score has no regulatory standing. Distances are calculated to simplified feature geometries and carry an error margin of roughly 50m.
Request a key