Sold Prices and Price Trends for Any UK Postcode
Monthly median asking prices for any UK outward postcode area — 12 months of listing data via Home.co.uk. Includes a volatility score and price distribution across 5 buckets. Built for AVMs, area reports, and market intelligence tools.
Free tier: 100 requests/month. No credit card required.
Two price endpoints
Use them together to build a complete price intelligence picture for any area.
Monthly median asking prices (sale listings) over the past 12 months. Includes a volatility score (0–100) based on month-to-month variation.
curl "https://api.homedata.co.uk/api/price_trends/SW1A/" \ -H "Authorization: Api-Key YOUR_API_KEY"
{
"outcode": "SW1A",
"monthly_average_prices": {
"2024-04": 1250000,
"2024-05": 1280000,
"2024-06": 1195000,
"2024-07": 1310000,
// ... up to 12 months
},
"volatility_score": 18.5
}
Price distribution for a given outcode — sale listings from the past 12 months bucketed into 5 equal-width price bands. Shows where in the market the volume sits.
curl "https://api.homedata.co.uk/api/price_distributions/BS8/" \ -H "Authorization: Api-Key YOUR_API_KEY"
{
"outcode": "BS8",
"bins": {
"150000-430000": 612,
"430000-710000": 248,
"710000-990000": 87,
"990000-1270000": 31,
"1270000-1550000": 12
}
}
Response fields
Both endpoints cache results for 24 hours — identical requests return instantly.
Price trends response
| Field | Type | Description |
|---|---|---|
| outcode | string | Requested outward postcode, uppercased |
| monthly_average_prices | object | Map of YYYY-MM → median asking price (GBP integer). Only months with listing data are returned. |
| volatility_score | float | 0–100 score based on median month-to-month price variation. Higher = more volatile market. |
Price distribution response
| Field | Type | Description |
|---|---|---|
| outcode | string | Requested outward postcode, uppercased |
| bins | object | 5 price bands (min–max) as keys, listing count as value. Equal-width bins from min to max price in the area. |
Note: The distribution endpoint uses sale listings only (transaction_type=Sale). Rental listings are excluded.
Volatility score explained
The volatility score is derived from the median of month-to-month percentage price changes over the 12-month window. A score of 0 means prices were flat every month. A score of 100 means extreme swings.
Low listing volume areas may show elevated volatility scores due to small sample effects.
Combine both endpoints
const outcode = "M20"; const headers = { "Authorization": "Api-Key YOUR_API_KEY" }; const [trends, distribution] = await Promise.all([ fetch(`https://api.homedata.co.uk/api/price_trends/{outcode}/`, { headers }).then(r => r.json()), fetch(`https://api.homedata.co.uk/api/price_distributions/{outcode}/`, { headers }).then(r => r.json()), ]); const months = Object.values(trends.monthly_average_prices); const latest = months.at(-1); const oldest = months[0]; const change = ((latest - oldest) / oldest * 100).toFixed(1); console.log(`{outcode} 12-month trend: {change}%`); console.log(`Volatility: {trends.volatility_score}/100`); const topBand = Object.entries(distribution.bins) .sort((a, b) => b[1] - a[1])[0]; console.log(`Most common price band: £{topBand[0]} ({topBand[1]} listings)`);
Who uses price trend data
Price trends and distributions are core inputs for any market-aware property product.
AVM models
Price trend velocity as a market-adjustment factor. Flat market = lower adjustment multiplier. Rising market = time-weight recent comps more heavily.
Area intelligence tools
Show buyers the 12-month price trend chart for any search area. Distribution shows where the bulk of stock sits vs. outliers at the top end.
Mortgage risk modelling
Volatility score flags high-risk postcodes for LTV stress testing. Rising volatility in an area is an early warning signal for lenders.
Investment research
Compare price growth across multiple outcodes to identify where capital appreciation is happening. Bucket distribution reveals market depth.
Get your free API key
100 requests/month on the free tier. No credit card. From signup to your first price trend in under 5 minutes.