Rightmove Sold Listings Scraper avatar

Rightmove Sold Listings Scraper

Pricing

from $0.75 / 1,000 listings

Go to Apify Store
Rightmove Sold Listings Scraper

Rightmove Sold Listings Scraper

Scrape sold property listings and optional transaction histories from Rightmove.

Pricing

from $0.75 / 1,000 listings

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

Rightmove Sold Listings Scraper: UK sold house prices with sale dates, tenure and transaction history

Rightmove Sold Listings Scraper turns Rightmove's house prices pages into a spreadsheet of sold UK properties. Enter an area name, an outcode such as SW6, a postcode or a Rightmove house-prices URL. You get each property's address, latest sold price and sale date, tenure, property type, bedrooms, bathrooms, map coordinates and photo. It is built for comparable sales analysis, valuation work, investors, surveyors and estate agents.

  • Latest sale on every row. latestTransaction holds the sold price (displayPrice), the sale date (dateSold) and the tenure, as Rightmove shows them.
  • Optional full sale history. Turn on includeTransactionHistory to add transactionHistory with every recorded sale of the property, the change between sales, the data source and the property's last advertised dates.
  • Filters that match the website. Sold within 1 to 30 years, property type, search radius up to 40 miles, and five sort orders (most recent, oldest, lowest price, highest price, address).
  • Up to 10,000 properties per run. The Actor pages through results until it reaches maxItems or the end of the results.
  • Pay per property, no subscription. From $3 per 1,000 sold listings on the Free plan, with a small extra charge only for successful transaction-history lookups. No Rightmove account or API key. Export to JSON, CSV, Excel or Google Sheets.

Scope: This Actor covers sold prices only. For properties currently for sale or to rent, use a Rightmove listings scraper. For estate agent contact details, use Rightmove Branch Scraper.

What can you do with Rightmove Sold Listings Scraper?

GoalHow
Comparable sales (comps)Search a postcode with a radius, filter by propertyType and read latestTransaction.displayPrice.
Price a propertyCompare bedrooms, bathrooms and latestTransaction.dateSold across the same street or outcode.
See how a home's value movedTurn on includeTransactionHistory and read transactionHistory.transactions and displayAbsoluteChange.
Investment due diligenceCheck past sales, tenure and how long a property was advertised (propertyDetails.advertisedFrom, advertisedTo).
Map a local marketUse location.latitude and location.longitude to plot sold prices in a GIS or BI tool.
Monitor an area over timeSchedule the Actor with sortBy set to MOST_RECENT and keep the new uuid values each week.

How it compares

What you needRightmove Sold Listings ScraperCopy-paste from the websitePaid property data platforms
VolumeUp to 10,000 properties per runA few at a timeDepends on plan
Sale historyOptional, every recorded saleOne property page at a timeOften included, higher cost
FiltersArea, radius, type, sold period, sort orderSame filters, applied by handVaries
OutputJSON, CSV, Excel, APIManual spreadsheetDashboards, limited exports
PricePay per propertyYour timeMonthly subscription

Quick start

  1. Click Try for free and sign in to Apify.
  2. Enter a Location such as SW6, Manchester or a Rightmove house-prices URL.
  3. For a first run, keep Maximum listings at 50.
  4. Click Start. When the run finishes, open the Output tab and export the data.
{
"location": "SW6",
"maxItems": 50
}

Input

FieldTypeDefaultEffect
locationStringRequiredArea name, outcode, postcode or a Rightmove house-prices/<area>.html URL. The first matching region, outcode or postcode is used.
maxItemsInteger50Maximum sold listings to save, from 1 to 10,000.
soldWithinYearsString"5""1", "2", "3", "5", "10", "15", "20" or "30".
propertyTypeStringAnyDETACHED, SEMI_DETACHED, TERRACED or FLAT.
radiusString"0"Miles around the location: "0" (location only), "0.25", "0.5", "1", "3", "5", "10", "15", "20", "30", "40".
sortByString"MOST_RECENT"MOST_RECENT, OLDEST, LOWEST_PRICE, HIGHEST_PRICE or ADDRESS.
includeTransactionHistoryBooleanfalseAdds transactionHistory. One extra request per property, charged as a separate event.
proxyConfigurationObjectApify ProxyProxy settings for requests to Rightmove.

Example: recent flat sales within a mile, with history

{
"location": "SW6",
"maxItems": 100,
"soldWithinYears": "5",
"propertyType": "FLAT",
"radius": "1",
"sortBy": "MOST_RECENT",
"includeTransactionHistory": true
}

Output

Every row is one sold property. Results go to the run's default dataset. Export as JSON, CSV, Excel, XML or HTML. This is a real row from an SW6 run on July 25, 2026, with the transaction history shortened:

