# Rightmove Properties For Buy Scraper

This tool gathers detailed property info from Rightmove UK, including prices, bedrooms, bathrooms, and agent contacts. Designed for buyers, it offers accurate, up-to-date data with a pay-per-result model, ensuring you only pay when you succeed.

## Actor Statistics

- Total users: 1
- Monthly users: 1
- Runs succeeded: 100.00%
- Categories: Automation, Lead generation, Real estate

## Pricing

from $1.00 / 1,000 results

## Input Schema

- **location** (type: string): The location to search for properties. Please do not use full address, only use city name or postcode or area name
- **flats\_and\_apartments** (type: boolean): If checked then flats and apartments will be included in the search.
- **bungalows** (type: boolean): If checked then bungalows will be included in the search.
- **detached\_houses** (type: boolean): If checked then detached houses will be included in the search.
- **semi\_detached\_houses** (type: boolean): If checked then semi-detached houses will be included in the search.
- **terraced\_houses** (type: boolean): If checked then terraced houses will be included in the search.
- **lands** (type: boolean): If checked then lands will be included in the search.
- **park\_homes** (type: boolean): If checked then park homes will be included in the search.
- **min\_price** (type: string): The minimum price to search for properties.
- **max\_price** (type: string): The maximum price to search for properties.
- **min\_bedrooms** (type: string): The minimum number of bedrooms to search for properties.
- **max\_bedrooms** (type: string): The maximum number of bedrooms to search for properties.
- **min\_bathrooms** (type: string): The minimum number of bathrooms to search for properties.
- **max\_bathrooms** (type: string): The maximum number of bathrooms to search for properties.
- **search\_radius** (type: string): The radius to search for properties.
- **include\_under\_offer\_and\_stc** (type: boolean): If checked then under offer and STC properties will be included in the search. Subject to contract (STC): Offers are accepted subject to contract meaning that they are finalised once contracts are signed and exchanged. Under offer: Where the vendor has accepted an offer from a buyer and the exchange of contracts is awaited.
- **max\_results** (type: string): The maximum number of results to return.
- **max\_days\_since\_added** (type: string): The maximum number of days since the property was added to Rightmove.

## API example

## Rightmove Properties For Buy Scraper

- **OpenAPI Version:** `3.1.1`
- **API Version:** `0.1`

This tool gathers detailed property info from Rightmove UK, including prices, bedrooms, bathrooms, and agent contacts. Designed for buyers, it offers accurate, up-to-date data with a pay-per-result model, ensuring you only pay when you succeed.

### Servers

- **URL:** `https://api.apify.com/v2`

### Operations

#### Executes an Actor, waits for its completion, and returns Actor's dataset items in response.

- **Method:** `POST`
- **Path:** `/acts/datacach~rightmove-properties-for-buy-scraper/run-sync-get-dataset-items`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`bungalows`**

  `boolean`, default: `false` — If checked then bungalows will be included in the search.

- **`detached_houses`**

  `boolean`, default: `false` — If checked then detached houses will be included in the search.

- **`flats_and_apartments`**

  `boolean`, default: `false` — If checked then flats and apartments will be included in the search.

- **`include_under_offer_and_stc`**

  `boolean`, default: `false` — If checked then under offer and STC properties will be included in the search. Subject to contract (STC): Offers are accepted subject to contract meaning that they are finalised once contracts are signed and exchanged. Under offer: Where the vendor has accepted an offer from a buyer and the exchange of contracts is awaited.

- **`lands`**

  `boolean`, default: `false` — If checked then lands will be included in the search.

- **`location`**

  `string`, default: `"London"` — The location to search for properties. Please do not use full address, only use city name or postcode or area name

- **`max_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The maximum number of bathrooms to search for properties.

- **`max_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The maximum number of bedrooms to search for properties.

- **`max_days_since_added`**

  `string`, possible values: `"0", "1", "3", "7", "14"` — The maximum number of days since the property was added to Rightmove.

