Agent Package · Pay as you go
Property data API for estate agents.
Comps, price trends, EPC ratings, and agent market stats: all from one API. Build valuation tools, market reports, and client dashboards without manual lookups or maintaining data pipelines. Powered by residential property data from a licensed listings feed.
Pay as you go: 100 tokens = £1. First top-up matched 100%.
What you get
What's in the Agent Package
Core Property + Market & Pricing modules. Everything an estate agent platform needs: address lookup through to market intelligence.
Market & Pricing · Enterprise
Comparable sales
0.5-mile radius search. Up to 200 comps per call, sorted by bedroom match. Filter by type, date, and event. Arranged per customer rather than sold self-serve.
GET /comparables/{uprn}/ Market & Pricing · 1 token
Price trends
Monthly median asking prices by outcode, 12-month rolling window with volatility score. Show clients where the market is heading.
GET /price_trends/{outcode}/ Market & Pricing · Enterprise
Live market data
Active market inventory by postcode, updated daily. Arranged per customer rather than sold self-serve.
Talk to us about access →Market & Pricing · 1 token
Agent market stats
Active listings, average days on market, and price change stats by postcode. Power competitive analysis dashboards.
GET /agent_stats/{uprn}/ Core Property · 1 token
Property record
Bedrooms, bathrooms, property type, floor area, construction year, garden, parking, and sold price history for any UPRN in England and Wales.
GET /properties/{uprn}/ Core Property · 1 token
EPC rating
Current and potential energy efficiency scores, floor area, and last assessment date. Required field for rental listings from 2025.
GET /epc-checker/{uprn}/ Check any property's EPC instantly →Worked example
Build a comparable evidence report
Address → UPRN → comparables + price trends. Three calls. Everything a RICS-standard valuation needs as supporting evidence.
Step 1: find the UPRN from a typed address
# address/find: 2 tokens curl "https://api.homedata.co.uk/address/find/?q=42+Church+Road+Bristol" \ -H "Authorization: Api-Key YOUR_API_KEY" # returns suggestions[] with uprn, address, postcode # Step 2: pull comparable sales (arranged per customer, not self-serve) curl "https://api.homedata.co.uk/comparables/100023456789/" \ -H "Authorization: Api-Key YOUR_API_KEY" # ?count=20&property_type=Semi-Detached&event_type=sold # Step 3: outcode price trend curl "https://api.homedata.co.uk/price_trends/BS6/" \ -H "Authorization: Api-Key YOUR_API_KEY"
import requests
API_KEY = "YOUR_API_KEY"
BASE = "https://api.homedata.co.uk"
HEADERS = {"Authorization": f"Api-Key {API_KEY}"}
# Step 1: resolve address to UPRN (2 tokens)
r = requests.get(f"{BASE}/address/find/", params={"q": "42 Church Road Bristol"}, headers=HEADERS)
uprn = r.json()["suggestions"][0]["uprn"]
# Step 2: comparable sales within 0.5 miles (arranged per customer, not self-serve)
comps = requests.get(
f"{BASE}/comparables/{uprn}/",
headers=HEADERS,
params={"property_type": "Semi-Detached", "count": 20, "event_type": "sold"}
).json()
for c in comps["comparables"]:
print(f"{c['address']}: £{c['sold_let_price']:,} ({c['sold_let_date']}), {c['distance_meters']}m away")
# Step 3–12-month price trend for the outcode
postcode = r.json()["suggestions"][0]["postcode"]
outcode = postcode.split()[0] # e.g. 'BS6'
trends = requests.get(f"{BASE}/price_trends/{outcode}/", headers=HEADERS).json()
months = sorted(trends["monthly_average_prices"].items())
print(f"Latest median: £{months[-1][1]:,}")
const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://api.homedata.co.uk';
const headers = { 'Authorization': `Api-Key ${API_KEY}` };
async function buildComparableReport(address) {
// Step 1: UPRN lookup
const find = await fetch(`${BASE}/address/find/?q=${encodeURIComponent(address)}`, { headers });
const { suggestions } = await find.json();
const { uprn, postcode } = suggestions[0];
// Step 2: comparable sales (arranged per customer, not self-serve)
const compsResp = await fetch(
`${BASE}/comparables/${uprn}/?property_type=Semi-Detached&count=20&event_type=sold`,
{ headers }
);
const { comparables } = await compsResp.json();
// Step 3: price trend for outcode
const outcode = postcode.split(' ')[0];
const trendResp = await fetch(`${BASE}/price_trends/${outcode}/`, { headers });
const { monthly_average_prices } = await trendResp.json();
return { uprn, comparables, monthly_average_prices };
}
buildComparableReport('42 Church Road Bristol').then(console.log);
Pricing
Agent Package pricing
Transparent token weights: most property data costs 1 token, address find is 2 tokens, retrieve is 5. Know your API costs before you write a line of code. Pay as you go with one-off top-ups of any amount from £20, or add tokens every month. A monthly subscription earns up to 75% bonus tokens: change the amount or stop any time.
Pay as you go
100 tokens = £1Every endpoint · First top-up matched 100%
- Address lookup (find 2 tokens, retrieve 5)
- Property records + EPC
- Build and test locally
Monthly
£250 a month30,000 tokens a month
+20% bonus tokens · Every endpoint
- Same full endpoint access as every account
- Comparable sales
- Price trends + distributions
- Property records + EPC
- Agent market stats
Monthly
£500 a month67,500 tokens a month
+35% bonus tokens · Every endpoint
- Same full endpoint access as every account
- Planning applications
- Risk & environment data
- Land Registry titles
What property data does Homedata provide for estate agents?
The Agent Package gives you access to comparable sales (sorted by proximity), price trends by outcode, agent market statistics, EPC ratings, council tax bands, and full property records. All accessible via a single REST API with predictable per-call pricing.
How much does the estate agent API package cost?
The Agent Package is pay as you go: 100 tokens = £1, most calls 1 token. Your first top-up is matched 100%: enough to build, test and evaluate the data. No contracts, cancel anytime.
Can I build a comparable evidence tool using this API?
Yes. The /comparables/{uprn}/ endpoint returns up to 200 comparable properties within 0.5 miles, sorted by bedroom match and proximity. Filter by property type, date range, and transaction type. Returns sold price, floor area, EPC rating, garden, parking, and listing history for each comparable.
Can estate agents get live on-market listings?
Live on-market listings are an enterprise dataset, arranged per customer rather than sold self-serve. Get in touch and we will scope coverage and access with you.
Related
Related resources
Other packs
Start building today.
Pay as you go, 100 tokens = £1, first top-up matched. Get your key and test with real data.