UK property data,
built for developers
29 million properties. EPC ratings, sold prices, environmental risks, comparables, deprivation data. One API, consistent JSON, instant access.
Homedata holds the full listing-event chain (Added, Reduced, Sold STC, Withdrawn, Re-listed) UPRN-matched and address-matched across 30 years of history. Listing history is an enterprise dataset, arranged per customer.
Pay as you go: 100 tokens = £1, first top-up matched 100%.
// 200 OK { "uprn": 10093609154, "full_address": "APARTMENT 1009, CHAPMAN HOUSE…", "postcode": "M3 5FH", "current_energy_efficiency": 84, "potential_energy_efficiency": 84, "last_epc_date": "2020-07-28", "last_sold_date": "2019-11-15", "construction_age_band": "2007-2011", "epc_floor_area": 56.0, "habitable_rooms": 3 }
Quickstart
From zero to first API call in under 5 minutes.
Create a free account
Sign up at homedata.co.uk/register. Your API key is generated instantly, no approval needed, no credit card required.
Create Free Account →Copy your API key
Find your API key in your dashboard. All authenticated requests use the Api-Key header format.
Make your first request
Look up a property's EPC rating by its UPRN. Every addressable property in Great Britain has a UPRN: a unique number of up to 12 digits. The EPC endpoint takes the same API key as every other endpoint, and a lookup costs one token.
# EPC checker: 1 token curl https://api.homedata.co.uk/epc-checker/100023336956/ \ -H "Authorization: Api-Key YOUR_API_KEY" # Every endpoint takes the same key curl https://api.homedata.co.uk/properties/100023336956/ \ -H "Authorization: Api-Key YOUR_API_KEY"
import requests API_KEY = "YOUR_API_KEY" UPRN = "10093609154" # EPC lookup: 1 token headers = {"Authorization": f"Api-Key {API_KEY}"} epc = requests.get( f"https://api.homedata.co.uk/epc-checker/{UPRN}/", headers=headers ).json() print(f"EPC: {epc['current_energy_efficiency']}/100") # → EPC: 84/100 # Every endpoint takes the same key property_data = requests.get( f"https://api.homedata.co.uk/properties/{UPRN}/", headers=headers ).json()
const API_KEY = "YOUR_API_KEY"; const UPRN = "10093609154"; const BASE = "https://api.homedata.co.uk"; // EPC lookup: 1 token const headers = { "Authorization": `Api-Key ${API_KEY}` }; const epc = await fetch(`${BASE}/epc-checker/${UPRN}/`, { headers }) .then(r => r.json()); console.log(`EPC: ${epc.current_energy_efficiency}/100`); // → EPC: 84/100 // Every endpoint takes the same key const property = await fetch(`${BASE}/properties/${UPRN}/`, { headers }) .then(r => r.json());
Not sure what a UPRN is? Read our UPRN guide →
Or skip the code: embed a widget.
Browser-callable public keys with origin lock + scope. Drop two lines of HTML on a property page and render flood risk, EPC, crime stats or nearby schools: pulling from the same Homedata data API, no key in your client code.
<div data-homedata-flood-risk
data-uprn="100023336956"></div>
<script src="https://homedata.co.uk/js/homedata-flood-risk.js"
data-key="wt_your_public_key_here"
defer></script>
What you can build
Every endpoint returns clean JSON with consistent error handling. All endpoints are versioned and backward-compatible.
EPC & energy
API keyCurrent and potential energy ratings, efficiency scores, floor area, construction age band, and certificate date.
Property Data
API keyType, bedrooms, tenure, floor area, construction age, title data: bundled in one call via the Property tiers (Base / Core / Complete).
Comparables
API keyNearest comparable sales by proximity. Filter by beds, type, date range. Arranged per customer rather than sold self-serve.
Environmental risks
API keyFlood, radon, noise, landfill, coal mining, air quality, invasive plants.
Price trends
API keyMonthly median asking prices by outcode with volatility scoring. 12-month rolling window.
Deprivation index
API keyIMD data for any postcode in England. 10 domains: income, employment, health, crime, and more.
Live listings
EnterpriseProperties on the market right now, including price reductions as they happen. Arranged per customer rather than sold self-serve.
Talk to us →Agent statistics
API keyEstate agent performance: listings, sales, average prices, time on market by area.
AVM valuations
API keySale price or monthly rent estimate from time-adjusted comparables, with a confidence score and the full evidence pack.
Council tax
API keyBand + billing authority, or the full bundle with the yearly and monthly charge in £. England, Scotland and Wales.
Local area & amenities
API keyNearby amenities (food, transport, green spaces…), NHS healthcare (GPs, dentists, pharmacies, hospitals), fuel and EV chargers.
Planning applications
API keyPlanning application history near a postcode or coordinate: references, statuses, decisions and dates.
Interactive API reference
OpenAPI 3.1Full interactive API reference. Try endpoints live, generate client code in any language from the OpenAPI spec.
Understanding UPRNs
Most of our API endpoints use a UPRN (Unique Property Reference Number): a 12-digit number that uniquely identifies every addressable location in the UK. There are 40 million of them.
If you have addresses but not UPRNs, use our address matching endpoint to convert them, or query the UPRN lookup tool to find test values.
# Search for an address (2 tokens) curl "https://api.homedata.co.uk/address/find/?q=10+Downing+Street" \ -H "Authorization: Api-Key YOUR_API_KEY" // Returns: { "suggestions": [{ "uprn": 100023336956, "address": "PRIME MINISTER & FIRST LORD OF THE TREASURY, 10 DOWNING STREET, LONDON, SW1A 2AA", "postcode": "SW1A 2AA", "town": "London" }], "count": 1 }
Authentication
All authenticated endpoints use Api-Key authentication. Pass your API key in the Authorization header.
Request format
Error responses
Token weights
Every account reaches every endpoint. Each request spends its published weight from your token balance (100 tokens = £1):
| Endpoint | Tokens |
|---|---|
| Most lookups | 1 |
| Address find | 2 |
| Address retrieve | 5 |
| Comparables | 10 |
| Valuation | 25 |
All token weights and monthly bonus tokens: See pricing →
Common use cases
Valuation models and EPC compliance screens run on the same data, behind one API key.
EPC compliance screening
Check EPC ratings and flag non-compliant properties across a portfolio. One token per lookup.
Portfolio valuation
Property data enrichment at scale: characteristics, EPC ratings, risk scores, and price history for portfolio analysis.
Market research & analytics
Price trends, agent performance, and market conditions by area. 30 years of history.
Property identification & matching
Resolve addresses to UPRNs, match across datasets, identify properties meeting specific criteria.
Need something custom?
For large organisations, we offer dedicated infrastructure, white-label data feeds, custom rate limits, and bespoke endpoint development. Get in touch to discuss your requirements.
Built out of necessity
The Homedata Team
Homedata started because UK property data is a mess. To assemble one usable property record we were stitching together half a dozen obscure APIs: one for addresses, another for sold prices, separate ones for EPC, environmental risk, planning, council tax. Each had its own auth, its own rate limits, its own field names, its own update cadence.
Market data, the most useful part, was basically non-existent.
Listing events, days on market, price reductions, withdrawal patterns, sold-vs-asking ratios, the signals that actually move a deal, weren't in any of the public feeds. And the bits that did exist sat behind silently inconsistent UPRN matching: the same property could be a different identifier in two feeds, or missing entirely from one. Records didn't line up. Fields conflicted. Joining a sold price to an EPC to a flood-risk score reliably took weeks of glue code per integration, and the joins broke quietly when an upstream schema shifted.
We built Homedata to fix that for ourselves. One licensed feed, one canonical UPRN, every record matched and reconciled, every endpoint returning the same shape. Pay-as-you-go pricing is here because we wanted other developers to skip the work we had to do.
Start building today
Pay as you go: 100 tokens = £1, no subscription needed. A monthly subscription earns up to 75% bonus tokens when you scale.