# Rightmove Properties Discovery By Location (`datacach/rightmove-properties-discovery-by-location`) Actor

This actor collects detailed properties information from Rightmove UK by location. It collects comprehensive data including properties details, prices, bedrooms, bathrooms, state agent contact and more. This actor is for buy properties.

- **URL**: https://apify.com/datacach/rightmove-properties-discovery-by-location.md
- **Developed by:** [DataCach](https://apify.com/datacach) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 7 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Rightmove UK Property by Location Scraper \[FOR BUY] 🏠

### Overview

This Apify Actor extracts comprehensive property data from Rightmove.co.uk, the UK's leading property website. You can search for properties for sale across the United Kingdom with advanced filtering options including location, price range, property type, number of bedrooms/bathrooms, and more.

### Why choose this actor? 🌟

- **UK-Wide Coverage**: Extract property data from across the entire United Kingdom
- **Advanced Filtering**: Comprehensive search filters including location, price, property type, and more
- **High-Quality Data**: Structured JSON output with detailed property information
- **Focused Search**: Specialized for property sales with optimized performance
- **Location Intelligence**: Smart location prediction and validation
- **Reliable Performance**: Built on robust infrastructure with retry mechanisms

### Use Cases

- **Market Research**: Analyze property market trends and pricing across different areas
- **Investment Analysis**: Identify investment opportunities and market gaps
- **Competitive Intelligence**: Monitor competitor property listings and pricing
- **Real Estate Development**: Research potential development areas and property types
- **Property Management**: Track sales market trends and property availability
- **Data Analytics**: Build comprehensive property databases for analysis

### Key Features 🚀

- **Property Details**: Complete property information including price, location, and features
- **Location Search**: Smart location prediction with postcode, city, or area name support
- **Advanced Filtering**: Price range, bedrooms, bathrooms, property type, and radius filtering
- **Image Data**: Access to property images and media
- **Agent Information**: Estate agent details and contact information
- **Geographic Data**: Precise latitude/longitude coordinates for mapping
- **Timestamps**: Property listing dates and update information
- **Sales Focus**: Optimized for property sales with comprehensive data extraction

### How It Works

1. **Input**: Provide search parameters including location, filters, and preferences
2. **Processing**: The actor searches Rightmove.co.uk with your criteria
3. **Output**: Receive structured JSON data with comprehensive property information

### Input Parameters

| Field | Type | Required | Description | Example |
|-------|------|----------|-------------|---------|
| `location` | string | Yes | Location to search (city, postcode, or area) | `"London"` |
| `radius` | string | No | Search radius in miles (0.25-40) | `10` |
| `min_price` | string | No | Minimum price filter | `50000` |
| `max_price` | string | No | Maximum price filter | `300000` |
| `min_bedrooms` | string | No | Minimum number of bedrooms (1-10) | `2` |
| `max_bedrooms` | string | No | Maximum number of bedrooms (1-10) | `4` |
| `min_bathrooms` | string | No | Minimum number of bathrooms (1-5) | `1` |
| `max_bathrooms` | string | No | Maximum number of bathrooms (1-5) | `2` |
| `property_types` | string | No | Comma-separated property types | `"terraced,flat,semi-detached"` |
| `operation_type` | string | No | Transaction type (defaults to BUY) | `"BUY"` |
| `max_days_since_added` | string | No | Maximum days since listing (1,3,7,14) | `7` |
| `include_under_offer_and_stc` | boolean | No | Include properties under offer/SSTC | `false` |
| `"max_results` | string | No | Maximum number of results to return | `100` |

#### Available Property Types

- `terraced` - Terraced houses
- `flat` - Flats and apartments
- `semi-detached` - Semi-detached houses
- `detached` - Detached houses
- `bungalow` - Bungalows
- `land` - Land plots
- `park-home` - Park homes

#### Available Radius Options

- `0.25`, `0.5`, `1`, `3`, `5`, `10`, `15`, `20`, `30`, `40` miles

### Output Schema

The actor returns detailed property information in the following structure:

```json
{
  "id": 123456789,
  "bedrooms": 3,
  "bathrooms": 2,
  "number_of_floor_plants": 2,
  "description": "Beautiful 3-bedroom semi-detached house in a sought-after location...",
  "address": "123 Example Street, London, SW1A 1AA",
  "country_code": "GB",
  "latitude": 51.5074,
  "longitude": -0.1278,
  "property_sub_type": "Semi-detached",
  "tenure": {
    "type": "Freehold",
    "details": "Freehold tenure"
  },
  "listing_update": {
    "date": "2024-01-15",
    "type": "New listing"
  },
  "price": 450000,
  "currency_code": "GBP",
  "estate_agent_branch": {
    "name": "Example Estate Agents",
    "branch": "London Branch",
    "contact": {
      "phone": "020 1234 5678",
      "email": "london@exampleagents.co.uk"
    }
  },
  "transaction_type": "BUY",
  "property_url": "https://www.rightmove.co.uk/properties/123456789",
  "contact_url": "https://www.rightmove.co.uk/contact/123456789",
  "first_published_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z",
  "property_images": [
    {
      "url": "https://media.rightmove.co.uk/example-image.jpg",
      "caption": "Front view of the property",
      "type": "main"
    }
  ],
  "timestamp": "2024-01-15T12:00:00Z",
  "input": {
    "location": "London",
    "radius": 10,
    "min_price": 400000,
    "max_price": 500000
  }
}
```

### Output Fields Explained

#### Basic Property Information

- **`id`**: Unique property identifier
- **`bedrooms`**: Number of bedrooms
- **`bathrooms`**: Number of bathrooms
- **`number_of_floor_plants`**: Number of floor plans available
- **`description`**: Detailed property description
- **`address`**: Full property address
- **`country_code`**: ISO country code (GB for UK)

#### Location Data

- **`latitude`**: Property latitude coordinate
- **`longitude`**: Property longitude coordinate
- **`property_sub_type`**: Specific property type (e.g., "Semi-detached")

#### Financial Information

- **`price`**: Property price in pence
- **`currency_code`**: Currency code (GBP)
- **`tenure`**: Property tenure information (Freehold/Leasehold)

#### Agent Information

- **`estate_agent_branch`**: Estate agent details including contact information
- **`transaction_type`**: Transaction type (BUY for sales)
- **`property_url`**: Direct link to property listing
- **`contact_url`**: Contact form URL

#### Media and Updates

- **`property_images`**: Array of property images with URLs and captions
- **`first_published_at`**: When the property was first listed
- **`updated_at`**: Last update timestamp
- **`listing_update`**: Information about listing updates

#### Metadata

- **`timestamp`**: When the data was extracted
- **`input`**: Original search parameters used

### Example Usage

#### Basic Search

```json
{
  "location": "Manchester",
  "radius": "5",
  "min_price": "200000",
  "max_price": "400000",
  "min_bedrooms": "2",
  "max_bedrooms": "4"
}
```

#### Investment Property Search

```json
{
  "location": "Birmingham",
  "min_price": "150000",
  "max_price": "300000",
  "property_types": "flat,terraced",
  "max_days_since_added": "7"
}
```

#### Family Home Search

```json
{
  "location": "Liverpool",
  "radius": "10",
  "min_price": "100000",
  "max_price": "250000",
  "property_types": "terraced,semi-detached",
  "min_bedrooms": "3",
  "include_under_offer_and_stc": false
}
```

### Pricing 💰

Price: **$40 per month**

- Unlimited property searches
- Access to all features and filters
- Priority support included

### Limitations

- **Monthly Subscription**: $40/month for unlimited access
- **Geographic Coverage**: UK properties only
- **Rate Limiting**: Respects Rightmove's rate limits to ensure reliable operation
- **Property Type**: Sales properties only (no rentals)

### Legal Disclaimer

This Actor is intended for public data extraction only. Ensure your usage complies with Rightmove.co.uk's terms of service and applicable data protection regulations. The actor respects rate limits and implements appropriate delays to avoid overwhelming the target website.

### Support

For technical support or questions about this actor, please contact the development team or refer to the Apify documentation.

**Note**: This actor is designed for legitimate business use cases and market research. Please ensure compliance with all applicable laws and website terms of service. The actor implements responsible scraping practices to maintain the integrity of the target website.

# Actor 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.

## Actor input object example

```json
{
  "location": "London",
  "flats_and_apartments": false,
  "bungalows": false,
  "detached_houses": false,
  "semi_detached_houses": false,
  "terraced_houses": false,
  "lands": false,
  "park_homes": false,
  "include_under_offer_and_stc": false,
  "max_results": "10"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("datacach/rightmove-properties-discovery-by-location").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("datacach/rightmove-properties-discovery-by-location").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call datacach/rightmove-properties-discovery-by-location --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datacach/rightmove-properties-discovery-by-location"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/daNgyAIUkiu7lf3ew/builds/k3ndepvWbdKFd7pew/openapi.json
