Data catalogue/ Prices & transactions/ Price trends
Price trends
Monthly median asking prices for any UK outcode, 12 months of data in a single API call. See whether an area is rising, falling, or flat. With volatility scoring so you know how much to trust the trend.
{
"outcode": "BS8",
"period_change_pct": 18.9,
"volatility_score": "low",
"trend_direction": "rising",
"monthly_trends": [
{
"month": "2024-04",
"median_price": 41800000,
"listing_count": 63,
"price_change_pct": null,
"trend_direction": "rising"
},
{
"month": "2025-03",
"median_price": 49700000,
"listing_count": 71,
"price_change_pct": 3.3,
"trend_direction": "rising"
}
]
}12-month area price trend
Each month returns the median asking price and number of active listings for the outcode. Pass any UK outcode to GET /price_trends/{outcode}/ .
Response fields
Fields returned for each month in the monthly_trends array.
Median prices are based on active listing prices, not completed sales. They reflect what sellers are asking: combine with property_sales data to see the ask-vs-sold gap.
| Field | Type | What it is |
|---|---|---|
| outcode | string | The UK outcode queried (e.g. BS8, SW1A, M1) |
| month | string | Year-month in ISO format (e.g. 2025-03) |
| median_price | integer | Median asking price in pence for this outcode and month |
| listing_count | integer | Number of active listings that contributed to the median |
| price_change_pct | float | Month-on-month % change in median price (null for first month) |
| volatility_score | string | Low / Medium / High, based on standard deviation of monthly prices |
| trend_direction | string | rising, falling, or flat, derived from linear regression over the period |
| period_change_pct | float | Total % change from first month to last month in the response |
curl "https://api.homedata.co.uk/price_trends/BS8/" \ -H "Authorization: Api-Key YOUR_KEY"
import requests
resp = requests.get(
"https://api.homedata.co.uk/price_trends/BS8/",
headers={"Authorization": "Api-Key YOUR_KEY"},
)
data = resp.json()
for month in data["monthly_trends"]:
print(month["month"], month["median_price"], month["trend_direction"])
const res = await fetch(
"https://api.homedata.co.uk/price_trends/BS8/",
{ headers: { "Authorization": "Api-Key YOUR_KEY" } }
);
const data = await res.json();
data.monthly_trends.forEach(m => {
console.log(m.month, m.median_price, m.trend_direction);
});
More in Prices & transactions
Start building today.
Pay as you go, 100 tokens = £1, first top-up matched. Get your key and test with real data.