Home › Funding, grants and compliance › UK Sold Prices + EPC Rating API
Look up UK sold house prices from HM Land Registry and get the official EPC energy rating, score, floor area and price per m2 for each sale, matched by address. Search by postcode, town, district or county. Median stats and a new-sales monitor included. Official open data, no login. Beta.
| Field | Name | Required | What it does |
|---|---|---|---|
postcodes | Postcodes | no | Full UK postcodes, e.g. M1 1AE. One search per postcode. If given, towns, districts and counties are ignored. |
towns | Towns | no | Town names as recorded by HM Land Registry, e.g. LEEDS. Exact match. |
districts | Districts | no | Local authority district names, e.g. CITY OF WESTMINSTER. Exact match. |
counties | Counties | no | County names, e.g. WEST YORKSHIRE or GREATER LONDON. Exact match. |
street | Street (optional) | no | Narrow the area to one street name, e.g. NEWTON STREET. Exact match, combined with the town, district, county or postcode. |
yearsBack | Years back | no | Only sales in the last N years. Ignored if Date from is set. |
dateFrom | Date from (YYYY-MM-DD) | no | Earliest transfer date, e.g. 2024-01-01. |
dateTo | Date to (YYYY-MM-DD) | no | Latest transfer date. |
propertyTypes | Property types | no | Leave empty for all types. |
newBuild | New builds | no | Filter by the new-build flag. |
minPrice | Min price (GBP) | no | Optional lower price bound. |
maxPrice | Max price (GBP) | no | Optional upper price bound. |
epcOnly | Only sales with an EPC | no | Deliver (and charge for) only sales that were matched to an EPC certificate, looking further back through the sales list to find them. Without it, unmatched sales are still... |
epcRatings | EPC rating filter | no | Only sales whose matched EPC energy band is one of these (A is best, G is worst). Implies 'Only sales with an EPC'. Leave empty for all. |
One row per result. These are the 66 fields declared in the actor's dataset schema (field list from the schema, not a sample run).
| Field | Type | Meaning |
|---|---|---|
recordType | string | |
transactionId | string | |
currency | string | |
dateOfTransfer | string | |
propertyType | string | |
tenure | string | |
transactionCategory | string | |
address | string | |
postcode | string | |
paon | string | |
saon | string | |
street | string | |
locality | string | |
town | string | |
district | string | |
county | string | |
sourceUrl | string | |
source | string | |
scrapedAt | string | |
area | string | |
basedOn | string | |
earliestSale | string | |
latestSale | string | |
price | number | |
count | number | |
medianPrice | number | |
averagePrice | number | |
minPrice | number | |
maxPrice | number | |
newBuild | boolean | |
byPropertyType | object | |
epcMatched | boolean | |
epcStatus | string | |
epcBasis | string | |
epcCertificateNumber | string | |
uprn | string | |
epcRating | string | |
epcScore | number | |
epcPotentialRating | string | |
epcPotentialScore | number |
Public data only, no login. Fields a source does not publish come back empty rather than guessed. Coverage and freshness follow the underlying public source.
Pay on Apify, no subscription: $0.001 per sale record returned (pay per event). The live price is on the actor page.
Disclosure: we build and maintain this actor.