Skip to main content
29M UK properties, one API call. Get your API key →

Data dictionary

Fields returned by the main Homedata API responses, with types, units, and coverage notes. Use the API Reference for endpoint signatures and code examples.

Property Data

Endpoint: GET https://api.homedata.co.uk/properties/{uprn}/

Every call returns these 15 base fields. Everything else is an add-on: chain slugs with ?with= (e.g. ?with=address,rooms) and each one adds its own block to the response. The add-ons are listed below the base fields.

Field Type Description
uprn integer Unique Property Reference Number: the canonical UK property identifier (29M+ properties)
property_type string|null Full type name, e.g. "Detached", "Semi-Detached", "Terraced", "Flat"
classification_code string|null AddressBase classification code (e.g. RD06 = self-contained flat)
epc_floor_area float|null Total floor area in m² from the latest EPC
current_energy_efficiency integer|null Current EPC energy efficiency score (1–100)
potential_energy_efficiency integer|null Potential EPC score after recommended improvements (1–100)
last_epc_date string|null ISO 8601 date of the latest EPC
windows_type string|null Window glazing description from the EPC (e.g. "Double glazed")
fireplaces integer|null Fireplace count from the EPC
extensions integer|null Extension count from the EPC
last_sold_date string|null ISO 8601 date of the latest Land Registry-confirmed sale
last_sold_price integer|null Price of that sale, in pounds
last_sold_txid string|null HM Land Registry transaction ID of that sale
predicted_price integer|null Price estimate in pounds: a sale in the last 12 months, else the latest active sale listing in that window, else the modelled estimate
average_area_price integer|null Average price for the surrounding area, in pounds

Add-ons (?with=)

Slug Tokens Coverage What it adds
address 5 UK Full postal address, coordinates, USRN / TOID / UDPRN
amenities 5 UK Nearby amenities across all 11 groups: food, education, healthcare, financial, civic, worship, culture, convenience, green spaces, transport and shops
broadband 1 UK Average and maximum download speeds, superfast and gigabit availability
conservation 3 England & Wales Conservation areas the property sits inside, matched against local authority designations
construction 1 England & Wales Construction age band, material, basement
council_tax 3 UK Council tax band (A–H) and billing authority name
council_tax_full 5 UK Band and authority plus GSS code, country, yearly and monthly charge in GBP, valuation bounds and fiscal year
crime 1 England, Wales & N. Ireland Crime for the property’s postcode for the latest published month, broken down by category. England, Wales and Northern Ireland; Scotland is published separately by Police Scotland and is not included.
demographics 1 England & Wales Census demographics for the postcode: population, age bands and household composition
deprivation 1 England & Wales Index of Multiple Deprivation 2019: overall rank and decile, plus the seven IMD domains and the two income-deprivation indices (children, older people), each with its own rank and decile
dimensions 1 England & Wales Building footprint area, height, volume, floor area
epc 1 England & Wales Energy performance certificate: current and potential ratings (A–G) and the scores behind them, lodgement date, floor area, main fuel and mains gas
epc_renovations 1 England & Wales Recommended EPC improvements with cost ranges
flood 1 England & Wales Flood risk on its own (rivers, sea and surface water) pulled out of the environmental risks bundle
garden 1 England & Wales Garden presence and details
land 1 England & Wales Land area in m² (not available for flats)
last_sold 1 England & Wales Most recent sale for this UPRN: date and price, from HM Land Registry
listed_buildings 3 England & Wales Listed buildings at or within the property, matched against the Historic England register
lr_title 1 England & Wales Land Registry title number, tenure, restrictions
lr_title_full 10 England & Wales Full registered title: tenure, covenants, corporate and overseas ownership, and boundary geometry
parking 1 England & Wales Parking presence and details
planning_designations 3 England & Wales Planning designations covering the property: Green Belt, AONB, National Park, SSSI and others
planning_history 5 England & Wales Planning applications for this UPRN: references, statuses, decisions and dates
price_distributions 1 England & Wales Price percentiles for the outcode, split by property type
price_growth 1 England & Wales Year-on-year price growth for the outcode, as a percentage
price_trends 1 England & Wales Average monthly price trend for the outcode, with a historic average and volatility score
property_type 1 UK Property type (detached, semi-detached, terraced or flat) with its classification code
risks 7 Varies by category Environmental risks in one block: flood, radon, noise, landfill, coal mining, invasive plants, air quality
roof 1 England & Wales Roof material, shape, solar panels
rooms 1 England & Wales Bedrooms, bathrooms, habitable and heated rooms
schools 1 England & Wales Nearby state and independent schools within 3km by default, with Ofsted rating, distance and phase
solar 5 UK Solar PV potential, generation and payback
title_boundary 5 England & Wales The registered title boundary as GeoJSON geometry (WGS84)
transport 1 UK Nearby stations, stops and interchanges, with distance
valuation_estimate 10 England & Wales Automated sale-price estimate: headline figure, range, confidence score and the inputs behind it
valuation_full 25 England & Wales Automated sale-price estimate with the full evidence pack: sold comparables, active listings, lifecycle scoring and time adjustment