- **`max_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The maximum price to search for properties.

- **`max_results`**

  `string`, possible values: `"0", "10", "20", "30", "40", "50", "100", "200", "300", "400", "500", "1000", "2000", "3000", "4000", "5000"`, default: `"10"` — The maximum number of results to return.

- **`min_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The minimum number of bathrooms to search for properties.

- **`min_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The minimum number of bedrooms to search for properties.

- **`min_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The minimum price to search for properties.

- **`park_homes`**

  `boolean`, default: `false` — If checked then park homes will be included in the search.

- **`search_radius`**

  `string`, possible values: `"0", "0.25", "0.5", "1", "3", "5", "10", "15", "20", "30", "40"` — The radius to search for properties.

- **`semi_detached_houses`**

  `boolean`, default: `false` — If checked then semi-detached houses will be included in the search.

- **`terraced_houses`**

  `boolean`, default: `false` — If checked then terraced houses will be included in the search.

**Example:**

```
{
  "location": "London",
  "flats_and_apartments": false,
  "bungalows": false,
  "detached_houses": false,
  "semi_detached_houses": false,
  "terraced_houses": false,
  "lands": false,
  "park_homes": false,
  "min_price": "0",
  "max_price": "0",
  "min_bedrooms": "0",
  "max_bedrooms": "0",
  "min_bathrooms": "0",
  "max_bathrooms": "0",
  "search_radius": "0",
  "include_under_offer_and_stc": false,
  "max_results": "10",
  "max_days_since_added": "0"
}
```

##### Responses

###### Status: 200 OK

#### Executes an Actor and returns information about the initiated run in response.

- **Method:** `POST`
- **Path:** `/acts/datacach~rightmove-properties-for-buy-scraper/runs`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`bungalows`**

  `boolean`, default: `false` — If checked then bungalows will be included in the search.

- **`detached_houses`**

  `boolean`, default: `false` — If checked then detached houses will be included in the search.

- **`flats_and_apartments`**

  `boolean`, default: `false` — If checked then flats and apartments will be included in the search.

- **`include_under_offer_and_stc`**

  `boolean`, default: `false` — If checked then under offer and STC properties will be included in the search. Subject to contract (STC): Offers are accepted subject to contract meaning that they are finalised once contracts are signed and exchanged. Under offer: Where the vendor has accepted an offer from a buyer and the exchange of contracts is awaited.

- **`lands`**

  `boolean`, default: `false` — If checked then lands will be included in the search.

- **`location`**

  `string`, default: `"London"` — The location to search for properties. Please do not use full address, only use city name or postcode or area name

- **`max_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The maximum number of bathrooms to search for properties.

- **`max_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The maximum number of bedrooms to search for properties.

- **`max_days_since_added`**

  `string`, possible values: `"0", "1", "3", "7", "14"` — The maximum number of days since the property was added to Rightmove.

- **`max_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The maximum price to search for properties.

- **`max_results`**

  `string`, possible values: `"0", "10", "20", "30", "40", "50", "100", "200", "300", "400", "500", "1000", "2000", "3000", "4000", "5000"`, default: `"10"` — The maximum number of results to return.

- **`min_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The minimum number of bathrooms to search for properties.

- **`min_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The minimum number of bedrooms to search for properties.

- **`min_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The minimum price to search for properties.

- **`park_homes`**

  `boolean`, default: `false` — If checked then park homes will be included in the search.

- **`search_radius`**

  `string`, possible values: `"0", "0.25", "0.5", "1", "3", "5", "10", "15", "20", "30", "40"` — The radius to search for properties.

- **`semi_detached_houses`**

  `boolean`, default: `false` — If checked then semi-detached houses will be included in the search.

- **`terraced_houses`**

  `boolean`, default: `false` — If checked then terraced houses will be included in the search.

**Example:**

