Rightmove Scraper avatar

Rightmove Scraper

Pricing

from $1.70 / 1,000 listings

Go to Apify Store
Rightmove Scraper

Rightmove Scraper

Scrapes property listings from Rightmove.

Pricing

from $1.70 / 1,000 listings

Rating

0.0

(0)

Developer

Farhan Ali

Farhan Ali

Maintained by Community

Actor 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

PropertyValue
Sourcerightmove.co.uk
Record unitOne property listing
Input methodsRightmove search URLs
Main identifiersid (property ID)
DeliveryApify Dataset and API
Export formatsJSON, CSV, Excel, HTML
Update modelFresh 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 urls entries; each is a Rightmove search URL, typically built from the Rightmove filters (location, price, property type, channel).
  • Result limit — maxListings caps 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

FieldTypeNullableDescriptionExample
idnumberNoRightmove property ID136625822
imageUrlstringYesPrimary property imagehttps://media.rightmove.co.uk/...
propertyUrlstringNoProperty page URLhttps://www.rightmove.co.uk/properties/136625822
formattedBranchNamestringYesBranch/agency lineMarketed by RX London Limited, London
summarystringYesProperty description summaryNewly fitted office space...
displaySizestringYesSize label195–634 sq. m.
displayAddressstringYesProperty address6 Duke Street St. James's, London, SW1Y 6BN
countryCodestringYesCountry codeGB
bedroomsnumberYesBedroom count0
propertyTypeFullDescriptionstringYesProperty typeOffice
propertySubTypestringYesProperty subtypeOffice
locationobjectYesLatitude/longitude{ "latitude": 51.507105, "longitude": -0.137131 }
priceobjectYesPrice object (amount, frequency, currency, display){...}
imagesarrayYesProperty 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

InputTypeRequiredDefaultAccepted valuesDescription
urlsarrayYes—Rightmove search URLsList of search URLs to scrape.
maxListingsintegerNo00 = unlimitedMaximum listings across all URLs.
proxyConfigurationobjectNoApify residentialProxy editorProxy 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

  1. Start the Actor with a JSON input.
  2. Wait for the run to finish, or use the synchronous endpoint for small jobs.
  3. Retrieve items from the run's default dataset.
  4. Paginate or export the dataset.

Python example:

from apify_client import ApifyClient
client = 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, and images are 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 id when merging runs.
  • Retry/error behavior — the Actor retries failed requests so transient errors do not drop listings.
  • Normalization — price is returned as a structured object with amount, frequency, and currencyCode.

Export and pipeline examples

DestinationRecommended methodTypical use
PostgreSQL/SupabaseDataset API or webhook consumerProperty listing tables
Google SheetsApify integrationMarket comparison sheets
S3/cloud storageScheduled export or integrationArchive listing snapshots

Pricing and cost examples

Billing is pay per dataset item. You are not charged Apify platform usage on top of this event.

RecordsEstimated 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.

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.