Tokens above are charged per add-on requested, on top of the 1-token property call. The full slug list for a given UPRN, with availability, comes back from the discovery call GET https://api.homedata.co.uk/property/{uprn}/.

EPC & energy

Endpoint: GET https://api.homedata.co.uk/epc-checker/{uprn}/. Source: MHCLG EPC Register; Homedata holds over 23 million certificates.

Field Type Description
uprn integer The property UPRN
current_energy_rating string|null Current EPC rating as the A–G letter
potential_energy_rating string|null Potential A–G letter after recommended improvements
current_energy_efficiency integer|null Current EPC energy efficiency score (1–100): null if no certificate
potential_energy_efficiency integer|null Potential score after recommended improvements (1–100)
last_epc_date string|null ISO 8601 date of the latest EPC
epc_floor_area float|null Total floor area in m² from the EPC
construction_age_band string|null Build period band, e.g. "2007-2011"
epc_id string|null EPC certificate reference

Environmental risks

Endpoint: GET https://api.homedata.co.uk/risks/{risk_type}/?uprn=
Risk types (the {risk_type} path slug): flood, radon, noise, landfill, coal_mining, non_coal_mining, invasive_plants, air_quality_today, or all for every type in one call. Flood results come back split by source (e.g. flood_rivers_sea, flood_surface_water).

Field Type Description
results array Array of risk assessment objects for this UPRN
results[].risk_type string Risk category identifier (e.g. flood_rivers_sea)
results[].label string Human-readable risk level (e.g. Low, Medium, High); wording varies by risk type
results[].score number|null Numeric score on the scale named in score_unit (e.g. radon class, noise dB, flood band); null where the risk type has no numeric score, such as coal_mining
results[].score_unit string|null Scale of score: "band", "class" or "dB"; null when score is null
results[].intersects boolean True if risk zone directly intersects the property boundary
results[].distance_m integer Distance in metres to nearest risk zone (0 = at property)
results[].search_radius_m integer Search radius used for proximity check
results[].count integer Number of risk zones found within search radius
results[].radius_description string Human-readable radius label (e.g. "At property", "Within 100m")
results[].properties object Risk-specific metadata (description, confidence, source)
results[].properties.description string Plain-English explanation of this risk level
results[].properties.confidence string|null Data confidence, flood results only; may be null
location object Resolved coordinates used for the lookup: {lat, lon}

Deprivation index

Source: MHCLG Indices of Multiple Deprivation (IoD) 2019. Covers England only. Endpoint: GET https://api.homedata.co.uk/deprivation/?postcode=

Field Type Description
postcode string The postcode the lookup resolved to
lsoa.code string Lower Super Output Area code (e.g. E01031220)
lsoa.name string LSOA name (e.g. "Worcester 016B")
lad.code string Local authority district code (e.g. E07000237)
lad.name string Local authority district name
overall.rank integer Overall IMD rank: 1 = most deprived
overall.decile integer IMD decile 1–10 (1 = the 10% most deprived areas in England)
overall.score integer Overall score band behind the label
overall.label string Plain-English band, e.g. "Average"
overall.short_label string Short form of the band label
overall.lad_rank integer Rank of the local authority itself
overall.lad_rank_description string e.g. "Local authority ranks 142 out of 317"
domains array One object per IMD domain
domains[].domain string Domain key: income, employment, education, health, crime, housing, environment, idaci, idaopi
domains[].label string Domain name
domains[].short_label string Short domain name
domains[].description string What the domain measures
domains[].rank integer Domain rank for this LSOA
domains[].decile integer Domain decile 1–10
domains[].score integer Domain score band
domains[].score_label string Plain-English band for the domain
domains[].score_short string Short form of the domain band
domains[].lad_rank integer Domain rank of the local authority
metadata.source string e.g. "MHCLG English Indices of Deprivation 2019"
metadata.total_lsoas integer Total LSOAs in the index
metadata.total_lads integer Total local authority districts in the index