```
{
  "location": "London",
  "flats_and_apartments": false,
  "bungalows": false,
  "detached_houses": false,
  "semi_detached_houses": false,
  "terraced_houses": false,
  "lands": false,
  "park_homes": false,
  "min_price": "0",
  "max_price": "0",
  "min_bedrooms": "0",
  "max_bedrooms": "0",
  "min_bathrooms": "0",
  "max_bathrooms": "0",
  "search_radius": "0",
  "include_under_offer_and_stc": false,
  "max_results": "10",
  "max_days_since_added": "0"
}
```

##### Responses

###### Status: 200 OK

\####### Content-Type: application/json

- **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

#### Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.

- **Method:** `POST`
- **Path:** `/acts/datacach~rightmove-properties-for-buy-scraper/run-sync`
- **Tags:** Run Actor

##### Request Body

###### Content-Type: application/json

- **`bungalows`**

  `boolean`, default: `false` — If checked then bungalows will be included in the search.

- **`detached_houses`**

  `boolean`, default: `false` — If checked then detached houses will be included in the search.

- **`flats_and_apartments`**

  `boolean`, default: `false` — If checked then flats and apartments will be included in the search.

- **`include_under_offer_and_stc`**

  `boolean`, default: `false` — If checked then under offer and STC properties will be included in the search. Subject to contract (STC): Offers are accepted subject to contract meaning that they are finalised once contracts are signed and exchanged. Under offer: Where the vendor has accepted an offer from a buyer and the exchange of contracts is awaited.

- **`lands`**

  `boolean`, default: `false` — If checked then lands will be included in the search.

- **`location`**

  `string`, default: `"London"` — The location to search for properties. Please do not use full address, only use city name or postcode or area name

- **`max_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The maximum number of bathrooms to search for properties.

- **`max_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The maximum number of bedrooms to search for properties.

- **`max_days_since_added`**

  `string`, possible values: `"0", "1", "3", "7", "14"` — The maximum number of days since the property was added to Rightmove.

- **`max_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The maximum price to search for properties.

- **`max_results`**

  `string`, possible values: `"0", "10", "20", "30", "40", "50", "100", "200", "300", "400", "500", "1000", "2000", "3000", "4000", "5000"`, default: `"10"` — The maximum number of results to return.

- **`min_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The minimum number of bathrooms to search for properties.

- **`min_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The minimum number of bedrooms to search for properties.

- **`min_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The minimum price to search for properties.

- **`park_homes`**

  `boolean`, default: `false` — If checked then park homes will be included in the search.

- **`search_radius`**

  `string`, possible values: `"0", "0.25", "0.5", "1", "3", "5", "10", "15", "20", "30", "40"` — The radius to search for properties.

- **`semi_detached_houses`**

  `boolean`, default: `false` — If checked then semi-detached houses will be included in the search.

- **`terraced_houses`**

  `boolean`, default: `false` — If checked then terraced houses will be included in the search.

**Example:**

```
{
  "location": "London",
  "flats_and_apartments": false,
  "bungalows": false,
  "detached_houses": false,
  "semi_detached_houses": false,
  "terraced_houses": false,
  "lands": false,
  "park_homes": false,
  "min_price": "0",
  "max_price": "0",
  "min_bedrooms": "0",
  "max_bedrooms": "0",
  "min_bathrooms": "0",
  "max_bathrooms": "0",
  "search_radius": "0",
  "include_under_offer_and_stc": false,
  "max_results": "10",
  "max_days_since_added": "0"
}
```

##### Responses

###### Status: 200 OK

### Schemas

#### inputSchema

- **Type:**`object`

* **`bungalows`**

  `boolean`, default: `false` — If checked then bungalows will be included in the search.

* **`detached_houses`**

  `boolean`, default: `false` — If checked then detached houses will be included in the search.

* **`flats_and_apartments`**

  `boolean`, default: `false` — If checked then flats and apartments will be included in the search.

* **`include_under_offer_and_stc`**

  `boolean`, default: `false` — If checked then under offer and STC properties will be included in the search. Subject to contract (STC): Offers are accepted subject to contract meaning that they are finalised once contracts are signed and exchanged. Under offer: Where the vendor has accepted an offer from a buyer and the exchange of contracts is awaited.

