UK House Price Index History for a Region (HM Land Registry)
landregistry/ukhpi-history
Returns the newest monthly UK House Price Index records of one region, newest first (`page_size` months, 1 to 24, default 12; `page` steps back in time): average price, index, monthly and annual change and sales volume, with the same optional segments as ukhpi-month. An unknown region is refused as invalid; a page beyond the last month returns an empty `items` list. Records for the most recent months omit sales volumes.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Contains HM Land Registry data © Crown copyright and database right, licensed under the Open Government Licence v3.0 (https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/). Served by Eden Engine; not an official HM Land Registry product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "landregistry/ukhpi-history" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "landregistry/ukhpi-history" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "landregistry/ukhpi-history", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "landregistry/ukhpi-history", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"region"
],
"properties": {
"page": {
"type": "integer",
"default": 0,
"maximum": 60,
"minimum": 0,
"description": "Zero-based page; 0 holds the newest months."
},
"region": {
"type": "string",
"pattern": "^[a-z0-9]+(-[a-z0-9]+){0,6}$",
"maxLength": 60,
"description": "Region slug in lowercase with hyphens, for example united-kingdom, england, london, scotland or hackney."
},
"page_size": {
"type": "integer",
"default": 12,
"maximum": 24,
"minimum": 1,
"description": "Months per page, 1 to 24 (default 12)."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"result"
],
"properties": {
"format": {
"type": "string",
"description": "Linked Data API format."
},
"result": {
"type": "object",
"required": [
"items"
],
"properties": {
"next": {
"type": "string",
"description": "URI of the next page; absent on the last page."
},
"page": {
"type": "integer",
"description": "Zero-based page number."
},
"first": {
"type": "string",
"description": "URI of the first page."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"refMonth"
],
"properties": {
"type": {
"type": "array",
"items": {},
"description": "Record types: URIs and typed labels."
},
"_about": {
"type": "string",
"description": "URI of the record."
},
"dataSet": {
"type": "string",
"description": "URI of the index data set."
},
"refMonth": {
"type": "string",
"description": "Reference month, YYYY-MM."
},
"refRegion": {
"type": "object",
"properties": {
"label": {
"type": "array",
"items": {
"type": "object",
"properties": {
"_lang": {
"type": "string",
"description": "Language code."
},
"_value": {
"type": "string",
"description": "Region name."
}
},
"description": "A label.",
"additionalProperties": true
},
"description": "Region names."
},
"_about": {
"type": "string",
"description": "URI of the region."
}
},
"description": "The region.",
"additionalProperties": true
},
"salesVolume": {
"type": "number",
"description": "Number of completed sales, all property types. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePrice": {
"type": "number",
"description": "Average price (GBP), all property types. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceSA": {
"type": "number",
"description": "Average price (GBP), seasonally adjusted. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"refPeriodStart": {
"type": "string",
"description": "Start of the reference period, for example Mon, 01 Jan 2024."
},
"housePriceIndex": {
"type": "number",
"description": "House price index (January 2023 = 100), all property types. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"salesVolumeCash": {
"type": "number",
"description": "Number of completed sales, cash buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceCash": {
"type": "number",
"description": "Average price (GBP), cash buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChange": {
"type": "number",
"description": "Change on the previous month (percent), all property types. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexSA": {
"type": "number",
"description": "House price index (January 2023 = 100), seasonally adjusted. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"refPeriodDuration": {
"type": "integer",
"description": "Length of the reference period in months."
},
"housePriceIndexCash": {
"type": "number",
"description": "House price index (January 2023 = 100), cash buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"salesVolumeMortgage": {
"type": "number",
"description": "Number of completed sales, mortgage buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"salesVolumeNewBuild": {
"type": "number",
"description": "Number of completed sales, new builds. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceDetached": {
"type": "number",
"description": "Average price (GBP), detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceMortgage": {
"type": "number",
"description": "Average price (GBP), mortgage buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceNewBuild": {
"type": "number",
"description": "Average price (GBP), new builds. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceTerraced": {
"type": "number",
"description": "Average price (GBP), terraced houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeCash": {
"type": "number",
"description": "Change on the previous month (percent), cash buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChange": {
"type": "number",
"description": "Change on the same month a year earlier (percent), all property types. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexDetached": {
"type": "number",
"description": "House price index (January 2023 = 100), detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexMortgage": {
"type": "number",
"description": "House price index (January 2023 = 100), mortgage buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexNewBuild": {
"type": "number",
"description": "House price index (January 2023 = 100), new builds. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexTerraced": {
"type": "number",
"description": "House price index (January 2023 = 100), terraced houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceSemiDetached": {
"type": "number",
"description": "Average price (GBP), semi-detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeDetached": {
"type": "number",
"description": "Change on the previous month (percent), detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeMortgage": {
"type": "number",
"description": "Change on the previous month (percent), mortgage buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeNewBuild": {
"type": "number",
"description": "Change on the previous month (percent), new builds. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeTerraced": {
"type": "number",
"description": "Change on the previous month (percent), terraced houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceFirstTimeBuyer": {
"type": "number",
"description": "Average price (GBP), first-time buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceFlatMaisonette": {
"type": "number",
"description": "Average price (GBP), flats and maisonettes. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeCash": {
"type": "number",
"description": "Change on the same month a year earlier (percent), cash buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexSemiDetached": {
"type": "number",
"description": "House price index (January 2023 = 100), semi-detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"salesVolumeExistingProperty": {
"type": "number",
"description": "Number of completed sales, existing properties. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceExistingProperty": {
"type": "number",
"description": "Average price (GBP), existing properties. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeSemiDetached": {
"type": "number",
"description": "Change on the previous month (percent), semi-detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexFirstTimeBuyer": {
"type": "number",
"description": "House price index (January 2023 = 100), first-time buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexFlatMaisonette": {
"type": "number",
"description": "House price index (January 2023 = 100), flats and maisonettes. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeDetached": {
"type": "number",
"description": "Change on the same month a year earlier (percent), detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeMortgage": {
"type": "number",
"description": "Change on the same month a year earlier (percent), mortgage buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeNewBuild": {
"type": "number",
"description": "Change on the same month a year earlier (percent), new builds. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeTerraced": {
"type": "number",
"description": "Change on the same month a year earlier (percent), terraced houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeFirstTimeBuyer": {
"type": "number",
"description": "Change on the previous month (percent), first-time buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeFlatMaisonette": {
"type": "number",
"description": "Change on the previous month (percent), flats and maisonettes. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"averagePriceFormerOwnerOccupier": {
"type": "number",
"description": "Average price (GBP), former owner-occupiers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexExistingProperty": {
"type": "number",
"description": "House price index (January 2023 = 100), existing properties. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeExistingProperty": {
"type": "number",
"description": "Change on the previous month (percent), existing properties. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"housePriceIndexFormerOwnerOccupier": {
"type": "number",
"description": "House price index (January 2023 = 100), former owner-occupiers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeSemiDetached": {
"type": "number",
"description": "Change on the same month a year earlier (percent), semi-detached houses. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageChangeFormerOwnerOccupier": {
"type": "number",
"description": "Change on the previous month (percent), former owner-occupiers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeFirstTimeBuyer": {
"type": "number",
"description": "Change on the same month a year earlier (percent), first-time buyers. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeFlatMaisonette": {
"type": "number",
"description": "Change on the same month a year earlier (percent), flats and maisonettes. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeExistingProperty": {
"type": "number",
"description": "Change on the same month a year earlier (percent), existing properties. Absent when the series has no value for the month (recent months often lack sales volumes)."
},
"percentageAnnualChangeFormerOwnerOccupier": {
"type": "number",
"description": "Change on the same month a year earlier (percent), former owner-occupiers. Absent when the series has no value for the month (recent months often lack sales volumes)."
}
},
"description": "One monthly index record. Every measure is optional: the most recent months omit sales volumes and some segments.",
"additionalProperties": true
},
"description": "Monthly records, newest first; empty for a page beyond the last month."
},
"_about": {
"type": "string",
"description": "URI of this page."
},
"startIndex": {
"type": "integer",
"description": "One-based index of the first item."
},
"itemsPerPage": {
"type": "integer",
"description": "Page size."
},
"totalResults": {
"type": "integer",
"description": "Total records for the query, when the service reports it."
}
},
"description": "The page of records.",
"additionalProperties": true
},
"version": {
"type": "string",
"description": "Linked Data API version."
}
},
"description": "Linked Data API envelope.",
"additionalProperties": true
}