{
  "openapi": "3.0.1",
  "info": {
    "title": "Rightmove Scraper 🏡 (past the 1,000 result limit)",
    "description": "Scrape UK property listings from Rightmove, for sale or to rent: asking price, bedrooms, address, floor area, tenure, key features, coordinates and the agent's branch and phone. Type a place name, no region ids. Splits big areas by price band for the whole market, not the 1,000 Rightmove stops at.",
    "version": "0.1",
    "x-build-id": "yccAJfzfeQ2Xa44T3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tagadanar~rightmove-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tagadanar-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/tagadanar~rightmove-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tagadanar-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/tagadanar~rightmove-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tagadanar-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": {
          "location": {
            "title": "Where",
            "type": "array",
            "description": "Type the place the way you would in Rightmove's own search box: a town, city, borough, village, station or postcode district, for example <code>Bath</code>, <code>Manchester</code>, <code>Clapham</code> or <code>SW1A</code>. One entry per area, and the actor looks each one up for you, so you never have to hunt for a region id. Rightmove identifiers such as <code>REGION^116</code> also work if you already have one.",
            "items": {
              "type": "string"
            }
          },
          "listingType": {
            "title": "For sale or to rent",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Which side of Rightmove to search.",
            "default": "sale"
          },
          "radiusMiles": {
            "title": "Include surrounding area",
            "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": "Widen the search around the place you picked, exactly like the \"within\" dropdown on the site.",
            "default": "0.0"
          },
          "minPrice": {
            "title": "Price from (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest asking price to include. On rentals this is a monthly figure, the same as the site's pcm filter."
          },
          "maxPrice": {
            "title": "Price up to (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Highest asking price to include. On rentals this is a monthly figure. Rightmove itself stops filtering above £20,000,000 for sales and £40,000 pcm for rentals."
          },
          "minBedrooms": {
            "title": "Bedrooms from",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Fewest bedrooms to include."
          },
          "maxBedrooms": {
            "title": "Bedrooms up to",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Most bedrooms to include."
          },
          "propertyTypes": {
            "title": "Property type",
            "type": "array",
            "description": "Leave empty for every type, or pick the ones you want. Same list as the site's own filter.",
            "items": {
              "type": "string",
              "enum": [
                "flat",
                "detached",
                "semi-detached",
                "terraced",
                "bungalow",
                "land",
                "park-home"
              ],
              "enumTitles": [
                "Flats / apartments",
                "Detached houses",
                "Semi-detached houses",
                "Terraced houses",
                "Bungalows",
                "Land",
                "Park homes"
              ]
            },
            "default": []
          },
          "addedWithin": {
            "title": "Added to Rightmove",
            "enum": [
              "any",
              "1",
              "3",
              "7",
              "14"
            ],
            "type": "string",
            "description": "Only listings first published within this window. The usual choice for a scheduled monitor is the last 24 hours.",
            "default": "any"
          },
          "includeUnavailable": {
            "title": "Include sold STC / let agreed",
            "type": "boolean",
            "description": "Off by default, so you only get what is still available. Turn it on to see properties already under offer, sold subject to contract or let agreed, which is what you want when you are studying a market rather than shopping in it.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "price-asc",
              "price-desc"
            ],
            "type": "string",
            "description": "Which listings you get first when you ask for fewer than the whole area. On very large areas the actor switches to its own price-by-price walk so that nothing is left behind, and this setting then only decides the first page.",
            "default": "newest"
          },
          "maxResults": {
            "title": "Max listings",
            "minimum": 1,
            "maximum": 200000,
            "type": "integer",
            "description": "Stop after this many listings across every area you asked for. You are only charged for listings actually delivered. Rightmove itself serves 1008 results per search; ask for more than that and the actor splits the search by price band until the whole area is covered.",
            "default": 100
          },
          "monitorMode": {
            "title": "Monitor mode (only what changed)",
            "type": "boolean",
            "description": "For scheduled runs. The first run records what is on the market today, and every run after it returns, and charges for, only listings that are new plus listings whose asking price has dropped since the previous run.",
            "default": false
          },
          "webhookUrl": {
            "title": "Slack / webhook URL (monitor mode)",
            "type": "string",
            "description": "Optional. In monitor mode the run posts a short digest of the new listings and price drops to this URL. A Slack incoming-webhook URL works as is."
          },
          "searchUrls": {
            "title": "Rightmove search URLs (optional, replaces the fields above)",
            "type": "array",
            "description": "Paste one or more Rightmove search URLs straight from your browser, filters and all. When this is set, the fields above are ignored.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}