Data catalogue/ Prices & transactions
Prices & transactions
Every listing event. Every price change. Every completion. The full transaction lifecycle for 29M UK properties, from "Added" to "Sold" and everything in between.
Sales history from 5 tokens · price trends and distributions 1 token · 100 tokens = £1
Working out the true cost of a purchase? Calculate stamp duty →
- Added12 Jan 2024 • Savills Bristol£595,000
- Price Changed28 Feb 2024£575,000−3.4%
- Under Offer15 Mar 2024 • 63 days on market–
- Sold STC22 Mar 2024–
- Completed28 May 2024 • Land Registry£558,00097.0%
Listing event timeline. Every property transaction tells a story. Our API captures the full lifecycle, not just the final sale price.
What's included
What you get back
Sale prices
Completed transaction prices from Land Registry. Price paid, date, tenure type (freehold/leasehold), and property classification at time of sale.
GET /property_sales/
Listing events
The full lifecycle: Added, Price Changed, Under Offer, Sold STC, Withdrawn, Completed. With date, price, and source for every event.
Nested in property_sale_events
Asking prices
Current and historical UK asking prices. Track price reductions over time.
Nested in property_listings
Price trends
Monthly median asking prices by outcode. Track area price movements over the past 12 months with volatility scoring.
GET /price_trends/{outcode}/
Land Registry titles
Title number, tenure type, proprietor information, and registration date from HM Land Registry records.
GET /property_lr_titles/{uprn}/
Price distributions
Listing price distribution by outcode: 5 equal-width bins showing how prices spread across any area at a glance.
GET /price_distributions/{outcode}/
The API
What the API returns
The same data, as JSON. Nested property_sale_events give you every step of the transaction.
Three endpoints covering sales history, area trends, and price distributions. All return JSON. All three are included for every account.
Property Sales History5 tokens
Full transaction history for a UPRN. Includes nested listing events (Added, Price Changed, Sold STC, Completed) and agent details.
Price Trends1 token
Monthly median asking prices for any outcode. 12-month trend with volatility score. Cached 24h.
Price Distributions1 token
5 equal-width price bins for any outcode. See where the market clusters, from entry-level to premium.
{
"count": 1,
"results": [
{
"uprn": "100023336956",
"address": "14 Maple Avenue, Bristol BS8 3AJ",
"property_type": "Semi-detached",
"bedrooms": 4,
"tenure": "Freehold",
"property_sale_events": [
{
"event_type": "Added",
"date": "2024-01-12",
"price": 595000,
"source": "Home.co.uk",
"agent": "Savills Bristol"
},
{
"event_type": "Price Changed",
"date": "2024-02-28",
"price": 575000,
"source": "Home.co.uk",
"agent": null
},
{
"event_type": "Under Offer",
"date": "2024-03-15",
"price": null,
"source": "Home.co.uk",
"agent": null
},
{
"event_type": "Sold STC",
"date": "2024-03-22",
"price": null,
"source": "Home.co.uk",
"agent": null
},
{
"event_type": "Completed",
"date": "2024-05-28",
"price": 558000,
"source": "Land Registry",
"agent": null
}
],
"property_listings": [
{
"listing_id": "142857",
"agent": "Savills Bristol",
"first_listed": "2024-01-12",
"last_updated": "2024-05-28",
"bedrooms": 4,
"display_address": "Maple Avenue, Clifton"
}
]
}
]
}
# cURL
curl "https://api.homedata.co.uk/property_sales/?uprn=100023336956" \
-H "Authorization: Api-Key YOUR_KEY"
# Python
import requests
resp = requests.get(
"https://api.homedata.co.uk/property_sales/",
params={"uprn": "100023336956"},
headers={"Authorization": "Api-Key YOUR_KEY"}
)
sales = resp.json()["results"]
for event in sales[0]["property_sale_events"]:
print(f"{event['event_type']}: £{event['price']}")
// JavaScript
const res = await fetch(
"https://api.homedata.co.uk/property_sales/?uprn=100023336956",
{ headers: { "Authorization": "Api-Key YOUR_KEY" } }
);
const { results } = await res.json();
results[0].property_sale_events.forEach(e =>
console.log(`${e.event_type}: £${e.price}`)
);
# cURL
curl https://api.homedata.co.uk/price_trends/SW1A/ \
-H "Authorization: Api-Key YOUR_KEY"
# Python
import requests
resp = requests.get(
"https://api.homedata.co.uk/price_trends/SW1A/",
headers={"Authorization": "Api-Key YOUR_KEY"}
)
data = resp.json()
for month in data["trends"]:
print(f"{month['month']}: £{month['median_price']}")
// JavaScript
const res = await fetch(
"https://api.homedata.co.uk/price_trends/SW1A/",
{ headers: { "Authorization": "Api-Key YOUR_KEY" } }
);
const data = await res.json();
data.trends.forEach(m =>
console.log(`${m.month}: £${m.median_price}`)
);
# cURL
curl https://api.homedata.co.uk/price_distributions/BS8/ \
-H "Authorization: Api-Key YOUR_KEY"
# Python
import requests
resp = requests.get(
"https://api.homedata.co.uk/price_distributions/BS8/",
headers={"Authorization": "Api-Key YOUR_KEY"}
)
for bin in resp.json()["bins"]:
print(f"{bin['range']}: {bin['count']} listings")
// JavaScript
const res = await fetch(
"https://api.homedata.co.uk/price_distributions/BS8/",
{ headers: { "Authorization": "Api-Key YOUR_KEY" } }
);
const { bins } = await res.json();
bins.forEach(b =>
console.log(`${b.range}: ${b.count} listings`)
);
GET /property_sales/?uprn=100023336956
Land Registry
Sale price history
30 years of Land Registry records for England and Wales. Every sale, linked to the property's UPRN.
Outcode trends
Monthly price trends
Median asking prices by outcode, updated monthly. Track market movements and volatility at a glance.
BS8 price distribution
Built for
Who uses it
PropTech platforms
Feed complete transaction histories into your app. Price alerts, market analysis tools, portfolio tracking.
Estate agents
Accurate pricing intelligence. See how long similar properties take to sell and what they actually achieve vs asking price.
Property investors
Spot price reductions, track listing events, and monitor market timing across your target postcodes.
Data sources
Where it comes from
This dataset is part of the UK property data platform: 29 million UK properties covered.
- HM Land Registry ↗UK Price Paid Data, 30+ years of residential property transactions. Open Government Licence v3.0.
- Home.co.uk market dataproprietary market activity (listing status changes, price reductions, sold STC) sourced from UK estate agent platforms.
Related data
Pair it with
Prices & Transactions pairs well with these data types for richer analysis.
Comparables
Find similar sold properties near any UPRN in England and Wales. Sorted by distance, filtered by bedrooms and type.
Agent & market data
Which agents sell fastest, achieve closest to asking, and dominate which postcodes.
Property characteristics
Bedrooms, floor area, build year, tenure, and council tax band for 29M properties.
All eight data groups
Start with one property.
Pay as you go, 100 tokens = £1, no subscription needed.