{
  "openapi": "3.0.1",
  "info": {
    "title": "Rightmove Scraper",
    "description": "[💰 $0.9 / 1K] Extract property listings from Rightmove.co.uk — buy, rent, and sold prices. Search by location or paste URLs, filter by price, bedrooms, property type, and radius. Get full details: agent contacts, photos, floorplans, EPC, council tax, and more.",
    "version": "1.0",
    "x-build-id": "G82VlWVXt8WaYXzXX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~rightmove-co-uk-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-rightmove-co-uk-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/solidcode~rightmove-co-uk-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-rightmove-co-uk-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/solidcode~rightmove-co-uk-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-rightmove-co-uk-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste Rightmove URLs directly. Supports search results for homes and for commercial property — both the /find.html page you land on after searching and the shorter pages you get from Google (e.g. /property-for-sale/London.html or /property-for-sale/London-87490/2-bed-flats.html) — plus individual property pages (/properties/123456789) and sold-price pages (/house-prices/...). The scraper auto-detects buy / rent / sold and residential / commercial from the URL. The URL always wins: filters set in the URL are kept as-is, and the settings below are only used to fill in what the URL doesn't already specify. Anything that can't be applied is listed in the run log.",
            "items": {
              "type": "string"
            }
          },
          "searchLocation": {
            "title": "Search Location",
            "type": "string",
            "description": "Type a city, town, area, or postcode (e.g. \"London\", \"Manchester\", \"SW1A 1AA\"). We resolve it to Rightmove's location automatically — no need to copy a URL. Leave empty if using Start URLs above."
          },
          "channel": {
            "title": "Channel",
            "enum": [
              "buy",
              "rent",
              "sold"
            ],
            "type": "string",
            "description": "What kind of listings to find. Only applies to Search Location — when using URLs, the channel is taken from the URL itself.",
            "default": "buy"
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "any",
              "houses",
              "flats",
              "bungalows",
              "land",
              "commercial",
              "farms",
              "parking",
              "new-homes"
            ],
            "type": "string",
            "description": "Filter by property category. Applies to Search Location, and to a pasted search URL that doesn't already specify a property type. Commercial, farms and parking only exist in commercial listings, so they can't be applied to a residential URL (and vice versa).",
            "default": "any"
          },
          "bedroomsMin": {
            "title": "Minimum Bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Only include properties with at least this many bedrooms. Leave empty for any."
          },
          "bedroomsMax": {
            "title": "Maximum Bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Only include properties with at most this many bedrooms. Leave empty for any."
          },
          "priceMin": {
            "title": "Minimum Price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties at or above this price in GBP. For rentals, this is the monthly rent. Leave empty for no minimum."
          },
          "priceMax": {
            "title": "Maximum Price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Only include properties at or below this price in GBP. For rentals, this is the monthly rent. Leave empty for no maximum."
          },
          "radiusMiles": {
            "title": "Search Radius (miles)",
            "enum": [
              "0",
              "0.25",
              "0.5",
              "1",
              "3",
              "5",
              "10",
              "15",
              "20",
              "30",
              "40"
            ],
            "type": "string",
            "description": "Expand the search to include properties within this many miles of the location. Mirrors Rightmove's UI.",
            "default": "0"
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "newest",
              "oldest",
              "price-asc",
              "price-desc"
            ],
            "type": "string",
            "description": "Sort order for search results.",
            "default": "newest"
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of property listings to return across all URLs and searches. Set to 0 for unlimited. Note: results may slightly overshoot if the cap falls in the middle of a page — you get the full last page.",
            "default": 100
          },
          "includePriceHistory": {
            "title": "Include Price History",
            "type": "boolean",
            "description": "Fetch the historical sold-price record for each listing's address (if available). Adds an extra request per listing — slower but useful for investment analysis.",
            "default": false
          },
          "includeNearestSchools": {
            "title": "Include Nearest Schools",
            "type": "boolean",
            "description": "Include the 10 nearest schools for each listing — name, Ofsted rating, distance, age range, pupil count and state/independent status. Adds an extra lookup per listing, so runs take a little longer.",
            "default": false
          },
          "includeSoldSTC": {
            "title": "Include Sold STC / Under Offer / Let Agreed",
            "type": "boolean",
            "description": "Also return properties that are already sold subject to contract, under offer, or let agreed. Rightmove hides these by default. Turn this on to see them, with the stage shown in the Status column.",
            "default": false
          },
          "includeNearestStations": {
            "title": "Include Nearest Stations",
            "type": "boolean",
            "description": "Include the nearest train and tube stations with walking distance. Free — comes from the same property page.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}