Skip to content
Documentation menu

Concepts

Fields reference

Fields your plan does not include are left out of the response, not sent as null. Any other field can be null when the council has not published it. Dates are strings; coordinates are WGS84 numbers.

Application

Returned by list applications, get an application and inside portfolio matches.

FieldTypePlansDescription
idstringAllStable, opaque id for the application: pa_ followed by 22 letters and digits. Store it to fetch the application or its conditions later. Do not parse it.
referencestring or nullAllThe council's own reference. Unique only within one council.
authoritystring or nullAllLocal planning authority name, exactly as /api/v1/authorities lists it and as the authority filter expects it.
addressstring or nullAllSite address as the council published it.
postcodestring or nullAllSite postcode, where known.
descriptionstring or nullAllThe proposal, in the council's wording.
app_typestring or nullAllApplication type in the council's own terms, for example Full, Householder, Outline, Conditions or Trees. Wording varies between councils.
app_statestring or nullAllStatus, one of: Undecided, Permitted, Conditions, Rejected, Withdrawn, Appeal, Unresolved, Referred. See the state values table.
decisionstring or nullAllThe council's decision wording once decided, otherwise null.
start_datestring (YYYY-MM-DD) or nullAllDate the council received or validated the application (YYYY-MM-DD). The since and until filters use this date.
decided_datestring (YYYY-MM-DD) or nullAllDecision date (YYYY-MM-DD), null until decided. The decided_since filter uses this date.
latnumber or nullAllLatitude (WGS84) of the site, where known.
lngnumber or nullAllLongitude (WGS84) of the site, where known.
urlstring or nullAllThe application's page on the council's own planning register, so you and your users can check the official record. Null when we hold no council page for it.
docs_urlstring or nullAllThe council's documents page for the application, where it has a separate one.
case_officerstring or nullAllCase officer name, where the council publishes it.
attributionstring or nullAllA licence notice the record's source requires, otherwise null. Records published under the Open Government Licence carry "Contains public sector information licensed under the Open Government Licence v3.0." Keep it with the record and show it wherever you show the record publicly.
agent_namestring or nullPro, Leads, NationalAgent (the architect or consultant acting for the applicant), where published.
agent_companystring or nullPro, Leads, NationalAgent's company, where published.
agent_addressstring or nullPro, Leads, NationalAgent's business address, where published.
agent_emailstring or nullPro, Leads, NationalAgent's business email, where published.
agent_phonestring or nullPro, Leads, NationalAgent's business phone, where published.
applicant_companystring or nullPro, Leads, NationalApplicant, only when the applicant is a company. Private individuals' names are never returned.
conditions_urlstringPlans with conditionsRelative path of this application's conditions endpoint. Present only on plans that include conditions.
Applicant names and home addresses are never returned on any plan, to protect private individuals. applicant_company is set only when the applicant is a company. Agent fields are business contact details but can identify people: using them is your responsibility under UK GDPR and PECR (see the licence).

app_state values

ValueMeaning
UndecidedNo decision yet (pending).
PermittedGranted.
ConditionsGranted subject to conditions.
RejectedRefused. Use Rejected, not Refused, in the state filter.
WithdrawnWithdrawn by the applicant before a decision.
AppealUnder appeal.
UnresolvedThe council's record does not show a clear outcome.
ReferredReferred to another body (for example the Secretary of State).

attribution

Most records carry null. Some records are published under the Open Government Licence, and carry the notice it requires. Keep it with the record and show it wherever you show the record publicly, alongside the credit "Planning data from Planning Signal".

Condition

Returned by the conditions endpoints (API Pro, Leads and National).

FieldTypeDescription
idstringOpaque condition id: pc_ followed by 22 letters and digits.
application_idstring or nullThe parent application's id (pa_...), or null when the decision notice could not be tied to an application record.
application_referencestring or nullThe council's reference for the parent application.
authoritystring or nullLocal planning authority name.
condition_numberstring or nullThe condition's number on the decision notice, as text (councils number them differently).
condition_textstring or nullThe condition, in the council's wording.
reasonstring or nullThe council's stated reason for the condition.
disciplinesarray of stringDiscipline tags, possibly empty. Values: transport, ecology, arboriculture, drainage, contamination, heritage, acoustics, air-quality, energy, landscape, construction-management, highways, lighting, waste, fire-safety, structural, sustainability, land-stability, aviation, materials.
decided_datestring or nullDecision date of the notice (usually YYYY-MM-DD).
source_pdf_urlstring or nullThe council's own decision-notice document.
created_atstring (ISO 8601) or nullWhen the condition was added to Planning Signal. The since filter on /api/v1/conditions uses this.

Discipline tags

TagCovers
transportTransport & highways
ecologyEcology
arboricultureTrees & arboriculture
drainageDrainage & flood risk
contaminationContaminated land
heritageHeritage & archaeology
acousticsNoise & acoustics
air-qualityAir quality
energyEnergy & sustainability
landscapeLandscape
construction-managementConstruction management
highwaysHighways & access
lightingExternal lighting
wasteRefuse & recycling
fire-safetyFire safety
structuralLevels & structural
sustainabilitySustainability & water
land-stabilityLand stability & mining
aviationAviation safeguarding
materialsMaterials & details

Authority

FieldTypeDescription
authoritystringCouncil name, exactly as the authority filter expects it.
countintegerHow many applications we hold for the council.

Usage

FieldTypeDescription
planstringdemo, starter, pro, leads, portfolio or custom (National and other agreed plans).
allowanceinteger or nullRecords in the current period (the whole demo allowance on the demo).
usedintegerRecords used in the current period.
remaininginteger or nullRecords left in the current period.
resetsstring (ISO 8601) or nullWhen the allowance resets (00:00 UTC on the 1st of next month). null on the demo, which never resets.
contact_fieldsbooleanWhether your plan includes the agent and applicant-company fields.
conditionsbooleanWhether your plan includes the conditions endpoints.

Portfolio site

FieldTypeDescription
idintegerYour site's id in Planning Signal.
site_refstring or nullYour own reference for the site, from your upload.
namestring or nullSite label.
addressstring or nullSite address.
postcodestring or nullSite postcode.
latnumber or nullLatitude (WGS84).
lngnumber or nullLongitude (WGS84).
uprnstring or nullUPRN, if you supplied one.
regionstring or nullYour grouping label.
tagsarray of stringYour tags (possibly empty).
radius_mintegerHow far around the site is watched, in metres (50 to 2000).
watch_on_sitebooleanWhether on-site matches are reported.
activebooleanWhether the site is being watched.
geocode_statusstringok (located exactly), approx (placed approximately) or failed.
authoritystring or nullThe council the site is in, where known.
coveredboolean or nullWhether that council is covered; null if not yet checked.
created_atstring (ISO 8601)When the site was added.
updated_atstring (ISO 8601)When the site last changed.

Portfolio match

FieldTypeDescription
idintegerMatch id.
site_idintegerThe site's id (see /api/v1/portfolio/sites).
site_refstring or nullYour reference for the site.
match_kindstringon_site (the site is inside the application's red-line boundary) or nearby (within the site's radius).
distance_minteger or nullDistance from the site in metres (nearby matches).
first_seen_atstring (ISO 8601)When the match was first found. The since filter uses this.
applicationobjectThe application, with the same fields (and plan rules) as /api/v1/applications.

Questions? Contact us, or see the help centre.