UK property data API
for PropTech.
One API. 29 million properties. Address lookup, EPC, comparables, risk, listings, planning, schools — everything your product needs. No data brokering, no procurement nightmare, no multi-month enterprise sales process. Sign up and start building in 10 minutes.
Free tier: 100 calls/month. No credit card required. Upgrade when you're ready to ship.
16
API endpoints
29M+
properties covered
36M
UK addresses
< 200ms
median response time
What PropTech teams build with it
The data layer for whatever you're building.
Property portals
Enrich every listing with EPC ratings, flood risk, school proximity, and price history. Stand out from the big portals by showing buyers data they can't find on Rightmove. Built on our live listings + property characteristics endpoints.
Automated valuation models
Comparables within 0.5 miles (PostGIS spatial), 30 years of sold price history, listing event trails, and property characteristics — all the inputs your AVM needs. Combine with price trends and deprivation for neighbourhood adjustments.
Conveyancing platforms
Pre-populate searches with EPC data, environmental risk (flood, radon, landfill, coal mining), planning history, and Land Registry titles. Cut manual data gathering from days to seconds. Reduces PII data entry, speeds completions.
InsurTech & underwriting
Flood risk (river, surface water, coastal, groundwater), radon, subsidence, property age, construction type, and floor area — every input your pricing model needs. Replace expensive data bundles with API calls that cost pence per property.
Mortgage & lending tech
EPC energy ratings for green mortgage eligibility screening, flood risk for standard conditions, council tax band for affordability, and sold price data for LTV verification. All via UPRN — the single key that unlocks every dataset.
Landlord & letting platforms
EPC compliance tracking for the 2028 mandate, rental listing events for market benchmarking, comparables for yield calculations, and risk data for insurance. Build a compliance dashboard that landlords actually need.
The full API surface
Everything available in one place. Most endpoints are 1 call weight — predictable costs at any scale.
| Endpoint | Description | Calls | Plan | |
|---|---|---|---|---|
| Address lookup | ||||
| /api/v1/address/find/ | Typeahead address search — 36M UK addresses → UPRN | 2 | Free | |
| /api/v1/address/retrieve/{uprn}/ | Full address + property enrichment (beds, EPC, council tax, sold price) | 5 | Free | |
| EPC & Energy | ||||
| /api/epc-checker/{uprn}/ | EPC band, energy score (1–100), floor area, construction age | 1 | Free | |
| Property data | ||||
| /api/v1/properties/{uprn}/ | Property characteristics — beds, baths, type, tenure, floor area | 1 | Free | |
| /api/council_tax_band/ | Council tax band A–H for any postcode | 1 | Free | |
| Market data | ||||
| /api/v1/listing_events/ | Full listing history — price changes, status, days on market | 1 | Free | |
| /api/v1/property_sales/ | HMLR sold prices by UPRN or postcode | 1 | Free | |
| /api/v1/price_trends/ | Median sold prices and growth by postcode/district | 1 | Starter | |
| Environmental risk | ||||
| /api/risks/{risk_type}/?uprn= | Flood, radon, noise, landfill, coal, air quality, invasive plants | 1 each | Starter | |
| Area data | ||||
| /api/v1/deprivation/ | IMD deprivation scores across 10 domains | 1 | Starter | |
| /api/v1/postcode_profile/ | Area demographics, tenure mix, property type distribution | 1 | Starter | |
| Local amenities | ||||
| /api/v1/schools/nearby | Schools within radius — phase, type, Ofsted, pupil numbers | 5 | Starter | |
| Valuation | ||||
| /api/v1/comparables/{uprn}/ | Nearest sold + listed comparables, distance-ranked (PostGIS) | 10 | Growth | |
| Agent data | ||||
| /api/v1/agent_stats/ | Agent performance — listings, time to sell, price accuracy | 1 | Starter | |
| Market data | ||||
| /api/v1/price_distribution/ | Price distribution bands for any postcode | 1 | Starter | |
| Valuation | ||||
| /api/v1/property_avm/ | Automated valuation estimate with confidence band | 10 | Growth | |
Property enrichment in parallel
Most PropTech apps need multiple data points per property — EPC, risk, characteristics, price history. Use Promise.all in JavaScript or asyncio in Python to fire them in parallel. Total response time is the slowest call, not the sum.
What this returns
- • Property: beds, type, floor area, tenure
- • EPC: rating A–G, score, potential rating
- • Flood risk: river, surface, coastal bands
- • Price history: last 5 HMLR transactions
4 calls per property. On Growth (10,000 calls/month) = 2,500 full property enrichments/month.
const enrich = async (uprn, key) => {
const base = 'https://api.homedata.co.uk'
const headers = { 'Authorization': `Token ${key}` }
const [property, epc, flood, prices] = await Promise.all([
fetch(`${base}/api/v1/properties/${uprn}/`, { headers }).then(r => r.json()),
fetch(`${base}/api/epc-checker/${uprn}/`, { headers }).then(r => r.json()),
fetch(`${base}/api/risks/flood_risk/?uprn=${uprn}`, { headers }).then(r => r.json()),
fetch(`${base}/api/v1/property_sales/?uprn=${uprn}&limit=5`, { headers }).then(r => r.json()),
])
return {
beds: property.bedrooms,
type: property.property_type,
floor_area_m2: property.total_floor_area,
epc_rating: epc.current_energy_rating,
epc_score: epc.current_energy_efficiency,
flood_risk: flood.risk_band,
last_sold_at: prices[0]?.sale_date,
last_sold_price: prices[0]?.sale_price,
}
}
// Usage
const data = await enrich('100023045721', 'your_api_key')
console.log(data)
// { beds: 3, type: 'House', epc_rating: 'D', flood_risk: 'Very Low', ... }
import asyncio, httpx
async def enrich(uprn: str, key: str) -> dict:
base = "https://api.homedata.co.uk"
headers = {"Authorization": f"Token {key}"}
async with httpx.AsyncClient() as client:
property_, epc, flood, prices = await asyncio.gather(
client.get(f"{base}/api/v1/properties/{uprn}/", headers=headers),
client.get(f"{base}/api/epc-checker/{uprn}/", headers=headers),
client.get(f"{base}/api/risks/flood_risk/?uprn={uprn}", headers=headers),
client.get(f"{base}/api/v1/property_sales/?uprn={uprn}&limit=5", headers=headers),
)
p = property_.json()
return {
"beds": p["bedrooms"],
"epc_rating": epc.json()["current_energy_rating"],
"flood_risk": flood.json()["risk_band"],
"last_sale": prices.json()[0]["sale_price"],
}
# Usage
data = asyncio.run(enrich("100023045721", "your_api_key"))
One contract. One integration. One invoice.
Most PropTech teams that need EPC + address + risk + prices end up stitching together 4–6 separate data providers. That's 6 contracts, 6 pricing models, 6 integration points, 6 points of failure.
Without Homedata — typical PropTech data stack
Address lookup
getAddress, Ideal Postcodes, Loqate · £20–£100/month
EPC data
MHCLG Open Data API (rate limited, unreliable) · Free but flaky
Environmental risk
Groundsure, Landmark, SearchFlow · £250+ /month
Sold prices
HMLR Price Paid (no UPRN join, manual work) · Free but raw
Comparables
PropertyData, Nimbus (locked plans) · £200+/month
Schools
Ofsted / DfE APIs (no enrichment, no distance calc) · Free but complex
Total: £600–£1,500+/month
Plus: 6 contracts, 6 integration points, data consistency issues between providers.
With Homedata — single API, all the data
Address lookup
36M addresses, UPRN-linked, instant
EPC data
Direct from DLUHC, reliable, all 29M properties
Environmental risk
Flood, radon, noise, landfill, air quality, coal
Sold prices
HMLR with UPRN join — no raw data wrangling
Comparables
PostGIS 0.5mi radius, distance-ranked
Schools
DfE GIAS, 27K schools, distance calculated
£49–£699/month (Starter to Scale)
One contract, one integration, one invoice. Free tier to start building today.
Up and running in 10 minutes
From zero to first API call. No OAuth, no webhook setup, no enterprise onboarding call.
Sign up free
Create an account at homedata.co.uk. Your API key is provisioned instantly — no waiting, no sales call.
Get started →Read the docs
Interactive API reference at docs.homedata.co.uk. Try any endpoint directly from the browser with Scalar. Every endpoint has Python, JS, and cURL examples.
Get started →Ship your feature
One Authorization header. REST JSON responses. Most developers ship their first feature in the same afternoon. Upgrade to a paid plan when you go to production.
Get started →Your first call — EPC for any UPRN:
curl -H "Authorization: Token YOUR_API_KEY" \ "https://api.homedata.co.uk/api/epc-checker/100023045721/"
Pricing for PropTech teams
Flat monthly plans. Predictable costs. No per-endpoint pricing surprises.
Need more? Scale plan (£699/month, 100,000 calls) or contact us for custom volume.
Developer FAQ
- What authentication does the API use?
- Token authentication. Include Authorization: Token YOUR_API_KEY as a header on every request. Your API key is available in the dashboard immediately after signup. No OAuth flows, no session management required.
- What format do API responses use?
- JSON. All endpoints return consistent JSON with snake_case keys. Error responses use standard HTTP status codes (400, 401, 403, 404, 429, 500) with a detail field explaining the issue. No XML, no SOAP, no surprises.
- Are there rate limits?
- Rate limits are per-plan: your monthly call allowance spreads across the month. There's no per-second rate limiting within reasonable usage. Heavy batch jobs (10k+ calls per hour) may be throttled — contact us for burst needs or scheduled batch processing windows.
- Can I use the API from a browser (CORS)?
- CORS is not enabled on the production API — it's designed for server-to-server use to protect your API key. Build a server-side proxy that forwards requests to the Homedata API, then expose that to your frontend. This is the correct pattern for any API key-authenticated service.
- Is there a test/sandbox environment?
- The free tier (100 calls/month) functions as your development environment — it's the same API with the same data as production. No separate sandbox needed. Use test UPRNs like 100023045721 (a real Leeds property) for development.
- Do you support webhooks or streaming?
- Not currently — the API is request-response REST. For real-time listing event monitoring or price change alerts, you'd poll the relevant endpoints on a schedule. Webhooks are on the roadmap for Growth+ plans.
More resources for developers
Getting Started →
5-minute quickstart guide. From zero to first API call.
API Reference →
Every endpoint, parameter, response schema, and error code.
Our Data →
Coverage, data sources, and refresh frequencies for every dataset.
Pricing →
Flat plans, credit packs, and call weights for every endpoint.