Skip to main content

Field Reference

This document describes the available fields for property title searches.

Coverage: England, Wales, Scotland


Core Fields

Identification

FieldTypeDescriptionExample
idUUIDUnique property identifier"4665bc0b-69d6-4e04-8117-48bb25dfba2c"
numberStringLand Registry title number"LA135828"
number.keywordKeywordExact match version of title numberUse for exact lookups

Location

FieldTypeDescriptionExample
countryIsoCodeStringCountry code (ENG, SCT)"ENG"
countryIsoCode.keywordKeywordExact match for filteringUse in term queries

Property Classification

FieldTypeDescriptionExample
tenureStringProperty tenure type (Freehold, Leasehold, NotRegistered, OWNERSHIP, PROPRIETOR, Rent, SUPERIOR, TENANCY, TENANT, Unknown). Values in uppercase are Scottish-specific legal/legacy terms."Freehold"
propertyCategoryStringProperty category: Residential, Commercial, Land, Mixed, Unknown"Residential"
propertyCategory.keywordKeywordExact match versionUse for filtering
propertyTypeArray[String]Property types["Detached", "House"]
propertyType.keywordKeywordExact match for each typeUse for filtering

Area Measurements

FieldTypeDescriptionExample
areaInAcresNumberProperty area in acres0.023483
areaInSquareFeetNumberProperty area in square feet1022.906872
areaInSquareMetersNumberProperty area in square meters95.03125
buildingFootprintNumberTotal building footprint area in square feet (sum of all buildings)463.321213719283
siteCoverageNumberPercentage of site covered by buildings48.75461637295974
totalFloorAreaSqFtNumberTotal floor area across all floors in square feet723.33408
totalRentalIncomeNumberTotal annual rental income (sum of all lease rentAnnually values)0.0
sizeOfCommercialSpaceInSquareFeetNumberSize of commercial floor space in square feet1500.0
ownerTypeArray[String]Owner categories for this title. English titles with no recorded owners will include ["Private"].["Company"]

Address Object (mainAddress)

The mainAddress field is a nested object containing detailed address information.

FieldTypeDescriptionExample
mainAddress.fullAddressTextFull searchable address"30, Penarth Road, Bolton, BL3 5RJ"
mainAddress.fullAddress.keywordKeywordExact match versionFor exact address matching
mainAddress.buildingNumberStringBuilding number"30"
mainAddress.buildingNameStringBuilding name (if any)"LAND AT TYNYWERN, MAERDY"
mainAddress.subBuildingNumberStringSub-building number (e.g., flat number)"Flat 2"
mainAddress.streetStringStreet name (uppercase)"PENARTH ROAD"
mainAddress.street.keywordKeywordExact match versionFor filtering
mainAddress.localityStringLocality/area"Heaton"
mainAddress.townStringTown/city"BOLTON"
mainAddress.town.keywordKeywordExact match versionFor filtering
mainAddress.countyStringCounty"Greater Manchester"

Postcode Fields

FieldTypeDescriptionExample
mainAddress.postcode.valueStringFull postcode"BL3 5RJ"
mainAddress.postcode.value.keywordKeywordExact matchFor filtering
mainAddress.postcode.outcodeStringPostcode outcode"BL3"
mainAddress.postcode.outcode.keywordKeywordExact matchFor area filtering

Owners Array (owners)

The owners field is an array of owner objects. May be empty for privacy reasons.

FieldTypeDescriptionExample
owners[].companyNameStringCompany name (for corporate owners)"THE NATIONAL ASSEMBLY FOR WALES"
owners[].companyNumberStringCompanies House registration number"12345678"
owners[].companyAddressStringRegistered company address"123 Main Street, London"
owners[].ownerCategoryStringCategory of owner (Company, Council, HousingAssociation, Private)"Company"
owners[].ownerInAdministrationBooleanWhether the owner company is in administrationfalse
owners[].ownerLateFilingBooleanWhether the owner company has late filings at Companies Housefalse
owners[].titleIdUUIDReference to the title"4665bc0b-..."

Geometry Object (geometry)

Geographic data for mapping and spatial queries.

FieldTypeDescription
geometry.areaNumberArea in square meters
geometry.centroidGeoPointProperty centroid (lat/lon)
geometry.centroid.latNumberLatitude
geometry.centroid.lonNumberLongitude
geometry.multiPolygonGeometry.typeStringGeoJSON geometry type ("multipolygon")
geometry.multiPolygonGeometry.coordinatesArrayArray of polygon coordinate arrays (GeoJSON format)
geometry.titleIdUUIDReference to the title

Example GeoPoint Query:

{
"query": {
"geo_distance": {
"distance": "5km",
"geometry.centroid": {
"lat": 53.5768,
"lon": -2.4282
}
}
}
}

Constraints Array (constraints)

Planning and environmental constraints affecting the property.

FieldTypeDescription
constraints[].titleIdUUIDReference to the title
constraints[].nameStringConstraint type name (see enum below)
constraints[].categoryNameStringConstraint category or severity (varies by constraint type)
constraints[].isOverlappingBooleanWhether constraint overlaps with property
constraints[].overlapPercentageNumberPercentage of property affected