Prices & transactions

Source: HM Land Registry Price Paid Data. England & Wales only. Updated monthly.

Price trends

GET https://api.homedata.co.uk/price_trends/{outcode}/: monthly median asking prices from sale listings, not Land Registry sold prices.

Field Type Description
outcode string Outward postcode district (e.g. SW1A)
monthly_average_prices object Median asking price in pounds, keyed by year-month (e.g. "2026-01": 615000), over the past 12 months
volatility_score float Month-to-month variation in the medians: higher means a more volatile market

Property sales

Field Type Description
id integer Sale record identifier: pass it to /property_sale_events/?sale={id} for the event timeline. That endpoint is arranged per customer rather than sold self-serve.
txid string|null HM Land Registry transaction identifier
sold_let_date string|null ISO 8601 date the sale or let completed
sold_let_price integer|null Price in pounds
first_listing_date string|null ISO 8601 date the property was first listed
transaction_type string Sale or Let
is_complete boolean True once the transaction completed
is_available boolean True while the property is still on the market

Address & location

Field Type Description
suggestions array Array of address suggestion objects (find endpoint)
suggestions[].uprn integer UPRN of the suggested address: the permanent identifier to store
suggestions[].uprn_token string Encrypted UPRN token, regenerated on every response: do not store
suggestions[].address string Full formatted address string
suggestions[].postcode string Postcode
suggestions[].town string Town or city
count integer Number of suggestions returned

Council tax

Two endpoints. Light: GET https://api.homedata.co.uk/council_tax_band/{uprn}/ (3 tokens, band + authority only). Full: GET https://api.homedata.co.uk/council_tax/{uprn}/ (5 tokens, adds GSS code, country, yearly/monthly charge in GBP, valuation bounds and fiscal year).
Sources: official council tax band listings for bands; each local authority's published rates for charges. Coverage: England, Scotland and Wales, fiscal year 2026-27. Money fields are GBP strings to 2 decimal places.

Field Type Description
council_tax_band string Council tax band for the property. Returned by both endpoints.
authority_name string|null Billing authority name (e.g. "Cornwall", "Glasgow City"). Returned by both endpoints.
uprn integer Property UPRN. Returned only by the postcode-mode light lookup, so the caller can identify which property matched their postcode + building filter.
gss_code string|null ONS GSS code for the billing authority (e.g. "E06000052"). Full endpoint only.
country string England | Scotland | Wales. Full endpoint only.
yearly_charge_gbp string|null Annual charge in GBP, 2dp (e.g. "2225.27"). Full endpoint only. Null if the authority has no charge row for the band/current year.
monthly_charge_gbp string|null Monthly charge in GBP, 2dp. Full endpoint only.
value_low_gbp string|null Lower bound of the 1991 valuation band for this LA + band (e.g. "68001.00"). Full endpoint only.
value_high_gbp string|null Upper bound of the 1991 valuation band. Full endpoint only.
fiscal_year_label string|null Tax year for the charge (e.g. "2026-27"). Full endpoint only.

Planning applications

Endpoint: GET https://api.homedata.co.uk/planning/search/?postcode= Source: over 300 UK local planning authorities, nearly 4 million applications; completeness varies by authority.

Field Type Description
count integer Total matching applications (before pagination)
page integer Current page number
per_page integer Results per page
radius_km float|null Search radius used in km: null when served from the local snapshot
days integer Look-back window in days used for the search
results array Array of planning application objects
results[].reference string LPA application reference (e.g. 26/01372/LBC)
results[].description string Application description as submitted
results[].status string Application status as published by the authority (e.g. Pending, Decided, Withdrawn)
results[].type string|null Application type (e.g. Full, Householder, Heritage)
results[].authority string Local Planning Authority name
results[].address string Application site address
results[].postcode string|null Application site postcode
results[].date_received string|null ISO 8601 date the application was received
results[].date_validated string|null ISO 8601 date the application was validated
results[].date_decided string|null ISO 8601 decision date: null if undecided
results[].distance_km float|null Distance from the search point in km: null when served from the local snapshot

