Fetches monthly UK House Price Index data for a region from the HM Land Registry linked data service. Coverage: 441+ areas (countries, regions, counties, local authorities) from January 1995 (England and Wales), January 2004 (Scotland), January 2005 (Northern Ireland).
Arguments
- region
Character. Region slug, GSS code, or common name (e.g.
"westminster","Westminster","E09000033"). Seeukh_regions()for common options.- from, to
Optional character or Date. Start and end dates in ISO format (YYYY-MM-DD). Default returns the full available history.
- refresh
Logical. Re-download even if cached? Default
FALSE.
Value
A data frame with one row per month. Columns include date,
region, hpi, avg_price, pct_change_monthly,
pct_change_annual, sales_volume, plus property-type and
buyer-type average prices.
Details
The returned data frame includes the headline index, average price, monthly and annual percentage change, sales volume, and breakdowns by property type (detached, semi-detached, terraced, flat) and by buyer type (cash, mortgage, first-time buyer, former owner occupier, new build, existing property).
Sales volumes lag the headline index by approximately five months because the Land Registry needs the full transaction set to settle.
See also
Other house price index:
ukh_hpi_compare(),
ukh_transactions()
Examples
# \donttest{
op <- options(ukhousing.cache_dir = tempdir())
# All UK average house prices
uk <- ukh_hpi("united-kingdom")
#> ℹ Downloading UK HPI for "united-kingdom"...
head(uk)
#> date region hpi avg_price pct_change_monthly
#> 1 2025-04-01 united-kingdom 99.9 260615 NA
#> 2 2025-05-01 united-kingdom 101.2 263981 NA
#> 3 2025-06-01 united-kingdom 102.3 267004 NA
#> 4 2025-07-01 united-kingdom 103.2 269373 NA
#> 5 2025-08-01 united-kingdom 104.1 271690 NA
#> 6 2025-09-01 united-kingdom 103.8 270774 NA
#> pct_change_annual sales_volume avg_price_detached avg_price_semi
#> 1 NA 43449 429276 262652
#> 2 NA 63511 431436 265852
#> 3 NA 69621 434868 269348
#> 4 NA 72184 438688 272360
#> 5 NA 73443 443724 275866
#> 6 NA 67197 444014 274387
#> avg_price_terraced avg_price_flat avg_price_cash avg_price_mortgage
#> 1 216495 191988 NA NA
#> 2 221867 193460 NA NA
#> 3 224773 195615 NA NA
#> 4 227505 195868 NA NA
#> 5 229519 195619 NA NA
#> 6 228689 194602 NA NA
#> avg_price_new_build avg_price_existing avg_price_first_time_buyer
#> 1 342940 256522 NA
#> 2 341677 260191 NA
#> 3 339143 263580 NA
#> 4 344611 265762 NA
#> 5 350751 267847 NA
#> 6 347901 267049 NA
#> avg_price_former_owner
#> 1 NA
#> 2 NA
#> 3 NA
#> 4 NA
#> 5 NA
#> 6 NA
# London, last 10 years
london <- ukh_hpi("london", from = "2016-01-01")
#> ℹ Downloading UK HPI for "london"...
tail(london)
#> date region hpi avg_price pct_change_monthly pct_change_annual
#> 117 2025-09-01 london NA NA NA NA
#> 118 2025-10-01 london NA NA NA NA
#> 119 2025-11-01 london NA NA NA NA
#> 120 2025-12-01 london NA NA NA NA
#> 121 2026-01-01 london NA NA NA NA
#> 122 2026-02-01 london NA NA NA NA
#> sales_volume avg_price_detached avg_price_semi avg_price_terraced
#> 117 6032 NA NA NA
#> 118 6097 NA NA NA
#> 119 4361 NA NA NA
#> 120 4386 NA NA NA
#> 121 NA NA NA NA
#> 122 NA NA NA NA
#> avg_price_flat avg_price_cash avg_price_mortgage avg_price_new_build
#> 117 NA NA NA NA
#> 118 NA NA NA NA
#> 119 NA NA NA NA
#> 120 NA NA NA NA
#> 121 NA NA NA NA
#> 122 NA NA NA NA
#> avg_price_existing avg_price_first_time_buyer avg_price_former_owner
#> 117 NA NA NA
#> 118 NA NA NA
#> 119 NA NA NA
#> 120 NA NA NA
#> 121 NA NA NA
#> 122 NA NA NA
options(op)
# }