hmlr-price-paid
Pricing
from $0.01 / 1,000 results
hmlr-price-paid
Fetch UK house sold prices from HM Land Registry Price Paid Data. Search by postcode or address — returns price, date, property type, tenure and full address for every registered sale since 1995. For property investors, estate agents and researchers. No API key. England and Wales.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Charles
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
HMLR Price Paid Data
Fetches UK residential property sale history from the HM Land Registry Price Paid dataset. Search by postcode or address and get every registered transaction — price, date, property type, tenure, and full address. No API key required.
Data source: Free official UK government open data (OGL v3).
Coverage: England and Wales only. Scotland uses Registers of Scotland; Northern Ireland uses LPSNI.
Sample output
{"record_type": "transaction","transaction_id": "9B361207-056B-1904-E053-6B04A8C0EEB5","price": 395000,"date": "Fri, 22 Nov 2019","postcode": "M14 5QL","paon": "63","saon": null,"street": "DAISY BANK ROAD","locality": null,"town": "MANCHESTER","district": "MANCHESTER","county": "GREATER MANCHESTER","full_address": "63, DAISY BANK ROAD, MANCHESTER, MANCHESTER, GREATER MANCHESTER, M14 5QL","property_type": "Semi-Detached","property_type_code": "semi-detached","tenure": "Freehold","tenure_code": "freehold","is_new_build": false}
Output fields
Transaction records (record_type: "transaction")
| Field | Type | Description |
|---|---|---|
record_type | string | Always "transaction" |
transaction_id | string | Unique HMLR transaction UUID |
price | integer | Sale price in GBP |
date | string | Transaction date as returned by HMLR (e.g. "Fri, 22 Nov 2019") |
postcode | string | Full UK postcode |
paon | string | Primary addressable object name (house number or name) |
saon | string|null | Secondary addressable object name (flat number etc.), if present |
street | string | Street name |
locality | string|null | Locality, if recorded |
town | string | Town or city |
district | string | Local authority district |
county | string | County |
full_address | string | Constructed full address string |
property_type | string | Detached / Semi-Detached / Terraced / Flat/Maisonette / Other |
property_type_code | string | URI slug: detached, semi-detached, terraced, flat-maisonette, other |
tenure | string | Freehold / Leasehold |
tenure_code | string | freehold or leasehold |
is_new_build | boolean | True if the sale was a new build |
INSPIRE polygon records (record_type: "inspire_polygon")
Returned when includeInspirePolygons is true and the postcode is provided. Each record is a registered title boundary from the HMLR INSPIRE Index.
| Field | Type | Description |
|---|---|---|
record_type | string | Always "inspire_polygon" |
inspire_id | string | INSPIRE feature ID |
title_number | string | Land Registry title number |
tenure | string | Freehold / Leasehold |
property_address | string|null | Associated property description |
geometry_type | string | GeoJSON geometry type (e.g. "Polygon") |
geometry | string | GeoJSON geometry as a JSON string |
Note: INSPIRE polygon data may not be available from cloud environments due to government IP restrictions. When unavailable the actor skips silently and still returns all transaction records.
Inputs
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
postcode | string | one of | — | UK postcode, e.g. M14 5QL |
address | string | one of | — | Partial or full address, e.g. 63 Daisy Bank Road |
startDate | string | no | — | Filter from date, format YYYY-MM-DD |
endDate | string | no | — | Filter to date, format YYYY-MM-DD |
propertyType | select | no | all | Property type filter |
tenure | select | no | all | Freehold or Leasehold |
newBuildOnly | boolean | no | false | Return new build transactions only |
maxResults | integer | no | 100 | Maximum transactions to return (up to 5,000) |
includeInspirePolygons | boolean | no | true | Also fetch HMLR INSPIRE property boundary polygons |
At least one of postcode or address must be provided.
Use cases
- Property research — full sale history for a postcode or address, going back to 1995
- Investment analysis — price trends, comparable sales, buy-to-let yield estimation
- Stranded asset risk — combine with EPC data to identify D/E/F/G-rated properties that will need upgrade before 2028 BTL regulation
- Area intelligence — median prices, property type breakdown, market activity
- Data journalism — academic and journalistic research on UK housing
APIs used
| API | URL | Key required |
|---|---|---|
| HMLR Price Paid REST | landregistry.data.gov.uk/data/ppi/transaction-record.json | No |
| HMLR INSPIRE WFS | inspire.landregistry.gov.uk/inspire/wfs | No |
| postcodes.io | api.postcodes.io/postcodes | No |
Notes
- Registration lag: New build prices may appear several months after exchange — HMLR registers on legal completion, not on exchange of contracts.
- England and Wales only: Does not cover Scotland (Registers of Scotland) or Northern Ireland (LPSNI).
- Historical data: The dataset goes back to January 1995 for residential properties.
- Additional Price Paid (APP) transactions are included alongside standard transactions. These are sales that fall outside the standard residential categories (e.g. repossessions, right-to-buy).