* **`lands`**

  `boolean`, default: `false` — If checked then lands will be included in the search.

* **`location`**

  `string`, default: `"London"` — The location to search for properties. Please do not use full address, only use city name or postcode or area name

* **`max_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The maximum number of bathrooms to search for properties.

* **`max_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The maximum number of bedrooms to search for properties.

* **`max_days_since_added`**

  `string`, possible values: `"0", "1", "3", "7", "14"` — The maximum number of days since the property was added to Rightmove.

* **`max_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The maximum price to search for properties.

* **`max_results`**

  `string`, possible values: `"0", "10", "20", "30", "40", "50", "100", "200", "300", "400", "500", "1000", "2000", "3000", "4000", "5000"`, default: `"10"` — The maximum number of results to return.

* **`min_bathrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5"` — The minimum number of bathrooms to search for properties.

* **`min_bedrooms`**

  `string`, possible values: `"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"` — The minimum number of bedrooms to search for properties.

* **`min_price`**

  `string`, possible values: `"0", "50000", "60000", "70000", "80000", "90000", "100000", "110000", "120000", "125000", "130000", "140000", "150000", "160000", "170000", "175000", "180000", "190000", "200000", "210000", "220000", "230000", "240000", "250000", "260000", "270000", "280000", "290000", "300000", "325000", "350000", "375000", "400000", "425000", "450000", "475000", "500000", "550000", "600000", "650000", "700000", "800000", "900000", "1000000", "1250000", "1500000", "1750000", "2000000", "2500000", "3000000", "4000000", "5000000", "7500000", "10000000", "15000000", "20000000"` — The minimum price to search for properties.

* **`park_homes`**

  `boolean`, default: `false` — If checked then park homes will be included in the search.

* **`search_radius`**

  `string`, possible values: `"0", "0.25", "0.5", "1", "3", "5", "10", "15", "20", "30", "40"` — The radius to search for properties.

* **`semi_detached_houses`**

  `boolean`, default: `false` — If checked then semi-detached houses will be included in the search.

* **`terraced_houses`**

  `boolean`, default: `false` — If checked then terraced houses will be included in the search.

**Example:**

```
{
  "location": "London",
  "flats_and_apartments": false,
  "bungalows": false,
  "detached_houses": false,
  "semi_detached_houses": false,
  "terraced_houses": false,
  "lands": false,
  "park_homes": false,
  "min_price": "0",
  "max_price": "0",
  "min_bedrooms": "0",
  "max_bedrooms": "0",
  "min_bathrooms": "0",
  "max_bathrooms": "0",
  "search_radius": "0",
  "include_under_offer_and_stc": false,
  "max_results": "10",
  "max_days_since_added": "0"
}
```

#### runsResponseSchema

- **Type:**`object`

* **`data`**

  `object`

  - **`actId`**

    `string`

  - **`buildId`**

    `string`

  - **`buildNumber`**

    `string`

  - **`containerUrl`**

    `string`

  - **`defaultDatasetId`**

    `string`

  - **`defaultKeyValueStoreId`**

    `string`

  - **`defaultRequestQueueId`**

    `string`

  - **`finishedAt`**

    `string`, format: `date-time`

  - **`id`**

    `string`

  - **`meta`**

    `object`

    - **`origin`**

      `string`

    - **`userAgent`**

      `string`

  - **`options`**

    `object`

    - **`build`**

      `string`

    - **`diskMbytes`**

      `integer`

    - **`memoryMbytes`**

      `integer`

    - **`timeoutSecs`**

      `integer`

  - **`startedAt`**

    `string`, format: `date-time`

  - **`stats`**

    `object`

    - **`computeUnits`**

      `integer`

    - **`inputBodyLen`**

      `integer`

    - **`rebootCount`**

      `integer`

    - **`restartCount`**

      `integer`

    - **`resurrectCount`**

      `integer`

  - **`status`**

    `string`

  - **`usage`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `integer`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`usageTotalUsd`**

    `number`

  - **`usageUsd`**

    `object`

    - **`ACTOR_COMPUTE_UNITS`**

      `integer`

    - **`DATA_TRANSFER_EXTERNAL_GBYTES`**

      `integer`

    - **`DATA_TRANSFER_INTERNAL_GBYTES`**

      `integer`

    - **`DATASET_READS`**

      `integer`

    - **`DATASET_WRITES`**

      `integer`

    - **`KEY_VALUE_STORE_LISTS`**

      `integer`

    - **`KEY_VALUE_STORE_READS`**

      `integer`

    - **`KEY_VALUE_STORE_WRITES`**

      `number`

    - **`PROXY_RESIDENTIAL_TRANSFER_GBYTES`**

      `integer`

    - **`PROXY_SERPS`**

      `integer`

    - **`REQUEST_QUEUE_READS`**

      `integer`

    - **`REQUEST_QUEUE_WRITES`**

      `integer`

  - **`userId`**

    `string`

