Skip to content
Eden Engine

UK House Price Index for a Region and Month (HM Land Registry)

landregistry/ukhpi-month

Returns the UK House Price Index record of one region for one month: average price, index value, monthly and annual percentage change, and sales volume, overall and by property type (detached, semi-detached, terraced, flat), by new build or existing, and by buyer type where published. `region` is a lowercase slug such as united-kingdom, england, london, wales, scotland or a local authority such as hackney. An unknown region, or a month with no index (a future month, 2024-13), is refused as VALIDATION. The most recent months omit sales volumes and some segments.

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-month" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "landregistry/ukhpi-month" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "landregistry/ukhpi-month", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "landregistry/ukhpi-month", 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",
    "month"
  ],
  "properties": {
    "month": {
      "type": "string",
      "pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
      "description": "Month as YYYY-MM, for example 2024-01. The index starts in 1968 for the UK."
    },
    "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, hackney or city-of-london."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "result"
  ],
  "properties": {
    "format": {
      "type": "string",
      "description": "Linked Data API format."
    },
    "result": {
      "type": "object",
      "required": [
        "primaryTopic"
      ],
      "properties": {
        "_about": {
          "type": "string",
          "description": "URI of this record."
        },
        "primaryTopic": {
          "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": "The month record.",
      "additionalProperties": true
    },
    "version": {
      "type": "string",
      "description": "Linked Data API version."
    }
  },
  "description": "Linked Data API envelope.",
  "additionalProperties": true
}