UK Land Registry Price Paid Data
Pricing
Pay per event
UK Land Registry Price Paid Data
Sold house prices for England & Wales from official HM Land Registry Price Paid Data. Search by postcode, district, town, county, date range and property type, and get area comps (median, count, % change vs previous period).
Pricing
Pay per event
Rating
0.0
(0)
Developer
RustonRoad
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
UK Land Registry Price Paid Data: Sold House Prices & Area Comps
Get sold house prices for England & Wales from the official HM Land Registry Price Paid Data. Search by postcode, postcode district, town, local authority district, county, date range, property type, tenure and new build, and get area comps: sales count, median, mean, quartiles and % change vs the previous period. Official open data, no scraping, no login, no API key.
| Output | What you get |
|---|---|
| 🏠 Sales | Every matching sale: price, date, full address, postcode, property type, new build, tenure, PPD category |
| 📊 Area comps | Per area (and per property type): sales count, median, mean, p25/p75, min/max, previous period median and count, % change |
What it does
- Reads the official HM Land Registry Price Paid Data yearly files (every residential sale in England & Wales since 1995, updated monthly)
- Filters by postcode area / district / sector / full postcode, town, local authority district, county and street
- Filters by date range, property type (detached, semi, terraced, flat, other), new build, tenure and price range
- Builds comparables for each area you enter, split by property type, with the change against the same length period before
- Export to CSV, Excel or JSON, or call it from the API, Make, Zapier or n8n
Who uses it
- Estate agents and valuers: sold comps for a postcode or street in seconds.
- Property investors and sourcers: median prices and price trends by postcode district.
- Proptech and data teams: a clean feed of sold prices for dashboards and models.
- Journalists and researchers: local house price stories with official numbers.
Input
| Field | Example | Notes |
|---|---|---|
| Postcodes | ["SW11", "BS6 5", "M1 1AA"] | Area, district, sector or full postcode. Each value is its own comps area |
| Towns | ["BRISTOL"] | Post town |
| Districts | ["WANDSWORTH"] | Local authority district |
| Counties | ["KENT"] | |
| Date from / to | 2026-06-01 / 2026-08-31 | Empty = the last 12 months of published data |
| Property types | ["F", "T"] | D, S, T, F, O |
| New build / Tenure | any | |
| Min / max price | 200000 / 600000 | |
| Include category B | false | Repossessions, buy to let, non private buyers |
| Output | salesAndComps | or sales, comps |
| Compare with previous period | true | |
| Max sale rows | 1000 | 0 = no cap |
Example: last 3 months of flat and terraced sales in SW11, with comps
{ "postcodes": ["SW11"], "propertyTypes": ["F", "T"], "dateFrom": "2026-06-01", "dateTo": "2026-08-31" }
Example: 12 month comps only for three towns
{ "towns": ["BRISTOL", "LEEDS", "NOTTINGHAM"], "mode": "comps" }
Output
Sale row:
{"recordType": "sale","price": 422975,"dateOfTransfer": "2026-08-27","address": "FLAT A 38, BATH BUILDINGS, BRISTOL","postcode": "BS6 5PU","propertyType": "Flat/maisonette","newBuild": false,"tenure": "Leasehold","district": "CITY OF BRISTOL","county": "CITY OF BRISTOL","ppdCategory": "A (standard)"}
Area comps row:
{"recordType": "areaComps","area": "SW11","areaType": "postcodeDistrict","propertyType": "Flat/maisonette","periodFrom": "2026-06-01","periodTo": "2026-08-31","salesCount": 90,"medianPrice": 580000,"p25Price": 473750,"p75Price": 850000,"previousMedianPrice": 500000,"medianChangePct": 16.0,"salesCountChangePct": -36.2}
A RUN_SUMMARY record in the default key value store has the periods, the latest data month, row counts and filters.
Cost
You pay per event: one event per sale row and one per area comps row. Area comps for a few postcodes cost a few cents. See the Pricing tab for current prices.
API
Run it from any language with the Apify API, for example:
curl -X POST "https://api.apify.com/v2/acts/seaf999ield~uk-land-registry-price-paid/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" -d '{"postcodes":["SW11"],"mode":"comps"}'
Is it legal?
Yes. Price Paid Data is published by HM Land Registry as open data under the Open Government Licence v3.0. The actor downloads the official bulk files only; it does not use the PPD search app or SPARQL endpoint, which robots.txt asks bots not to crawl.
Royal Mail condition: the address fields include data from Royal Mail and Ordnance Survey. HM Land Registry says this address data may be used for personal and/or non commercial use, and commercially only to display for the purpose of providing residential property price information services. Any other commercial use of the addresses needs permission from Royal Mail (address.management@royalmail.com). You are responsible for your use of the data.
FAQ
How fresh is the data? HM Land Registry publishes monthly, on the 20th working day, with sales registered up to the end of the previous month. Sales take weeks or months to be registered, so the latest 2 to 3 months are incomplete: compare counts with care.
Does it cover Scotland or Northern Ireland? No. Price Paid Data covers England and Wales only.
What is category B? Additional Price Paid entries: repossessions, buy to let purchases with a mortgage, and transfers to companies or other non private individuals. They're excluded by default so comps reflect standard market sales.
Can I get older years? Yes, any date range from 1995. Each extra year means another yearly file is read, so long ranges take longer.
More
- Weekly newsletter, UK Industry & Bills: https://ukindustryandbills.substack.com
Contains HM Land Registry data © Crown copyright and database right. This data is licensed under the Open Government Licence v3.0.