Rightmove UK Property Scraper: Prices & Agent Contacts
Pricing
from $25.50 / 1,000 results
Rightmove UK Property Scraper: Prices & Agent Contacts
Scrape UK property listings from Rightmove for sale or to rent: address, price, bedrooms, bathrooms, property type, coordinates, summary, date added and the estate agent name, branch and phone number. Search any UK location. Export to JSON, CSV or Excel.
Pricing
from $25.50 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Rightmove UK Property Scraper: Prices & Agent Contacts
Here is one real result, with every field the actor returns (the photos and photoCaptions arrays are trimmed to 3 of 16 entries here to keep the example short; live records contain the full arrays):
{"searchLocation": "London","id": 90940500,"transactionType": "sale","displayAddress": "Hyde Park Gate, South Kensington, London","propertySubType": "Flat","propertyType": "4 bedroom flat for sale","bedrooms": 4,"bathrooms": 3,"displaySize": "2,427 sq. ft.","priceAmount": 4500000,"priceDisplay": "£4,500,000","priceQualifier": "Guide Price","priceFrequency": null,"currencyCode": "GBP","tenure": "SHARE_OF_FREEHOLD","summary": "Hyde Park Gate is renowned for its magnificent Victorian architecture and distinguished former residents, including Sir Winston Churchill and Virginia Woolf.","keyFeatures": [],"latitude": 51.499979,"longitude": -0.181243,"listingUrl": "https://www.rightmove.co.uk/properties/90940500","mainImage": "https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/65b06351d/90940500/65b06351d48abfa1fd7e85080b609087_max_476x317.jpeg","photos": ["https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/65b06351d/90940500/65b06351d48abfa1fd7e85080b609087_max_476x317.jpeg","https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f312d1bd4/90940500/f312d1bd4becc3cdbe118b69edeb1ad6_max_476x317.jpeg","https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/8df377bb8/90940500/8df377bb8bfc5d3388f8380b77a4347f_max_476x317.jpeg"],"photoCaptions": ["Picture No. 02", "Picture No. 03", "Picture No. 04"],"numberOfImages": 16,"numberOfFloorplans": 1,"numberOfVirtualTours": 0,"onlineViewingsAvailable": false,"staticMapUrl": null,"addedOrReduced": "Added on 15/07/2026","firstVisibleDate": "2026-07-15T19:20:19Z","listingUpdateReason": "new","listingUpdateDate": "2026-07-15T19:26:02Z","letAvailableDate": null,"feesApply": false,"feesText": null,"isDevelopment": false,"isCommercial": false,"isAuction": false,"isRetirement": false,"isStudent": false,"featured": true,"premiumListing": false,"agentName": "Strutt & Parker","branchName": "Strutt & Parker, South Kensington","agentPhone": "020 3889 9086","agentProfileUrl": "https://www.rightmove.co.uk/estate-agents/agent/Strutt-and-Parker/South-Kensington-154907.html","agentContactUrl": "https://www.rightmove.co.uk/property-for-sale/contactBranch.html?propertyId=90940500","agentLogo": "https://media.rightmove.co.uk:443/partner-logo/19215470-PRODUCTS_LOGO-1775116724528.png","branchId": 154907,"source": "rightmove.co.uk","observedAt": "2026-08-10T14:30:14.695Z"}
The most complete Rightmove UK property scraper available. It returns every field the listing exposes, from price and property details to full-resolution photos and coordinates, plus the estate agent name, branch and phone number for lead generation, and an optional add-on that finds a public contact email. Search any UK location for sale or to rent.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor resolves each UK location you pass (a town, city, borough, region, or postcode area) to its Rightmove search, paginates through the matching properties for sale or to rent, and writes one normalized record per listing to the run's dataset. Every record includes price, property type, bedrooms and bathrooms, floor area, tenure, coordinates, the full photo gallery, the listing timeline (date added or reduced), and the estate agent name, branch, phone number and profile URL for lead generation. An optional paid add-on attempts to find a public business contact email and name for each result.
Data covers the UK market on rightmove.co.uk. Search by free-text location, and optionally by a raw Rightmove locationIdentifier for exact-region targeting.
Quickstart
Open the actor, paste this into the input, and press Run. It collects the 10 most relevant properties for sale across London and Manchester.
{"maxListings": 10,"listingType": "sale","locations": ["London", "Manchester"],"enrichContacts": false,"enrichContactsMax": 50}
Every input field is optional. Set listingType to rent for rentals, add minBeds to filter by bedrooms, and turn on enrichContacts to run the paid contact-email add-on.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxListings | integer | no | 10 | Maximum listings to collect across all locations this run. Range 1 to 1000. |
listingType | enum | no | sale | sale for properties for sale, rent for properties to rent. |
locations | string[] | no | ["London","Manchester"] | One or more UK places to search: a town, city, borough, region, or postcode area, for example London, Manchester, SW1, Leeds. One run searches every location; the closest matching Rightmove location is used for each. |
minBeds | integer | no | (any) | Only return listings with at least this many bedrooms. Range 0 to 10. |
locationIdentifier | string | no | (empty) | Advanced. A raw Rightmove location identifier such as REGION^87490, searched in addition to any locations. Leave blank to search by name only. |
enrichContacts | boolean | no | false | Paid add-on. For each result without an email, attempt to find a public business contact email and contact name. Billed per attempt, plus an extra charge only when an email is found. |
enrichContactsMax | integer | no | 50 | Cap how many results the add-on tries to enrich, to control add-on cost. Leave empty to attempt all. Free Apify accounts are capped at 3. |
Output reference
One dataset item per listing. Types: string, integer, number, boolean, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
searchLocation | string | The input location this listing was found under. |
id | integer | Rightmove property ID (unique per listing). |
transactionType | string | sale or rent. |
displayAddress | string | Address as shown on Rightmove. |
propertySubType | string | Property sub-type, for example Flat, Detached, Terraced. |
propertyType | string | Full property type label, for example 4 bedroom flat for sale. |
bedrooms | integer | Number of bedrooms, or null. |
bathrooms | integer | Number of bathrooms, or null. |
displaySize | string | Floor area as displayed, for example 2,427 sq. ft., or null. |
priceAmount | integer | Numeric price value. |
priceDisplay | string | Price as formatted on Rightmove, for example £4,500,000. |
priceQualifier | string | Price qualifier such as Guide Price, Offers over, or null. |
priceFrequency | string | For rentals, the rent frequency, or null for sales. |
currencyCode | string | ISO currency code, usually GBP. |
tenure | string | Tenure type, for example FREEHOLD, LEASEHOLD, SHARE_OF_FREEHOLD, or null. |
summary | string | Listing summary text. |
keyFeatures | string[] | Bullet-point key features. Empty array when none are listed. |
latitude | number | Property latitude, or null. |
longitude | number | Property longitude, or null. |
listingUrl | string | Canonical Rightmove listing URL. |
mainImage | string | URL of the cover photo. |
photos | string[] | URLs of all listing photos. |
photoCaptions | string[] | Captions aligned to photos, null where none. |
numberOfImages | integer | Count of images on the listing. |
numberOfFloorplans | integer | Count of floorplans. |
numberOfVirtualTours | integer | Count of virtual tours. |
onlineViewingsAvailable | boolean | Whether online viewings are offered. |
staticMapUrl | string | Static map image URL, or null. |
addedOrReduced | string | Human text such as Added on 15/07/2026 or Reduced on .... |
firstVisibleDate | string | ISO timestamp the listing first appeared. |
listingUpdateReason | string | Reason for the latest update, for example new, price_reduced. |
listingUpdateDate | string | ISO timestamp of the latest listing update. |
letAvailableDate | string | For rentals, the available-from date, or null. |
feesApply | boolean | Whether letting fees apply. |
feesText | string | Fees description, or null. |
isDevelopment | boolean | New-build development flag. |
isCommercial | boolean | Commercial property flag. |
isAuction | boolean | Auction listing flag. |
isRetirement | boolean | Retirement property flag. |
isStudent | boolean | Student property flag. |
featured | boolean | Featured listing flag. |
premiumListing | boolean | Premium listing flag. |
agentName | string | Estate agent name. |
branchName | string | Agent branch name. |
agentPhone | string | Agent branch phone number. |
agentProfileUrl | string | URL of the agent profile on Rightmove. |
agentContactUrl | string | Contact-branch URL for this property. |
agentLogo | string | URL of the agent logo, or null. |
branchId | integer | Rightmove branch ID. |
source | string | Always rightmove.co.uk. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
enrichedEmail | string | Add-on only. Public business contact email found, or null. |
enrichedContactName | string | Add-on only. Contact person's name, or null. |
enrichedJobTitle | string | Add-on only. Contact job title, or null. |
enrichedEmailStatus | string | Add-on only. verified, likely, guessed, not_found, or error. |
enrichedSource | string | Add-on only. URL the email was found on, or null. |
enrichedConfidence | string | Add-on only. high, medium, or low. |
The enriched* fields are present only when enrichContacts is enabled.
Example output record
Real record from a live run (input {"maxListings":10,"listingType":"sale","locations":["London","Manchester"]}); photos and photoCaptions trimmed to 2 entries here, live records carry the full arrays:
{"searchLocation": "London","id": 90940500,"transactionType": "sale","displayAddress": "Hyde Park Gate, South Kensington, London","propertySubType": "Flat","propertyType": "4 bedroom flat for sale","bedrooms": 4,"bathrooms": 3,"displaySize": "2,427 sq. ft.","priceAmount": 4500000,"priceDisplay": "£4,500,000","priceQualifier": "Guide Price","currencyCode": "GBP","tenure": "SHARE_OF_FREEHOLD","latitude": 51.499979,"longitude": -0.181243,"listingUrl": "https://www.rightmove.co.uk/properties/90940500","photos": ["https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/65b06351d/90940500/65b06351d48abfa1fd7e85080b609087_max_476x317.jpeg","https://media.rightmove.co.uk:443/dir/crop/10:9-16:9/property-photo/f312d1bd4/90940500/f312d1bd4becc3cdbe118b69edeb1ad6_max_476x317.jpeg"],"numberOfImages": 16,"addedOrReduced": "Added on 15/07/2026","agentName": "Strutt & Parker","branchName": "Strutt & Parker, South Kensington","agentPhone": "020 3889 9086","branchId": 154907,"source": "rightmove.co.uk","observedAt": "2026-08-10T14:30:14.695Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~rightmove-uk-realestate-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"listingType":"sale","locations":["London"],"minBeds":2,"maxListings":50}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~rightmove-uk-realestate-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"listingType":"rent","locations":["Manchester","Leeds"],"maxListings":200}'
Apify CLI:
apify call scrapers_lat/rightmove-uk-realestate-scraper \--input '{"locations":["SW1"],"maxListings":25}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per listing returned (
resultevent). See the pricing tab for the current per-result price. - Contact add-on billing. When
enrichContactsis on, the add-on is billed per enrichment attempt, plus an extra charge only when an email is found. Cap attempts withenrichContactsMax. - No charge on failure. Failed collection does not push billable listings, so empty runs cost nothing.
- Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 listings per run, and the contact add-on at 3 enrichments. Upgrade for higher
maxListings. - Search paging ceiling. Rightmove caps search paging at 1000 results per location. For larger pulls, split the work across more specific locations or postcode areas.
FAQ and troubleshooting
A run returned 0 records. Why?
The location could not be resolved or matched no listings. Check the spelling of the location, try a broader area, or drop minBeds. Zero-result runs are not charged.
How do I get rentals instead of sales?
Set listingType to rent. For rentals, priceFrequency and letAvailableDate are populated where available.
Can I search several places at once?
Yes. Put every place in the locations array. One run searches them all, up to maxListings total, and each record's searchLocation tells you which input it came from.
How do I get exact-region results?
Pass a raw Rightmove locationIdentifier such as REGION^87490. It is searched in addition to any free-text locations.
What does the contact add-on return?
When enabled, each result gains enrichedEmail, enrichedContactName, enrichedJobTitle, enrichedEmailStatus, enrichedSource, and enrichedConfidence. Only publicly available data is used, and addresses are never fabricated.
Is this an official Rightmove tool? No. This actor is independent and has no affiliation with Rightmove. It reads only publicly available listing data. Use it in accordance with Rightmove's terms.
Related scrapers
- Funda Netherlands Real Estate Scraper: Dutch property listings with prices and agents.
- Daft Ireland Real Estate Scraper: Irish property listings for sale and rent.
- Domain Australia Real Estate Scraper: Australian property listings and prices.
- Immoweb Belgium Real Estate Scraper: Belgian property listings and prices.
- Hemnet Sweden Real Estate Scraper: Swedish property listings and prices.
- Centris Canada Real Estate Scraper: Canadian property listings with agents.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Rightmove. Accesses only publicly available listing data. Use in accordance with Rightmove's terms of service.
