Rightmove UK Property Scraper: Prices & Agent Contacts avatar

Rightmove UK Property Scraper: Prices & Agent Contacts

Pricing

from $25.50 / 1,000 results

Go to Apify Store
Rightmove UK Property Scraper: Prices & Agent Contacts

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

Rightmove UK Property Scraper: Prices & Agent Contacts

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

Apify Coverage Output Billing

Table of contents

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

FieldTypeRequiredDefaultDescription
maxListingsintegerno10Maximum listings to collect across all locations this run. Range 1 to 1000.
listingTypeenumnosalesale for properties for sale, rent for properties to rent.
locationsstring[]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.
minBedsintegerno(any)Only return listings with at least this many bedrooms. Range 0 to 10.
locationIdentifierstringno(empty)Advanced. A raw Rightmove location identifier such as REGION^87490, searched in addition to any locations. Leave blank to search by name only.
enrichContactsbooleannofalsePaid 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.
enrichContactsMaxintegerno50Cap 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.

FieldTypeDescription
searchLocationstringThe input location this listing was found under.
idintegerRightmove property ID (unique per listing).
transactionTypestringsale or rent.
displayAddressstringAddress as shown on Rightmove.
propertySubTypestringProperty sub-type, for example Flat, Detached, Terraced.
propertyTypestringFull property type label, for example 4 bedroom flat for sale.
bedroomsintegerNumber of bedrooms, or null.
bathroomsintegerNumber of bathrooms, or null.
displaySizestringFloor area as displayed, for example 2,427 sq. ft., or null.
priceAmountintegerNumeric price value.
priceDisplaystringPrice as formatted on Rightmove, for example £4,500,000.
priceQualifierstringPrice qualifier such as Guide Price, Offers over, or null.
priceFrequencystringFor rentals, the rent frequency, or null for sales.
currencyCodestringISO currency code, usually GBP.
tenurestringTenure type, for example FREEHOLD, LEASEHOLD, SHARE_OF_FREEHOLD, or null.
summarystringListing summary text.
keyFeaturesstring[]Bullet-point key features. Empty array when none are listed.
latitudenumberProperty latitude, or null.
longitudenumberProperty longitude, or null.
listingUrlstringCanonical Rightmove listing URL.
mainImagestringURL of the cover photo.
photosstring[]URLs of all listing photos.
photoCaptionsstring[]Captions aligned to photos, null where none.
numberOfImagesintegerCount of images on the listing.
numberOfFloorplansintegerCount of floorplans.
numberOfVirtualToursintegerCount of virtual tours.
onlineViewingsAvailablebooleanWhether online viewings are offered.
staticMapUrlstringStatic map image URL, or null.
addedOrReducedstringHuman text such as Added on 15/07/2026 or Reduced on ....
firstVisibleDatestringISO timestamp the listing first appeared.
listingUpdateReasonstringReason for the latest update, for example new, price_reduced.
listingUpdateDatestringISO timestamp of the latest listing update.
letAvailableDatestringFor rentals, the available-from date, or null.
feesApplybooleanWhether letting fees apply.
feesTextstringFees description, or null.
isDevelopmentbooleanNew-build development flag.
isCommercialbooleanCommercial property flag.
isAuctionbooleanAuction listing flag.
isRetirementbooleanRetirement property flag.
isStudentbooleanStudent property flag.
featuredbooleanFeatured listing flag.
premiumListingbooleanPremium listing flag.
agentNamestringEstate agent name.
branchNamestringAgent branch name.
agentPhonestringAgent branch phone number.
agentProfileUrlstringURL of the agent profile on Rightmove.
agentContactUrlstringContact-branch URL for this property.
agentLogostringURL of the agent logo, or null.
branchIdintegerRightmove branch ID.
sourcestringAlways rightmove.co.uk.
observedAtstringISO 8601 timestamp of when the record was collected.
enrichedEmailstringAdd-on only. Public business contact email found, or null.
enrichedContactNamestringAdd-on only. Contact person's name, or null.
enrichedJobTitlestringAdd-on only. Contact job title, or null.
enrichedEmailStatusstringAdd-on only. verified, likely, guessed, not_found, or error.
enrichedSourcestringAdd-on only. URL the email was found on, or null.
enrichedConfidencestringAdd-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:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). See the pricing tab for the current per-result price.
  • Contact add-on billing. When enrichContacts is on, the add-on is billed per enrichment attempt, plus an extra charge only when an email is found. Cap attempts with enrichContactsMax.
  • No charge on failure. Failed collection does not push billable listings, so empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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.

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.