{
  "openapi": "3.0.1",
  "info": {
    "title": "🚀 Rightmove Sold Prices Scraper · 5,000 Free Records/Month",
    "description": "Scrape Rightmove sold house prices (HM Land Registry) for any UK area — address, every past sale with date & price, property type & beds, plus full transaction history per property. $1 per 1,000 records, first 5,000 free every month, no start fee.",
    "version": "0.0",
    "x-build-id": "Xo51hmRteFwdX37fu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/omkar-cloud~rightmove-sold-house-prices-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-omkar-cloud-rightmove-sold-house-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/omkar-cloud~rightmove-sold-house-prices-scraper/runs": {
      "post": {
        "operationId": "runs-sync-omkar-cloud-rightmove-sold-house-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/omkar-cloud~rightmove-sold-house-prices-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-omkar-cloud-rightmove-sold-house-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": {
          "areas": {
            "title": "Areas",
            "type": "array",
            "description": "UK areas to get sold prices for — free text like `London`, `Oxford`, `NW3` or `CR2 9BE`, a Rightmove location identifier like `REGION^87490`, or a pasted rightmove.co.uk house-prices search URL (its embedded filters are applied). Each is scraped separately. Rows carry an `area` field so you can tell areas apart. Leave empty to only scrape the sold-property URLs below.",
            "items": {
              "type": "string"
            }
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "",
              "detached",
              "semi-detached",
              "terraced",
              "flat"
            ],
            "type": "string",
            "description": "Only sold properties of this type. Leave on Any for all types.",
            "default": ""
          },
          "soldWithinYears": {
            "title": "Sold Within",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "5",
              "10",
              "15",
              "20",
              "25",
              "30"
            ],
            "type": "string",
            "description": "Only sales within the last N years. Leave on Any time for the full history Rightmove holds.",
            "default": ""
          },
          "tenure": {
            "title": "Tenure",
            "enum": [
              "",
              "freehold",
              "leasehold"
            ],
            "type": "string",
            "description": "Only freehold or only leasehold sales. Leave on Any for both.",
            "default": ""
          },
          "recordUrls": {
            "title": "Sold Property URLs or Record IDs",
            "type": "array",
            "description": "Rightmove sold-price URLs like `https://www.rightmove.co.uk/house-prices/details/42bd91fa-2b51-480d-aa4e-6764e7e3ca73` or bare record ids like `42bd91fa-2b51-480d-aa4e-6764e7e3ca73` (every sold record's `id`). Always scraped with the full record (billed at the detailed rate). Rows carry an `input_url` field so you can match them back.",
            "items": {
              "type": "string"
            }
          },
          "maxResultsPerArea": {
            "title": "Max Sold Records per Area",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of sold records to scrape per area (most recent sales first). Use this to control your cost (1,000 records ≈ $1). Rightmove serves at most 1,000 records (40 pages) per search — narrow the area or add filters to reach more. Ignored for sold-property URLs.",
            "default": 100
          },
          "scrapeTransactionHistory": {
            "title": "Scrape Full Transaction History",
            "type": "boolean",
            "description": "When enabled, every sold record is also fetched in full from its Rightmove detail page — every transaction with the % change since the previous sale, outcode, incode & country, data source, and the Rightmove listing matched to the property (photos, floor plans, nearest stations, advertised dates, size) when there is one. Still one dataset row per record, billed once at the detailed rate instead of the standard rate (1,000 detailed records ≈ $2 vs $1 standard). Runs take longer because each record is fetched individually.",
            "default": false
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}