Constraint Name Enum Values:

  • AgriculturalLandClassification
  • AncientWoodland
  • AreaOfNaturalBeauty
  • Battlefield
  • ConservationArea
  • CountrysideAndRightOfWay
  • FloodZone
  • GreenBelt
  • HistoricParkAndGarden
  • ListedBuilding
  • LocalNatureReserve
  • LondonOtherOpenSpace
  • NationalNatureReserve
  • NationalPark
  • PublicRightsOfWay
  • Radon
  • Ramsar
  • ScheduledMonument
  • SiteOfSpecialScientificInterest
  • SpecialAreaOfConservation
  • SpecialProtectionArea
  • SurfaceWaterFlooding
  • WorldHeritageSite

Leases Array (leases)

Lease information for leasehold properties.

FieldTypeDescriptionExample
leases[].titleIdUUIDReference to the title"4665bc0b-..."
leases[].leaseStartDateDateTimeLease start date"1909-05-12T00:00:00Z"
leases[].leaseEndDateDateTimeLease end date"2899-05-11T23:00:00Z"
leases[].leaseLengthIntegerLease length in years990
leases[].leaseTypeStringType of lease (Business, Occupational, VirtualFreehold)"VirtualFreehold"
leases[].tenantInAdministrationBooleanWhether the tenant company is in administrationfalse
leases[].tenantLateFilingBooleanWhether the tenant company has late filingsfalse
leases[].rentNumberRaw rent amount as recorded in the lease15000.0
leases[].rentAnnuallyNumberAnnual rent amount15000.0
leases[].rentPerSquareFootNumberRent per square foot12.5
leases[].rentReviewDateTextStringRent review date as free text"2026-03-25"
leases[].breakClauseDescriptionStringDescription of break clause terms"Mutual break at year 5"
leases[].breakClauseTermInMonthsIntegerBreak clause term length in months60
leases[].breakClauseFromDateStringDate from which the break clause applies"2028-01-01"
leases[].breakPenaltyNumberFinancial penalty for exercising the break clause5000.0

Leaseholds Array (leaseholds)

Leasehold titles associated with this freehold title.

FieldTypeDescriptionExample
leaseholds[].titleIdUUIDThe freehold title ID"4665bc0b-..."
leaseholds[].leaseholdTitleIdUUIDThe leasehold title ID"abc123-..."
leaseholds[].leaseholdTitleNumberStringThe leasehold title number"EGL123456"
leaseholds[].companyNameStringLeaseholder company name"ABC Limited"
leaseholds[].companyNumberStringLeaseholder company registration number"12345678"
leaseholds[].companyAddressStringLeaseholder company address"London"
leaseholds[].tenantInAdministrationBooleanWhether leaseholder is in administrationfalse
leaseholds[].tenantLateFilingBooleanWhether leaseholder has late filingsfalse

Sales Array (sales)

Property sale transactions.

FieldTypeDescriptionExample
sales[].titleIdUUIDReference to the title"4665bc0b-..."
sales[].dateAcquiredDateTimeSale date"2024-05-02T23:00:00Z"
sales[].priceNumberSale price in GBP368500.0
sales[].pricePerSquareFootNumberPrice per square foot503.4529907430228

Planning Array (planning)

Planning applications associated with the property.

FieldTypeDescriptionExample
planning[].titleIdUUIDReference to the title"4665bc0b-..."
planning[].referenceStringPlanning application reference"C/99/1017"
planning[].authorityStringPlanning authority"Coventry LPA"
planning[].descriptionStringApplication description"Erection of two storey side extension to house."
planning[].dateSubmittedDateTimeSubmission date"1999-10-22T00:00:00Z"
planning[].decisionStringPlanning decision text (varies by authority, may be null)"Approved with conditions"
planning[].decisionStatusStringNormalised decision status. Use this field for filtering rather than the raw decision text. Falls back to application status when no decision has been recorded."GRANTED"
planning[].statusStringApplication status"DECIDED"
planning[].decisionDateDateTimeDate the decision was issued"2008-01-14T00:00:00Z"
planning[].applicationUrlStringURL to planning application details"https://..."
planning[].agentNameStringAgent name"Ms K Whitfield"
planning[].agentCompanyStringAgent company name"Smith Planning Ltd"
planning[].agentAddressStringAgent full address"1 High Street, London"
planning[].applicantNameStringApplicant name"Mr C A Koziol"
planning[].applicantCompanyStringApplicant company name"Acme Developments Ltd"
planning[].applicantAddressStringApplicant full address"2 Park Road, Manchester"
planning[].unitsIntegerNumber of units1
planning[].yearIntegerYear of application1999

Buildings Array (buildings)

Buildings on the property.

