Skip to content
Eden Engine

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.

activeper callv1

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

HM Land Registry

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.

agent
// 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 do

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

ChargePrice
Per call
$0.0026
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "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
output_schema.json
{
  "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
}