**Example:**

```
{
  "data": {
    "id": "",
    "actId": "",
    "userId": "",
    "startedAt": "2025-01-08T00:00:00.000Z",
    "finishedAt": "2025-01-08T00:00:00.000Z",
    "status": "READY",
    "meta": {
      "origin": "API",
      "userAgent": ""
    },
    "stats": {
      "inputBodyLen": 2000,
      "rebootCount": 0,
      "restartCount": 0,
      "resurrectCount": 0,
      "computeUnits": 0
    },
    "options": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 1024,
      "diskMbytes": 2048
    },
    "buildId": "",
    "defaultKeyValueStoreId": "",
    "defaultDatasetId": "",
    "defaultRequestQueueId": "",
    "buildNumber": "1.0.0",
    "containerUrl": "",
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 1,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    },
    "usageTotalUsd": 0.00005,
    "usageUsd": {
      "ACTOR_COMPUTE_UNITS": 0,
      "DATASET_READS": 0,
      "DATASET_WRITES": 0,
      "KEY_VALUE_STORE_READS": 0,
      "KEY_VALUE_STORE_WRITES": 0.00005,
      "KEY_VALUE_STORE_LISTS": 0,
      "REQUEST_QUEUE_READS": 0,
      "REQUEST_QUEUE_WRITES": 0,
      "DATA_TRANSFER_INTERNAL_GBYTES": 0,
      "DATA_TRANSFER_EXTERNAL_GBYTES": 0,
      "PROXY_RESIDENTIAL_TRANSFER_GBYTES": 0,
      "PROXY_SERPS": 0
    }
  }
}
```

## Rightmove Property Scraper (BUY Listings) – Extract UK Real-Estate Data 🚀

> **Keywords:** Rightmove scraper, Rightmove API, Rightmove data extraction, UK property scraper, real-estate data, house price scraper, Apify actor, property listing API