FieldTypeDescriptionExample
buildings[].idUUIDBuilding identifier"abc123-..."
buildings[].titleIdUUIDReference to the title"4665bc0b-..."
buildings[].builtYearStringConstruction year or range"1980-1989"
buildings[].heightNumberBuilding height in meters7.9
buildings[].eavesHeightNumberEaves height in meters4.8
buildings[].heightAboveSeaNumberHeight above sea level in meters12.8
buildings[].footprintAreaSqFtNumberBuilding footprint area329.50211625656
buildings[].uprns[]ArrayUnique Property Reference Numbers associated with buildingSee UPRN section

UPRNs Array (uprns)

Unique Property Reference Numbers for properties. Note: uprnIdentifier is a UUID identifier for the UPRN record, not the numeric UPRN value.

The same UPRN objects appear both at the top-level uprns[] array and nested within buildings[].uprns[].

Identity & Address

FieldTypeDescriptionExample
uprns[].uprnIdentifierUUIDUUID identifier for the UPRN record"2a13433e-3119-418d-b937-2bd199568038"
uprns[].addressStringFull address string"9, Blackthorn Close, Cambridge, CB4 1FZ"
uprns[].buildingNumberStringBuilding number"9"
uprns[].buildingNameStringBuilding name (if applicable)"Regent House"
uprns[].subBuildingNumberStringSub-building or flat number"Flat 2"
uprns[].streetStringStreet name"BLACKTHORN CLOSE"
uprns[].localityStringLocality name"Kensington"
uprns[].townStringTown or city"CAMBRIDGE"
uprns[].countyStringCounty"Cambridgeshire"
uprns[].postcode.valueStringFull postcode"CB4 1FZ"
uprns[].postcode.outcodeStringPostcode outcode"CB4"

Measurements & Classification

FieldTypeDescriptionExample
uprns[].floorStringFloor level(s) as comma-separated string"0, 1"
uprns[].floorAreaSqFtNumberFloor area in square feet731.95
uprns[].rateableValueNumberRateable value for business rates5000.0
uprns[].hasBuildingsBooleanWhether UPRN has associated buildingstrue
uprns[].useClass[]Array[String]UK Planning Use Class codes (simple string array)["C3"]
uprns[].useClasses[]Array[Object]Structured use class data with descriptions (see below)
uprns[].useClasses[].codeStringPlanning use class code"C3"
uprns[].useClasses[].descriptionStringGeneric planning use class description"Single-family homes"
uprns[].useClasses[].classificationDescriptionStringSpecific AddressBase/VOA classification description"Detached"

Rooms, EPC & VOA

FieldTypeDescriptionExample
uprns[].rooms.bedsIntegerNumber of bedrooms2
uprns[].rooms.bathsIntegerNumber of bathrooms1
uprns[].rooms.recepsIntegerNumber of reception rooms2
uprns[].epc.currentRatingStringCurrent EPC rating (A, A+, B, B+, C, C+, Carbon Neu, D, D+, E, E+, F, F+, G)"C"
uprns[].epc.potentialRatingStringPotential EPC rating"B"
uprns[].vOA[].typeCodeStringVOA special category code"203"
uprns[].vOA[].typeDescriptionStringVOA property type description"Offices (Inc Computer Centres)"

Date Fields

FieldTypeDescriptionExample
lastModifiedDateTimeLast modification timestamp"2025-11-15T10:43:35.9171574+00:00"

Common Query Patterns

Text Search on Address

{
"query": {
"match": {
"mainAddress.fullAddress": "Bolton"
}
}
}

Exact Title Number Lookup

{
"query": {
"match": {
"number": "LA135828"
}
}
}

Filter by Property Type and Area

{
"query": {
"bool": {
"must": [
{"match": {"propertyCategory": "Residential"}}
],
"filter": [
{"term": {"tenure": "Freehold"}},
{"range": {"areaInAcres": {"gte": 0.1, "lte": 1.0}}}
]
}
}
}

Geographic Search (5km radius)

{
"query": {
"geo_distance": {
"distance": "5km",
"geometry.centroid": {
"lat": 53.5768,
"lon": -2.4282
}
}
}
}
{
"query": {
"bool": {
"must": [
{"match": {"propertyCategory": "Commercial"}}
],
"filter": [
{
"geo_bounding_box": {
"geometry.centroid": {
"top_left": {"lat": 53.6, "lon": -2.5},
"bottom_right": {"lat": 53.5, "lon": -2.4}
}
}
}
]
}
},
"size": 25
}

Properties with Recent Planning Approvals (Nested)

{
"query": {
"nested": {
"path": "planning",
"query": {
"bool": {
"must": [
{"match": {"planning.decisionStatus": "GRANTED"}},
{"range": {"planning.dateSubmitted": {"gte": "2020-01-01"}}}
]
}
}
}
},
"size": 10
}

Performance Tips

  1. Use .keyword fields for filtering — Much faster than analysed text fields
  2. Use filters for non-scoring criteria — Filters are faster than must/should clauses when relevance scoring is not needed
  3. Avoid deep pagination — Use search_after for iterating beyond the first page of results
  4. Use prefix/wildcard queries sparingly — Can be slow on large datasets
  5. Set appropriate size values — The API enforces a maximum of 25 results per request