{
  "openapi": "3.0.1",
  "info": {
    "title": "UK Land Registry Prices Scraper",
    "description": "Filter official HM Land Registry Price Paid Data for England and Wales by postcode, location, date, price, property type, new-build status, tenure, category, and monthly record status. Returns one normalized sale record per dataset item.",
    "version": "1.0",
    "x-build-id": "gAIcF6VgKUPUAQmtM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~uk-land-registry-prices-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-uk-land-registry-prices-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/muhammadafzal~uk-land-registry-prices-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-uk-land-registry-prices-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/muhammadafzal~uk-land-registry-prices-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-uk-land-registry-prices-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "dataSource": {
            "title": "Price Paid Data File",
            "enum": [
              "yearly",
              "latestMonthlyUpdate"
            ],
            "type": "string",
            "description": "Use yearly for corrected transactions grouped by transfer year, or latestMonthlyUpdate for the latest additions, changes, and deletions received by HM Land Registry. Yearly is the default and is best for property-price research.",
            "default": "yearly"
          },
          "year": {
            "title": "Transfer Year",
            "minimum": 1995,
            "maximum": 2026,
            "type": "integer",
            "description": "Use this with the yearly file to select a transfer year; example: 2026. Available years start at 1995. This value is ignored for the latest monthly update.",
            "default": 2026
          },
          "postcode": {
            "title": "Postcode or Prefix",
            "type": "string",
            "description": "Use this for an exact UK postcode or prefix match; examples: SW1A 1AA, NG8, or CF10. Matching ignores spaces and case. Leave empty for all postcodes.",
            "default": "NG8"
          },
          "locationQuery": {
            "title": "Address or Location",
            "type": "string",
            "description": "Use this to search across house/unit, street, locality, town, district, county, and postcode; example: Nottingham. Matching is case-insensitive text containment, not geocoding.",
            "default": ""
          },
          "dateFrom": {
            "title": "Transfer Date From",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Use this to include transfers on or after a date in YYYY-MM-DD format; example: 2026-01-01. Leave empty for no lower date bound.",
            "default": ""
          },
          "dateTo": {
            "title": "Transfer Date To",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Use this to include transfers on or before a date in YYYY-MM-DD format; example: 2026-12-31. Leave empty for no upper date bound.",
            "default": ""
          },
          "minPrice": {
            "title": "Minimum Sale Price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Use this to set the inclusive minimum sale price in pounds; example: 100000. Leave unset for no minimum."
          },
          "maxPrice": {
            "title": "Maximum Sale Price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Use this to set the inclusive maximum sale price in pounds; example: 750000. Leave unset for no maximum."
          },
          "propertyTypes": {
            "title": "Property Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Use this to include selected HM Land Registry property types. Leave empty for detached, semi-detached, terraced, flat/maisonette, and other properties.",
            "items": {
              "type": "string",
              "enum": [
                "D",
                "S",
                "T",
                "F",
                "O"
              ],
              "enumTitles": [
                "Detached",
                "Semi-detached",
                "Terraced",
                "Flat/Maisonette",
                "Other"
              ]
            },
            "default": []
          },
          "newBuild": {
            "title": "New Build Only",
            "type": "boolean",
            "description": "Use true to include only newly built properties and false to include only established properties. Remove the field from API input to include both."
          },
          "tenures": {
            "title": "Tenures",
            "uniqueItems": true,
            "type": "array",
            "description": "Use this to include freehold and/or leasehold sales. Leave empty for both tenures.",
            "items": {
              "type": "string",
              "enum": [
                "F",
                "L"
              ],
              "enumTitles": [
                "Freehold",
                "Leasehold"
              ]
            },
            "default": []
          },
          "categoryTypes": {
            "title": "Price Paid Categories",
            "uniqueItems": true,
            "type": "array",
            "description": "Use A for standard single-property sales, B for additional transactions such as identifiable buy-to-let, repossession, non-private, or Other-property sales. Leave empty for both.",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B"
              ],
              "enumTitles": [
                "A — Standard Price Paid",
                "B — Additional Price Paid"
              ]
            },
            "default": []
          },
          "recordStatuses": {
            "title": "Monthly Record Statuses",
            "uniqueItems": true,
            "type": "array",
            "description": "Use this mainly with latestMonthlyUpdate to select added, changed, or deleted records. Leave empty for every status present in the source file.",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "C",
                "D"
              ],
              "enumTitles": [
                "Added",
                "Changed",
                "Deleted"
              ]
            },
            "default": []
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Use this to cap output records and event cost; example: 100. The allowed range is 1–10000. The Actor stops reading as soon as the limit is reached.",
            "default": 100
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}