Solar assessment

Endpoint: GET https://api.homedata.co.uk/solar-assessment/{uprn}/ PV model using 120 UK irradiance zones, OS footprint data, and EPC floor area.

Field Type Description
system_size_kwp float Estimated PV system capacity in kWp
panel_count integer Estimated number of solar panels
usable_roof_area_m2 float Estimated usable roof area in m²
annual_generation_kwh integer Estimated annual electricity generation in kWh
annual_savings_gbp integer Estimated annual savings in pounds (no battery)
system_cost_gbp integer Estimated installed system cost in pounds
payback_years float Simple payback period in years (no battery)
battery_annual_savings_gbp integer|null Annual savings with battery storage added
battery_system_cost_gbp integer|null System cost including battery in pounds
battery_payback_years float|null Payback period with battery storage
co2_saved_kg integer Estimated annual CO₂ offset in kg
trees_equivalent integer CO₂ saving expressed as equivalent trees planted per year
irradiance_kwh_m2_yr integer Annual solar irradiance for this postcode zone in kWh/m²
confidence string Data confidence: high (OS footprint), medium (EPC area), low (bedroom estimate)
has_solar_panels boolean True if EPC already records PV panels installed
assumptions.panel_wattage_w integer Panel wattage used in calculation (default 420W)
assumptions.electricity_rate_p_kwh float Unit rate in pence/kWh used for savings calculation
assumptions.export_rate_p_kwh float Export tariff rate in pence/kWh
assumptions.system_efficiency float System efficiency factor (0.0–1.0)

Crime Data

Endpoint: GET https://api.homedata.co.uk/crime/?postcode= Source: Police UK API (data.police.uk). Updated monthly. England, Wales & Northern Ireland.

Field Type Description
total_crimes integer Total crimes recorded near the location for the month returned
month string Year-month of the data (e.g. "2025-12")
search_point.latitude float Latitude the search resolved to
search_point.longitude float Longitude the search resolved to
categories array Crime categories, most frequent first
categories[].category string Category slug (e.g. violent-crime, burglary, anti-social-behaviour)
categories[].label string Human-readable category name
categories[].count integer Crimes recorded in this category
categories[].latest_month string Most recent month covered for this category
categories[].sample_locations array Example streets: street, latitude, longitude

Agent statistics

Endpoint: GET https://api.homedata.co.uk/agent_stats/{uprn}/ Performance metrics for agents active near the subject property. Add ?view=market_share for the market-share view instead.

Field Type Description
[] array The response is an array of agent objects: there is no wrapper object
[].id integer Agent identifier
[].branch_name string Branch name
[].agent_name string Agent name
[].sales_phone_number string|null Sales phone number for the branch
[].stats object Performance figures for this branch
[].stats.listing_count integer Listings for this branch near the property
[].stats.new_last_30d integer Listings added in the last 30 days
[].stats.reduced_count integer Listings with a recorded price reduction
[].stats.count_last_6mo integer Listings in the last 6 months
[].stats.avg_latest_price integer Average latest asking price in pounds
[].stats.avg_time_on_market integer Average days on market
[].stats.avg_time_to_sstc integer Average days from listing to sold subject to contract
[].stats.avg_time_to_first_offer integer Average days to the first offer
[].stats.avg_sale_percent float Average sale price as a percentage of the asking price
[].stats.recent_listings array Recent listings: property, address, time_on_market_days, time_to_sstc_days, sale_percent, sale_price, sold_date

Integrate into your own product

Pay as you go
Homedata API Scientific, granular measurements

The Homedata API returns structured fields per property (UPRN, address, type, bedrooms, floor area, EPC rating, tenure, construction age, risk scores, deprivation decile, planning history, and more) all in consistent JSON across 29 million UK properties.

Structured as JSON · queryable by UPRN or postcode · ready to embed in any application

Exact measurements

Real values (distances, concentrations, counts) not rounded ratings

29 million UK properties covered

Every address queryable by UPRN or postcode

REST API

JSON responses, OpenAPI docs, sandbox: first call in under 5 minutes

Pay as you go: 100 tokens = £1 across every endpoint, no subscription needed. Bonus tokens with an optional monthly subscription, and your first top-up matched 100%. See pricing →