{
  "openapi": "3.0.1",
  "info": {
    "title": "Rightmove Scraper",
    "description": "Scrape Rightmove UK homes for sale, to rent and new builds: price, price per sq ft, reductions, beds, size, tenure, GPS, photos, agent and phone. Gets past the 1,000-result cap. Every filter. Optional full details: postcode, council tax, lease, floorplans, EPC, stations.",
    "version": "1.0",
    "x-build-id": "5fy4AqVpDMKX7p37D"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/normdata~rightmove-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-normdata-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/normdata~rightmove-scraper/runs": {
      "post": {
        "operationId": "runs-sync-normdata-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/normdata~rightmove-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-normdata-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": {
          "maxItems": {
            "title": "Maximum properties",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many properties. Leave empty for no limit (every listing that matches, even past Rightmove's 1,000-result cap). The Apify Free plan is always capped at 10."
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Anything you would type in the Rightmove search box: a town or city (\"Manchester\"), an area (\"Clapham, South West London\"), a county (\"Cornwall\"), a postcode (\"SW1A 1AA\"), a postcode district (\"NW8\") or a station (\"Kings Cross Station\").",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "title": "...or paste links",
            "type": "array",
            "description": "Rightmove search pages (with all their filters, e.g. rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E904&minBedrooms=2) or single properties (rightmove.co.uk/properties/123456789). Links keep their own filters; the filters below apply to Locations.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "sale",
              "rent",
              "new-homes"
            ],
            "type": "string",
            "description": "Homes for sale, homes to rent, or new-build homes from developers.",
            "default": "sale"
          },
          "radius": {
            "title": "Search radius",
            "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": "Also include properties this far around each location.",
            "default": "0.0"
          },
          "minPrice": {
            "title": "Min price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "For rentals: per month."
          },
          "maxPrice": {
            "title": "Max price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "For rentals: per month."
          },
          "minBedrooms": {
            "title": "Min bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "0 = studio."
          },
          "maxBedrooms": {
            "title": "Max bedrooms",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Up to 10."
          },
          "minBathrooms": {
            "title": "Min bathrooms",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Up to 5."
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Keep only these types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "detached",
                "semi-detached",
                "terraced",
                "flat",
                "bungalow",
                "land",
                "park-home",
                "private-halls"
              ],
              "enumTitles": [
                "Detached",
                "Semi-detached",
                "Terraced",
                "Flat / apartment",
                "Bungalow",
                "Land",
                "Park home",
                "Private halls"
              ]
            }
          },
          "tenureTypes": {
            "title": "Tenure (sales)",
            "type": "array",
            "description": "Keep only these tenures. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "FREEHOLD",
                "LEASEHOLD",
                "SHARE_OF_FREEHOLD"
              ],
              "enumTitles": [
                "Freehold",
                "Leasehold",
                "Share of freehold"
              ]
            }
          },
          "mustHave": {
            "title": "Must have",
            "type": "array",
            "description": "Keep only listings with ALL of these. Student and house share apply to rentals.",
            "items": {
              "type": "string",
              "enum": [
                "garden",
                "parking",
                "newHome",
                "retirement",
                "sharedOwnership",
                "auction",
                "student",
                "houseShare"
              ],
              "enumTitles": [
                "Garden",
                "Parking",
                "New home",
                "Retirement home",
                "Shared ownership",
                "Auction",
                "Student",
                "House share"
              ]
            }
          },
          "dontShow": {
            "title": "Don't show",
            "type": "array",
            "description": "Leave these out.",
            "items": {
              "type": "string",
              "enum": [
                "newHome",
                "retirement",
                "sharedOwnership",
                "auction",
                "student",
                "houseShare"
              ],
              "enumTitles": [
                "New homes",
                "Retirement homes",
                "Shared ownership",
                "Auctions",
                "Student lets",
                "House shares"
              ]
            }
          },
          "furnishTypes": {
            "title": "Furnishing (rentals)",
            "type": "array",
            "description": "Keep only these. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "furnished",
                "partFurnished",
                "unfurnished"
              ],
              "enumTitles": [
                "Furnished",
                "Part furnished",
                "Unfurnished"
              ]
            }
          },
          "addedWithin": {
            "title": "Added to site",
            "enum": [
              "1",
              "3",
              "7",
              "14"
            ],
            "type": "string",
            "description": "Only listings added (or re-listed) in this window."
          },
          "includeUnderOffer": {
            "title": "Include under offer, sold STC and let agreed",
            "type": "boolean",
            "description": "Rightmove hides these by default.",
            "default": false
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Keep listings that mention ANY of these in the title, summary or key features, e.g. \"garage\", \"chain free\", \"sea view\".",
            "items": {
              "type": "string"
            }
          },
          "minSizeSqFt": {
            "title": "Min size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Listings without a size are left out when you set this."
          },
          "maxSizeSqFt": {
            "title": "Max size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Listings without a size are left out when you set this."
          },
          "reducedOnly": {
            "title": "Price reduced only",
            "type": "boolean",
            "description": "Keep only listings whose latest change was a price cut.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "price_low",
              "price_high"
            ],
            "type": "string",
            "description": "Order of the results. Matters most when you set a Maximum.",
            "default": "newest"
          },
          "onlyNew": {
            "title": "New listings only",
            "type": "boolean",
            "description": "For scheduled runs: save only listings this same search has not saved before. The first run saves everything; later runs save just what was added since. Kept per search (locations, links and filters).",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional. Give \"New listings only\" a fixed name to keep its memory even after you change the filters."
          },
          "includeDetails": {
            "title": "Full details",
            "type": "boolean",
            "description": "Opens each property page and adds: full description, postcode, council tax band, service charge, ground rent, lease years left, deposit, furnishing, nearest stations, rooms, floorplans, brochures, EPC, parking, garden, heating, utilities, flood risk and agent address. Paid add-on: one extra charge per property saved with details (see Pricing).",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}