Rightmove Scraper
Pricing
from $1.70 / 1,000 listings
Pricing
from $1.70 / 1,000 listings
Rating
0.0
(0)
Developer
Farhan Ali
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Rightmove Scraper creates a structured dataset of property listing records collected from Rightmove. Each dataset item represents one property listing and can include the property URL, image, branch name, summary, display size, and a price object with amount, frequency, and currency. Query the source using one or more Rightmove search URLs, control the result limit with maxListings, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, or HTML.
Dataset at a glance
| Property | Value |
|---|---|
| Source | rightmove.co.uk |
| Record unit | One property listing |
| Input methods | Rightmove search URLs |
| Main identifiers | id (property ID) |
| Delivery | Apify Dataset and API |
| Export formats | JSON, CSV, Excel, HTML |
| Update model | Fresh records per Actor run |
| Pricing | $10.00 per 1,000 listings |
Coverage and available records
The Actor collects property listings from Rightmove search result URLs:
- Search URLs — provide one or more
urlsentries; each is a Rightmove search URL, typically built from the Rightmove filters (location, price, property type, channel). - Result limit —
maxListingscaps the total listings across all URLs (0= unlimited).
Supported record types include sales and letting listings, including commercial and residential property depending on the supplied search URL. The exact fields returned depend on the Rightmove listing payload; fields such as bedrooms, location, and displayAddress are present when the listing exposes them.
Data dictionary
| Field | Type | Nullable | Description | Example |
|---|---|---|---|---|
id | number | No | Rightmove property ID | 136625822 |
imageUrl | string | Yes | Primary property image | https://media.rightmove.co.uk/... |
propertyUrl | string | No | Property page URL | https://www.rightmove.co.uk/properties/136625822 |
formattedBranchName | string | Yes | Branch/agency line | Marketed by RX London Limited, London |
summary | string | Yes | Property description summary | Newly fitted office space... |
displaySize | string | Yes | Size label | 195–634 sq. m. |
displayAddress | string | Yes | Property address | 6 Duke Street St. James's, London, SW1Y 6BN |
countryCode | string | Yes | Country code | GB |
bedrooms | number | Yes | Bedroom count | 0 |
propertyTypeFullDescription | string | Yes | Property type | Office |
propertySubType | string | Yes | Property subtype | Office |
location | object | Yes | Latitude/longitude | { "latitude": 51.507105, "longitude": -0.137131 } |
price | object | Yes | Price object (amount, frequency, currency, display) | {...} |
images | array | Yes | Property image list | [{...}] |
The price object includes amount (number), frequency (e.g. monthly), currencyCode (e.g. GBP), and displayPrices with a formatted label. Use id as the stable field for deduplication.
Example dataset record
{"id": 136625822,"imageUrl": "https://media.rightmove.co.uk/dir/crop/10:9-16:9/property-photo/6a42f3fae/136625822/example.jpeg","propertyUrl": "https://www.rightmove.co.uk/properties/136625822#/?channel=COM_LET","formattedBranchName": "Marketed by RX London Limited, London","summary": "Newly fitted office space available on ground and 1st floors, moments away from St. James's Square.","displaySize": "195–634 sq. m.","displayAddress": "6 Duke Street St. James's, London, SW1Y 6BN","countryCode": "GB","bedrooms": 0,"propertyTypeFullDescription": "Office","location": { "latitude": 51.507105, "longitude": -0.137131 },"price": {"amount": 19241,"frequency": "monthly","currencyCode": "GBP","displayPrices": [{ "displayPrice": "£19,241 pcm", "displayPriceQualifier": "" }]}}
This record was produced by a Rightmove commercial-property-to-let search URL for London.
Query and input reference
| Input | Type | Required | Default | Accepted values | Description |
|---|---|---|---|---|---|
urls | array | Yes | — | Rightmove search URLs | List of search URLs to scrape. |
maxListings | integer | No | 0 | 0 = unlimited | Maximum listings across all URLs. |
proxyConfiguration | object | No | Apify residential | Proxy editor | Proxy settings. |
Minimal request:
{"urls": [{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490" }],"maxListings": 100}
Retrieve the data through the API
- Start the Actor with a JSON input.
- Wait for the run to finish, or use the synchronous endpoint for small jobs.
- Retrieve items from the run's default dataset.
- Paginate or export the dataset.
Python example:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("datascrapers/rightmove-scraper").call(run_input={"urls": [{"url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490"}],"maxListings": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["displayAddress"], item.get("price"))
For other languages, use the generated API tab on the Actor page.
Data quality and record handling
- Completeness — the Actor writes the fields present in the Rightmove listing payload; optional fields such as
bedrooms,location, andimagesare present when the listing exposes them. - Source changes — Rightmove page structure changes can cause individual fields to come back empty.
- Deduplication — the Actor writes one row per listing per run and does not persist dedup state across runs. Deduplicate on
idwhen merging runs. - Retry/error behavior — the Actor retries failed requests so transient errors do not drop listings.
- Normalization —
priceis returned as a structured object withamount,frequency, andcurrencyCode.
Export and pipeline examples
| Destination | Recommended method | Typical use |
|---|---|---|
| PostgreSQL/Supabase | Dataset API or webhook consumer | Property listing tables |
| Google Sheets | Apify integration | Market comparison sheets |
| S3/cloud storage | Scheduled export or integration | Archive listing snapshots |
Pricing and cost examples
Billing is pay per dataset item. You are not charged Apify platform usage on top of this event.
| Records | Estimated base cost |
|---|---|
| 1,000 listings | $10.00 |
| 10,000 listings | $100.00 |
Each property listing written to the dataset is one billable item. Apify plan discounts may reduce the per-item price.
Limitations and responsible data use
- The Actor reads publicly accessible Rightmove listing data.
- Availability and source changes can produce empty or partial fields.
- No guarantee of historical snapshots unless you store results yourself.
- You are responsible for compliance with applicable terms, privacy, and legal requirements when using the data.
Dataset questions
What does one dataset item represent?
One Rightmove property listing returned by a search URL.
Which field should I use as a unique identifier?
id is the stable Rightmove property ID.
Are fields nullable or conditional?
Many fields (bedrooms, location, images, displayAddress) are present only when the listing exposes them and vary by property type.
Can I retrieve the records as CSV or JSON?
Yes. Export from the Output tab as JSON, CSV, Excel, or HTML, or read the dataset through the Apify API.
How do I paginate large datasets?
Use maxListings to cap total listings. For API retrieval, paginate the default dataset items endpoint.
Does the Actor return historical data?
No. Each run captures the current state of the listings at run time.
What counts as a billable result?
Each property listing written to the dataset is one billable item.
Related datasets from Data Scrapers
- Zoopla Scraper — UK property listings that can be joined with Rightmove for market coverage.
- Realtor.com Scraper — US property listings for cross-market analysis.
- Idealista Scraper — European property listings for regional research.
Data Scrapers support
Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.