{
  "openapi": "3.0.1",
  "info": {
    "title": "Rightmove Scraper - UK Property, Rent, Sold & Agents",
    "description": "Scrape Rightmove UK homes for sale, homes to rent, sold prices and estate agents by location or URL. Rows include price, address, GPS, beds, baths, tenure, photos and agent contacts.",
    "version": "0.2",
    "x-build-id": "1tCpao1xhUJ8WlewP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~rightmove-all-in-one-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-rightmove-all-in-one-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/khadinakbar~rightmove-all-in-one-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-rightmove-all-in-one-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/khadinakbar~rightmove-all-in-one-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-rightmove-all-in-one-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": "Rightmove URLs to scrape. The actor auto-detects each URL's type: /property-for-sale/find.html (BUY search), /property-to-rent/find.html (RENT search), /properties/{id} (single property detail), /house-prices/... (SOLD prices), /estate-agents/... (agent search). Pagination is handled automatically. If empty, the actor builds a search from searchLocation + channel below. NOT for non-Rightmove URLs — only rightmove.co.uk is supported.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchLocation": {
            "title": "Search Location",
            "type": "string",
            "description": "Plain UK location to search when no startUrls are provided (e.g., 'London', 'Manchester', 'NW3', 'SW1A 1AA'). Resolved server-side to a Rightmove location identifier via the typeahead API. Ignored when startUrls is set. Used together with the channel field below.",
            "default": "London"
          },
          "channel": {
            "title": "Search Channel",
            "enum": [
              "BUY",
              "RENT",
              "AGENTS"
            ],
            "type": "string",
            "description": "Which Rightmove section to search when searchLocation is set: BUY (properties for sale), RENT (properties to rent), AGENTS (estate agent branches in the area). Ignored when startUrls is set. Defaults to BUY. For SOLD price history, paste a Rightmove /house-prices/<location> URL into Start URLs — SOLD is auto-detected from the URL and is not a location-channel option here.",
            "default": "BUY"
          },
          "radius": {
            "title": "Search Radius (miles)",
            "enum": [
              "0.0",
              "0.25",
              "0.5",
              "1.0",
              "3.0",
              "5.0",
              "10.0",
              "15.0",
              "20.0",
              "30.0",
              "40.0"
            ],
            "type": "string",
            "description": "Search radius around the location in miles. Larger radius returns more listings but spans more local markets. Defaults to 0.0 (exact location only). Used only when searchLocation is set; ignored when startUrls is set.",
            "default": "0.0"
          },
          "minPrice": {
            "title": "Min Price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum property price in GBP. For BUY: full price. For RENT: monthly rent. Leave empty for no minimum. Used only when searchLocation is set."
          },
          "maxPrice": {
            "title": "Max Price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum property price in GBP. For BUY: full price. For RENT: monthly rent. Leave empty for no maximum. Used only when searchLocation is set."
          },
          "minBedrooms": {
            "title": "Min Bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Minimum number of bedrooms (0–10). Leave empty for any. Used only when searchLocation is set; ignored on AGENTS / SOLD channels."
          },
          "maxBedrooms": {
            "title": "Max Bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum number of bedrooms (0–10). Leave empty for any. Used only when searchLocation is set; ignored on AGENTS / SOLD channels."
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "",
              "detached",
              "semi-detached",
              "terraced",
              "flat",
              "bungalow",
              "land",
              "park-home"
            ],
            "type": "string",
            "description": "Filter by Rightmove property type. Leave empty for all types. Used only when searchLocation is set on BUY / RENT channels.",
            "default": ""
          },
          "includeSSTC": {
            "title": "Include SSTC / Let Agreed",
            "type": "boolean",
            "description": "Include properties marked Sold Subject to Contract (BUY) or Let Agreed (RENT). Defaults to false (active listings only). Used only when searchLocation is set.",
            "default": false
          },
          "sortType": {
            "title": "Sort By",
            "enum": [
              "6",
              "10",
              "1",
              "2"
            ],
            "type": "string",
            "description": "Sort order for search results. 6 = newest first (default), 10 = oldest first, 1 = highest price, 2 = lowest price. Used only when searchLocation is set.",
            "default": "6"
          },
          "fetchPropertyDetails": {
            "title": "Fetch full property details",
            "type": "boolean",
            "description": "For each property found in search results, fetch its detail page (rightmove.co.uk/properties/{id}) to enrich with full description, key features, all photos, floorplans, EPC, and full agent info. Slower and roughly doubles per-property cost. Defaults to false. Has no effect on AGENTS / SOLD channels.",
            "default": false
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1050,
            "type": "integer",
            "description": "Maximum number of dataset items to return. Rightmove caps any single search at 1,050 results (42 pages × 25). For larger jobs, segment by postcode or outcode. Defaults to 100.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. Rightmove does not use Cloudflare; default Apify datacenter proxies work reliably. Switch to RESIDENTIAL only if you hit blocks at scale.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": []
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}