Easily collect **live property for-sale listings** from [Rightmove.co.uk](https://www.rightmove.co.uk) – the UK’s #1 real-estate portal. This open-source **Apify Actor written in Python** lets you turn Rightmove into a real-time **property data API** for market research, investment analysis, price monitoring, and more.

***

### Table of Contents

1. [Why Use This Scraper?](#why-use-this-scraper)
2. [Quick Start](#quick-start)
3. [Input Parameters](#input-parameters)
4. [Output Example](#output-example)
5. [Use-Case Ideas](#use-case-ideas)
6. [Technical Details](#technical-details)
7. [Limitations & Legal](#limitations--legal)
8. [Support](#support)

***

### Why Use This Scraper?

✅ **Comprehensive UK Coverage** – Search any city, postcode or area on Rightmove\
✅ **Advanced Filters** – Price, bedrooms, property type, radius & more\
✅ **Agent & Geo Data** – Capture branch details, latitude/longitude, images\
✅ **Unlimited Requests** – Optimised for bulk data collection (sales only)\
✅ **Async & Proxy-Ready** – Built with `httpx` + Apify proxy for reliability

> Stop copying & pasting listing details – automate your Rightmove research in minutes.

***

### Quick Start

#### Run on Apify platform

1. Click **“Try actor”** → paste the JSON input below.
2. Hit **Run** – results will appear in **Dataset** tab as structured JSON.

#### Run locally

```bash
pip install -r requirements.txt
python -m rightmove_uk  ## or however you invoke your main module
```

***

### Input Parameters

| Field | Type | Required | Description | Example |
|-------|------|----------|-------------|---------|
| `location` | string | ✔ | City, postcode, or area name | `"London"` |
| `radius` | string | ✖ | Search radius in miles (`0.25–40`) | `"10"` |
| `min_price` | string | ✖ | Minimum price (GBP) | `"50000"` |
| `max_price` | string | ✖ | Maximum price (GBP) | `"300000"` |
| `min_bedrooms` | string | ✖ | Minimum bedrooms (1-10) | `"2"` |
| `max_bedrooms` | string | ✖ | Maximum bedrooms (1-10) | `"4"` |
| `min_bathrooms` | string | ✖ | Minimum bathrooms (1-5) | `"1"` |
| `max_bathrooms` | string | ✖ | Maximum bathrooms (1-5) | `"2"` |
| `property_types` | string | ✖ | Comma-separated types (see below) | `"terraced,flat"` |
| `max_days_since_added` | string | ✖ | Only show listings added in the last X days (1,3,7,14) | `"7"` |
| `include_under_offer_and_stc` | boolean | ✖ | Include properties **Under Offer** / **SSTC** | `false` |
| `max_results` | string | ✖ | Stop after X listings (pagination limit) | `"100"` |

Supported `property_types`: **terraced**, **flat**, **semi-detached**, **detached**, **bungalow**, **land**, **park-home**.

***

### Output Example

```json
{
  "id": 123456789,
  "bedrooms": 3,
  "bathrooms": 2,
  "description": "Beautiful 3-bedroom semi-detached house in a sought-after location…",
  "address": "123 Example Street, London, SW1A 1AA",
  "latitude": 51.5074,
  "longitude": -0.1278,
  "price": 450000,
  "currency_code": "GBP",
  "property_sub_type": "Semi-detached",
  "tenure": { "type": "Freehold" },
  "estate_agent_branch": { "name": "Example Estate Agents", "phone": "020 1234 5678" },
  "property_url": "https://www.rightmove.co.uk/properties/123456789",
  "first_published_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-20T11:00:00Z",
  "property_images": [ { "url": "https://…jpg", "caption": "Front view" } ],
  "transaction_type": "BUY",
  "timestamp": "2024-01-20T12:00:00Z",
  "input": {
    "location": "London",
    "radius": "10"
  }
}
```

***

### Use-Case Ideas

- **House Price Analytics** – Track asking-price fluctuations by area or property type.
- **Buy-to-Let Investment Research** – Identify high-yield neighbourhoods quickly.
- **Lead Generation for Estate Agents** – Export fresh seller leads with contact URLs.
- **Competitive Benchmarking** – Monitor rival agencies’ stock and pricing strategies.
- **Academic & Media Research** – Analyse housing market trends and publish insights.

***

### Technical Details

- **Language:** Python 3.9+
- **Framework:** [Apify SDK](https://docs.apify.com/sdk/python)
- **HTTP Client:** `httpx` (async) with retry + proxy support
- **Deployment:** Runs seamlessly on Apify cloud or any container platform
- **Performance:** Non-blocking async requests, configurable concurrency

***

### Limitations & Legal

- **Sales Listings Only** – Rentals are *not* supported.
- **UK Market Only** – Rightmove lists UK properties exclusively.
- **Respect Robots & ToS** – Use responsibly and comply with Rightmove’s terms.
- **Rate-Limiting** – Built-in delays help prevent blocking, but heavy usage may still trigger captchas.

***

### Support

Need help or a custom modification? **Open an issue** or **contact us on Apify** – we ❤ real-estate data!

***

**Boost your property intelligence today – scrape Rightmove like a pro!**