{
"uuid": "b1822394-aec6-4efe-ad1c-a7a2d09c7649",
"address": "88a, Orbain Road, London SW6 7JY",
"propertyType": "FLAT",
"bedrooms": 3,
"bathrooms": 1,
"detailUrl": "https://www.rightmove.co.uk/house-prices/details/b1822394-aec6-4efe-ad1c-a7a2d09c7649",
"imageInfo": {
"unsizedUrl": "https://media.rightmove.co.uk/property-photo/d1c97685f/159617936/d1c97685f6a7a8a35fe03f5dad2b0bf3.jpeg"
},
"latestTransaction": {
"displayPrice": "£686,000",
"dateSold": "17 Apr 2026",
"tenure": "LEASEHOLD"
},
"location": {
"latitude": 51.47946,
"longitude": -0.21141
},
"transactionHistory": {
"propertyType": "Flat",
"address": { "displayAddress": "88a, Orbain Road, London SW6 7JY", "country": "ENGLAND" },
"transactions": [
{
"transactionId": "94005024",
"displayPrice": "£686,000",
"displayDeedDate": "17 Apr 2026",
"tenure": "Leasehold",
"displayAbsoluteChange": "£0",
"absoluteChangeType": "NO_CHANGE"
}
],
"source": "LR",
"disclaimer": {
"earliestTransaction": "1 January 1995",
"mostRecentTransaction": "30 April 2026",
"lastLoadDate": "9 July 2026"
},
"propertyDetails": { "id": 159617936, "bedrooms": 3, "bathrooms": 1 }
},
"searchLocation": { "id": "2519", "type": "OUTCODE", "name": "SW6" },
"scrapedAt": "2026-07-25T14:31:14.763Z"
}

Notes on fields

  • Prices and dates in latestTransaction and transactions are display strings such as "£686,000" and "17 Apr 2026", as Rightmove shows them. Convert them in your spreadsheet if you need numbers.
  • Without includeTransactionHistory, rows have no transactionHistory field. Other fields in the fixture, such as staticMapUrls, userProfile and tracked, come straight from Rightmove and are mostly empty.
  • If a history lookup fails, the row is still saved with transactionHistory: null and a transactionHistoryError message, and you are not charged for that lookup.
  • searchLocation is the area Rightmove matched to your location. Check it when your input was a name that could match several places.
  • Every row has scrapedAt in UTC.

Track UK sold prices over time with scheduled runs

Rightmove adds new sales as Land Registry data arrives. Run the same search on a schedule and keep only what is new.

1. Save your input as a task

Open the actor, set your location and filters, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.

2. Schedule the task

In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.

Watch how to schedule an Actor:

Or schedule a saved task:

Common schedules:

Use caseFrequencyCron expression
New sales in a postcode areaWeekly (Monday)0 6 * * 1
Fast-moving local marketsDaily0 6 * * *
Monthly price reportsMonthly (1st)0 6 1 * *

3. Send the results to a spreadsheet

Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:

4. Compare runs

  • New sales: uuids that were not in the previous run, with latestTransaction.dateSold and latestTransaction.displayPrice.
  • Area price trend: group by searchLocation.name and propertyType, and compare prices over time.
  • Resales: with includeTransactionHistory, transactionHistory.transactions shows each displayPrice, displayDeedDate and displayAbsoluteChange.
  • Tenure mix: count latestTransaction.tenure per area.

FAQ

How many results can I get?

Up to 10,000 sold listings per run (maxItems). The Actor stops earlier when Rightmove has no more results for your filters.

Why did I get few or no results?

Narrow filters (a short sold period, one property type, radius 0 on a small postcode) reduce results. If the log says no supported location was found, try an outcode like SW6, a postcode or a town name.

Where does the sold price data come from?

Rightmove's house prices section. The source field in the transaction history (LR in the example) names the origin Rightmove reports. The Actor returns what Rightmove shows. Very recent sales can take weeks to appear (see disclaimer.lastLoadDate).

Does it cover Scotland and Northern Ireland?

It returns whatever Rightmove's house prices section offers for the location you enter. The example above is England. Check your area with a small run first.

Do I need proxies or a Rightmove account?

No account, login or API key. Apify Proxy is selected by default and is recommended for larger runs.

How fast is it?

Pages are fetched one after another with a short pause. Transaction history adds one request per property, so runs with history take longer.

The Actor collects publicly visible sold-price data. You are responsible for how you use it, including Rightmove's terms and laws such as UK GDPR when addresses are involved.

Can I get estate agent contacts too?

Use Rightmove Branch Scraper for branch names, phone numbers, emails and addresses by branch ID.

Cost

This Actor uses pay-per-event pricing. Prices below are for the Free plan. Paid Apify plans get lower per-listing prices, shown on the Pricing tab.

EventPrice (Free plan)Charged when
listing$0.003A sold listing is saved.
transaction-history$0.001A property's transaction history is fetched successfully.
Actor start$0.005Once per run.

Example runs on the Free plan:

RunCost
100 listings without history$0.305
100 listings with history$0.405
1,000 listings with history$4.005

Set a maximum cost per run in the run options. The Pricing tab always shows the current prices.

Support

Report problems or request features in the Issues tab. Include the run ID, the input and what you expected. We read every issue.

This Actor is not affiliated with or endorsed by Rightmove Group Limited. "Rightmove" is a trademark of its owner.