UK Land Registry Price Paid Data avatar

UK Land Registry Price Paid Data

Pricing

Pay per event

Go to Apify Store
UK Land Registry Price Paid Data

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

RustonRoad

Maintained by Community

Actor 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.

OutputWhat you get
🏠 SalesEvery matching sale: price, date, full address, postcode, property type, new build, tenure, PPD category
📊 Area compsPer 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

FieldExampleNotes
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 / to2026-06-01 / 2026-08-31Empty = the last 12 months of published data
Property types["F", "T"]D, S, T, F, O
New build / Tenureany
Min / max price200000 / 600000
Include category BfalseRepossessions, buy to let, non private buyers
OutputsalesAndCompsor sales, comps
Compare with previous periodtrue
Max sale rows10000 = 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"}'

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

Contains HM Land Registry data © Crown copyright and database right. This data is licensed under the Open Government Licence v3.0.