{
  "openapi": "3.0.1",
  "info": {
    "title": "Rightmove UK Scraper - Properties, Prices, Sales & Rentals",
    "description": "Fast, reliable Rightmove.co.uk scraper for UK properties for sale, rent and sold-price records. Search by location or property URL and extract 80+ structured fields per listing. Ideal for property research, price comparisons, rental analysis and real estate market intelligence.",
    "version": "1.0",
    "x-build-id": "hi0bRMg6E6jkWbDvA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~rightmove-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-rightmove-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/abotapi~rightmove-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-rightmove-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/abotapi~rightmove-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-rightmove-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url"
            ],
            "type": "string",
            "description": "How to find properties: build a search from a location + filters, or paste direct Rightmove URLs.",
            "default": "search"
          },
          "channel": {
            "title": "Channel",
            "enum": [
              "BUY",
              "RENT",
              "SOLD",
              "new",
              "student",
              "sale",
              "rent",
              "new_homes"
            ],
            "type": "string",
            "description": "What to scrape: properties for sale, to rent, new homes, student accommodation, or sold-price history by area. 'sale', 'rent' and 'new_homes' are accepted as aliases of BUY, RENT and new.",
            "default": "BUY"
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Location names, areas, or postcodes. Each is resolved automatically, e.g. 'London', 'Manchester', 'SW19', 'Wimbledon'.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price filter (BUY/RENT). For RENT this is the monthly (pcm) amount."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price filter (BUY/RENT). For RENT this is the monthly (pcm) amount."
          },
          "minBedrooms": {
            "title": "Min bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum bedrooms (BUY/RENT)."
          },
          "maxBedrooms": {
            "title": "Max bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum bedrooms (BUY/RENT)."
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Filter by property type (sale, rent, new homes, student). Options: houses, flats, bungalows, land, detached, semi-detached, terraced, park-home (or park_home). student_halls has no native filter: use channel Student accommodation instead.",
            "items": {
              "type": "string"
            }
          },
          "radius": {
            "title": "Search radius (miles)",
            "type": "string",
            "description": "Expand the search around the location. E.g. 0.25, 0.5, 1.0, 3.0, 5.0, 10.0. Default 0 (this area only)."
          },
          "sortType": {
            "title": "Sort order",
            "enum": [
              "",
              "6",
              "1",
              "2",
              "10"
            ],
            "type": "string",
            "description": "Result ordering. Newest listed, oldest listed, lowest price, or highest price first.",
            "default": ""
          },
          "furnished": {
            "title": "Furnished (rent / student)",
            "enum": [
              "",
              "furnished",
              "part_furnished",
              "unfurnished"
            ],
            "type": "string",
            "description": "Rent and student channels only: furnished, part furnished or unfurnished lets.",
            "default": ""
          },
          "maxDaysSinceAdded": {
            "title": "Added within (days)",
            "enum": [
              "",
              "1",
              "3",
              "7",
              "14"
            ],
            "type": "string",
            "description": "Only listings added to Rightmove within the last 1, 3, 7 or 14 days.",
            "default": ""
          },
          "search": {
            "title": "Search (alias of Locations)",
            "type": "string",
            "description": "Single location text (town, city, postcode or region). Used only when Locations is empty."
          },
          "endPage": {
            "title": "End page (alias of Max pages)",
            "minimum": 1,
            "maximum": 42,
            "type": "integer",
            "description": "Alias of Max pages, used only when Max pages is not set."
          },
          "sort": {
            "title": "Sort (alias of Sort order)",
            "enum": [
              "",
              "newest",
              "oldest",
              "highest",
              "lowest"
            ],
            "type": "string",
            "description": "Alias of Sort order, used only when Sort order is left on default.",
            "default": ""
          },
          "includeLetAgreed": {
            "title": "Include Let Agreed (RENT)",
            "type": "boolean",
            "description": "Include 'Let Agreed' properties in rental searches.",
            "default": false
          },
          "includeSSTC": {
            "title": "Include SSTC / Under Offer (BUY)",
            "type": "boolean",
            "description": "Include 'Sold STC' / 'Under Offer' properties in sale searches.",
            "default": false
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Direct Rightmove URLs to scrape.",
            "default": [
              {
                "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490"
              },
              {
                "url": "https://www.rightmove.co.uk/property-to-rent/find.html?locationIdentifier=REGION%5E87490"
              },
              {
                "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&index=24"
              },
              {
                "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&minPrice=300000&maxPrice=500000&minBedrooms=2&sortType=6&propertyTypes=flat&includeSSTC=false"
              },
              {
                "url": "https://www.rightmove.co.uk/properties/94114530"
              },
              {
                "url": "https://www.rightmove.co.uk/property-for-sale/property-155320229.html"
              },
              {
                "url": "https://www.rightmove.co.uk/property-to-rent/property-108124898.html"
              },
              {
                "url": "https://www.rightmove.co.uk/property-for-sale/Wimbledon.html"
              },
              {
                "url": "https://www.rightmove.co.uk/house-prices/london.html"
              },
              {
                "url": "https://www.rightmove.co.uk/house-prices/SW19.html"
              },
              {
                "url": "https://www.rightmove.co.uk/house-prices/detail.html?country=england&locationIdentifier=REGION%5E87490&searchLocation=London"
              },
              {
                "url": "https://www.rightmove.co.uk/house-prices/details/2f92dc36-9eea-49a6-9143-aedb0ba11b30"
              },
              {
                "url": "https://www.rightmove.co.uk/new-homes-for-sale/find.html?locationIdentifier=REGION%5E87490"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of records to return. Set 0 for unlimited (capped by Rightmove's ~1000-result deep-pagination limit per search). The number of pages walked is governed by 'Max pages per search'.",
            "default": 100000
          },
          "maxPages": {
            "title": "Max pages per search",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum result pages to walk per location (24 listings/page). Default 1 (first page only) keeps runs small and predictable; raise it to scrape deeper (Rightmove caps deep pagination at ~42 pages)."
          },
          "includeDetails": {
            "title": "Scrape full property details",
            "type": "boolean",
            "description": "Fetch each property's detail page for 40+ extra fields (full description, key features, council tax band, ground rent, service charge, EPC, nearest stations/airports, broadband, floorplans, lease years, agent address). Off = faster & cheaper (search cards only).",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. Datacenter (the default) is cheapest and works well for Rightmove. The actor uses exactly what you select here and does not auto-enable residential. Select residential here only if you need it.",
            "default": {
              "useApifyProxy": true
            }
          },
          "proxyCountry": {
            "title": "Proxy country",
            "type": "string",
            "description": "Pin the proxy exit country (default GB for the UK site). Leave empty to let residential rotate a GB-led pool."
          },
          "resumeFromRunId": {
            "title": "Resume from a previous run",
            "type": "string",
            "description": "Paste a previous run ID or dataset ID to continue a large pull without returning or charging for listings already collected there. For recurring monitoring of the same search, use Incremental mode instead. A resumed run never marks listings EXPIRED."
          },
          "incrementalMode": {
            "title": "Incremental mode (new / updated / expired)",
            "type": "boolean",
            "description": "Track listings between runs of the same search. Each returned row gets changeType NEW, UPDATED (with changedFields), REAPPEARED or EXPIRED. Unchanged listings are not returned. EXPIRED rows are only produced after a run that walked the whole result set (not with a maxItems/maxPages cut-off, a pasted page-2+ link or a single property link). Replaces Monitoring mode when both are on.",
            "default": false
          },
          "monitoringMode": {
            "title": "Monitoring mode (new only)",
            "type": "boolean",
            "description": "Only return listings not seen in previous runs of this actor. Useful for tracking newly-added properties.",
            "default": false
          },
          "ignoreFieldsForChanges": {
            "title": "Ignore fields when detecting changes (incremental mode only)",
            "type": "array",
            "description": "Output field names (nested paths like agent.logo allowed) that must not count as a change in incremental mode. The relative 'added/reduced' badge, scrape time and distance are always ignored. The fields stay in the output.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "mcpConnectors": {
            "title": "Pipe results into your apps (optional)",
            "type": "array",
            "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON; the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com)."
          },
          "notionParentPageUrl": {
            "title": "Notion parent page (Notion connector only)",
            "type": "string",
            "description": "URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors."
          },
          "maxNotifyListings": {
            "title": "Max items to export per connector",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on items written to each connector per run. Does not affect the dataset.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}