# Rightmove Property Scraper

> Paste any Rightmove search and get every listing in it, with price, address, bedrooms, photos and the agent's phone, plus the full postcode, council tax and floor area when you want them.

Rightmove Property Scraper takes any Rightmove search link (for sale, to rent, new homes, student or commercial) and returns every listing on it, up to the 1,008 Rightmove shows for one search. Each listing is one row with price, address, bedrooms, property type, photos and the agent’s phone. Full postcode, council tax band, lease details, floor area, nearest stations and floorplans are an optional add-on.

- Web page: https://keklik.io/scrapers/rightmove-scraper
- Apify Actor: `keklik/rightmove-scraper` (https://apify.com/keklik/rightmove-scraper)
- You enter: A Rightmove search link with your filters set
- You get: Price, address, bedrooms, property type, photos, agent and phone
- Status: working, last tested 11 Nov 2026
- Needs: an Apify account (free is enough to try). No login to the site itself.

## Price per 1,000 listings

US dollars, on each Apify plan. Apify's platform costs are included. Add-ons are charged only when switched on in the input.

| Charge | Free | Starter | Scale | Business |
|---|---:|---:|---:|---:|
| Property listing: Each listing the scraper saves. | $0.75 | $0.70 | $0.60 | $0.50 |
| Full property details (add-on): Only when full details are switched on. Charged once per listing on top of the listing itself. | $0.75 | $0.70 | $0.60 | $0.50 |
| Agent profile (add-on) | $0.75 | $0.70 | $0.60 | $0.50 |

Apify's plans and a calculator: https://keklik.io/pricing.md

## Input

The run input is a JSON object with these keys:

- `startUrls` (array, optional): Rightmove search URLs. Search results pages from rightmove.co.uk. Choose the location, price range and filters on the site, then copy the address from your browser.
- `locations` (array, optional): Locations. Towns, cities, areas, postcodes, postcode districts or stations, one per line, such as Manchester, Camden, SW1A 1AA, M1 or Kings Cross Station. Each one becomes its own search, using Rightmove's best match for the name. A Rightmove location ID such as REGION^904 also works. For overseas, type a country or region instead, such as Spain or Costa del Sol.
- `searchType` (string, optional, default "sale", one of "sale", "rent", "newHomes", "students", "commercialSale", "commercialRent", "overseas", "soldPrices", "agents"): Search for. Which Rightmove search to run for the locations. Overseas takes a country or region, such as Spain, Portugal or Costa del Sol. Sold house prices gives one row per home with every sale since 1995. Estate agents gives one row per agent branch.
- `radius` (string, optional, default "0.0", one of "0.0", "0.25", "0.5", "1.0", "3.0", "5.0", "10.0", "15.0", "20.0", "30.0", "40.0"): Radius. How far around each location to search.
- `minPrice` (integer, optional): Min price (£). Lowest price. For rentals, the monthly rent. For overseas, in pounds.
- `maxPrice` (integer, optional): Max price (£). Highest price. For rentals, the monthly rent. For overseas, in pounds.
- `minBedrooms` (integer, optional): Min bedrooms. Fewest bedrooms. 0 includes studios.
- `maxBedrooms` (integer, optional): Max bedrooms. Most bedrooms.
- `minBathrooms` (integer, optional): Min bathrooms. Fewest bathrooms.
- `maxBathrooms` (integer, optional): Max bathrooms. Most bathrooms.
- `propertyTypes` (array, optional): Property types. Only these types of home. Leave empty for all. For sold house prices: detached, semi-detached, terraced and flat, one search each.
- `commercialSectors` (array, optional): Commercial sectors. For commercial searches: only these sectors, as Rightmove groups them. Leave empty for all.
- `minSize` (integer, optional): Min size (sq ft). Smallest floor area in square feet. Mostly for commercial property; homes without a size are left out.
- `maxSize` (integer, optional): Max size (sq ft). Largest floor area in square feet.
- `tenureTypes` (array, optional): Tenure. Only these tenures. Leave empty for all. For sold house prices: freehold or leasehold, one of them.
- `mustHave` (array, optional): Must have. Only listings with all of these.
- `dontShow` (array, optional): Don't show. Leave out listings with any of these.
- `includeUnderOffer` (boolean, optional, default false): Include Sold STC, Under offer and Let agreed. Also return homes already sold subject to contract, under offer or let agreed. Off: only homes still available, as on Rightmove.
- `furnishTypes` (array, optional): Furnishing. For rentals: only these. Leave empty for all.
- `shortTermLets` (boolean, optional, default false): Short-term lets only. For rentals: only short-term lets.
- `moveInBy` (string, optional): Move in by. For rentals: only homes available to move in by this date.
- `sortBy` (string, optional, one of "newest", "oldest", "lowestPrice", "highestPrice", "smallest", "largest"): Sort by. Order of the results. With a Listed after date the search is always newest first. Leave empty for Rightmove's default. For sold house prices: lowest or highest price; otherwise most recently sold first.
- `soldInYears` (integer, optional): Sold in the last (years). For sold house prices: only homes sold in this many years. Leave empty for every sale since 1995.
- `agentType` (string, optional, default "ALL", one of "ALL", "SALES", "LETTINGS"): Agent type. For estate agents: every branch, or only those that handle sales or lettings.
- `brandName` (string, optional): Agent name. For estate agents: only branches of agents whose name matches, such as Foxtons.
- `listedAfter` (string, optional): Listed after. Only listings added on or after this date (UK time), or within a span back from now such as 1 day or 2 weeks. Through the JSON input you can also give hours (24 hours) or a UTC time (2026-10-15T08:00Z). Each search is then sorted by newest so the run stops once it passes this date. Leave empty for listings added at any time.
- `listedBefore` (string, optional): Listed before. Only listings added before this date. A date includes that whole day (2026-10-20 keeps listings added up to midnight UK time); a span such as 7 days keeps listings added more than 7 days ago. Leave empty for listings added up to now.
- `includePriceReductions` (boolean, optional, default false): Include price reductions. Also keep older listings whose price was reduced within the dates, as Rightmove's own "Added to site" filter does. Off: only listings added within the dates.
- `onlyNewOrChanged` (boolean, optional, default false): Only new or changed since the last run. Compare every row with the last run of the same search: new rows and rows whose price, status, rooms, size, tenure or label changed are saved, each with a change field naming what changed, old and new. Unchanged rows are left out and not charged. The first run saves everything as new, to compare the next run with. Sold prices compare the last sale; agents their name, phones, address and services.
- `watchName` (string, optional): Watch name. Optional. Runs with the same name compare with each other, even if you change the search. Leave empty to compare runs with exactly the same links, locations and filters.
- `resetWatch` (boolean, optional, default false): Start the watch over. Forget earlier runs: every row counts as new again, and later runs compare with this one.
- `fetchPropertyDetails` (boolean, optional, default false): Fetch full property details. Opens each listing to collect the extra fields. It is charged per listing and makes the run slower.
- `includeSaleHistory` (boolean, optional, default false): Include past sale prices. With full property details: also each home's past sales, the year, price and change since the sale before, from Land Registry data as Rightmove shows it. One more request per property, so a bit slower. Needs "Fetch full property details" on.
- `fetchAgentProfiles` (boolean, optional, default false): Add agent profiles. Add the listing agent's full Rightmove profile to each listing: homes for sale and to let right now, recently sold and let homes, services, sales and lettings phone lines, memberships, descriptions and the branch's map position. Billed as an add-on once per agent branch per run, so many listings from one agent cost one profile.
- `maxResults` (integer, optional): Max results. Stops the run after this many listings, across all your searches.
- `maxPagesPerUrl` (integer, optional): Max pages per search URL. Rightmove shows about 24 listings per page. Leave it empty to read every page.

Example input:

```json
{
  "startUrls": [
    {
      "url": "https://www.rightmove.co.uk/property-for-sale/find.html?searchLocation=London&useLocationIdentifier=true&locationIdentifier=REGION%5E87490&radius=0.0&maxPrice=500000&channel=BUY&transactionType=BUY&sortType=6"
    }
  ],
  "maxResults": 30,
  "fetchPropertyDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

## Output: one row per listing

193 fields in 27 groups.

### Property

- `property.type`: Property type. Flat, detached, terraced, bungalow and so on.
- `property.description`: Type description. Rightmove's one-line description, such as "3 bedroom flat for sale".
- `property.bedrooms`: Bedrooms. Number of bedrooms.
- `property.bathrooms`: Bathrooms. Number of bathrooms.
- `property.size`: Size. Floor area as the agent gives it, such as "1,765 sq. ft.".
- `property.size_sqft`: Floor area (sq ft). Floor area in square feet as a number, when the agent gives one. For a range of units, the smallest.
- `property.size_sqm`: Floor area (m²). Floor area in square meters as a number, when the agent gives one. For a range of units, the smallest.
- `property.tenure`: Tenure. Freehold, leasehold and so on, when the agent gives it.
- `property.key_features`: Key features. The agent's bullet-point highlights.
- `summary`: Summary. Short summary of the listing. For agent rows, a short description of the branch.
- `channel`: For sale or to rent. BUY for sale, RENT to rent, or the commercial or new homes version.

### Price

- `price.display`: Price. Price as Rightmove shows it, such as "£325,000" or "£800 pcm". Overseas, in the listing's own currency.
- `price.amount`: Price (number). Asking price or rent as a number, in the listing's currency.
- `price.currency`: Currency. Currency code: GBP, or the local one overseas, such as EUR.
- `price.qualifier`: Price qualifier. Such as "Offers in excess of" or "Guide price".
- `price.frequency`: Rent period. For rentals, whether the rent is monthly or weekly.
- `price.per_sqft`: Price per sq ft. Asking price divided by the floor area, in pounds per square foot. For sale listings with one size.
- `price.per_sqm`: Price per m². Asking price divided by the floor area, in pounds per square meter. For sale listings with one size.
- `letting_fees.apply`: Letting fees apply. True when the agent says fees apply on top of the rent.
- `letting_fees.text`: Letting fees. The agent's text on those fees.

### Address and location

- `address`: Address. Address as Rightmove shows it. For agent rows, the branch address.
- `location.latitude`: Latitude. Latitude.
- `location.longitude`: Longitude. Longitude.
- `location.distance_miles`: Distance (miles). Distance from the searched place, on searches around a postcode or a station.
- `street_view`: Street View. True when Street View is available for the address.
- `school_checker_url`: School checker. Rightmove's school checker for the property: nearby schools with their Ofsted ratings.

### Agent

- `agent.name`: Agent. The agent's name.
- `agent.branch_id`: Agent branch ID. Rightmove's ID for the agent branch, to join listings with agent data.
- `agent.branch`: Agent branch. The agent branch, such as "Winkworth, Islington".
- `agent.phone`: Agent phone. The branch's phone number for this listing.
- `agent.branch_url`: Agent page. The branch's page on Rightmove.
- `agent.logo`: Agent logo. Link to the agent's logo.

### Photos

- `images.main`: Main photo. Link to the main photo.
- `images.all`: All photos. Every photo, with its caption.
- `images.count`: Photo count. Number of photos.
- `images.floorplans`: Floorplan count. Number of floorplans.
- `images.virtual_tours`: Virtual tour count. Number of virtual tours.

### Dates and changes

- `dates.first_listed`: First listed. When the listing first appeared on Rightmove.
- `dates.last_updated`: Last updated. When the listing was last updated.
- `dates.added_or_reduced`: Added or reduced. Such as "Added today" or "Reduced on 16/10/2026".
- `dates.is_recent`: Recently added. True when Rightmove marks the listing as recent.
- `listing_update.reason`: Last change. Why the listing last changed, such as new or price reduced.
- `listing_update.date`: Last change date. When the listing last changed.

### Listing labels

- `status`: Status. Sold STC, Under offer or Let agreed, when Rightmove shows it. Included in the search when you tick "Include Sold STC" or "Include Let agreed" on Rightmove.
- `tags.label`: Label. The label on the listing, such as "No Chain" or "Just Launched", when there is one.
- `tags.featured`: Featured. True when the listing is featured.
- `tags.premium`: Premium listing. True for a premium listing.
- `tags.auction`: Auction. True when the property is sold at auction.
- `tags.commercial`: Commercial. True for commercial property.
- `tags.development`: New home. True for a new-build development.
- `tags.residential`: Residential. True for residential property.
- `tags.students`: Student accommodation. True for student accommodation.
- `tags.online_viewings`: Online viewings. True when the agent offers online viewings.

### Full description and size (add-on)

- `details.description`: Full description. The agent's full description. For agent rows, the branch's description.
- `details.features`
- `details.size_sqft`: Size (sq ft). Floor area in square feet.
- `details.size_sqm`: Size (m²). Floor area in square meters.
- `details.price_per_sqft`: Price per sq ft (as shown). Such as "£708.22 per sq ft", when the size is given.
- `details.secondary_price`: Second price. A second price, when Rightmove shows one.
- `details.price_numeric`: Mortgage calculator price. The price Rightmove's mortgage calculator uses.
- `details.retirement`: Retirement home. True for a retirement property.
- `details.business_for_sale`: Business for sale. True when a business is for sale with the property.
- `details.status.published`: Live. True while the listing is live on Rightmove.
- `details.status.archived`: Archived. True when the listing has been taken down.

### Postcode and nearest stations (add-on)

- `details.address_detail.country_code`: Country code. Two-letter country code, GB.
- `details.address_detail.uk_country`: UK country. England, Scotland, Wales or Northern Ireland.
- `details.address_detail.outcode`: Postcode district. First half of the postcode, such as TW1.
- `details.address_detail.incode`: Postcode end. Second half of the postcode, such as 2BT.
- `details.sold_prices_url`: Sold prices nearby. Rightmove's sold house prices page for the postcode.
- `details.nearest_stations`: Nearest stations. Nearby stations with their type and distance in miles.
- `details.nearest_airports`: Nearest airports. Nearby airports with their distance in miles. Rightmove gives them on overseas listings only.

### Council tax, lease and charges (add-on)

- `details.living_costs.council_tax_band`: Council tax band. Council tax band, A to I.
- `details.living_costs.council_tax_exempt`: Council tax exempt. True when the property is exempt from council tax.
- `details.living_costs.council_tax_included`: Council tax included. True when the rent includes council tax.
- `details.living_costs.annual_ground_rent`: Ground rent per year. Yearly ground rent in pounds.
- `details.living_costs.annual_service_charge`: Service charge per year. Yearly service charge in pounds.
- `details.living_costs.ground_rent_review_years`: Ground rent review (years). How often the ground rent is reviewed, in years.
- `details.living_costs.ground_rent_pct_increase`: Ground rent increase (%). How much the ground rent rises at each review.
- `details.living_costs.domestic_rates`: Domestic rates. Yearly domestic rates in pounds, when the agent gives them.
- `details.years_remaining_on_lease`: Lease years left. Years left on the lease.

### Floorplans, EPC and full-size photos (add-on)

- `details.floorplan_urls`: Floorplans. Links to the floorplan images.
- `details.epc`: EPC. Links to the energy performance certificate.
- `details.brochures`: Brochures. Brochure links with their captions.
- `details.image_urls`: Full-size photos. Links to every photo at full size.
- `details.virtual_tours`: Virtual tours. Virtual tour links.

### Rental terms and shared ownership (add-on)

- `details.shared_ownership.flag`: Shared ownership. True for a shared-ownership home.
- `details.shared_ownership.percentage`: Share for sale (%). Percentage of the home for sale.
- `details.shared_ownership.rent_price`: Rent on the rest. Rent on the share you don't buy.
- `details.shared_ownership.rent_frequency`: Rent period (shared ownership). How often that rent is paid.
- `details.lettings.deposit`: Deposit. Deposit in pounds.
- `details.lettings.let_type`: Let type. Long term, short term and so on.
- `details.lettings.furnish_type`: Furnishing. Furnished, unfurnished, or either.
- `details.lettings.let_available_date`: Available from. When the property is available to move in.
- `details.lettings.min_term_months`: Minimum term (months). Shortest tenancy the landlord accepts, in months.

### Agent office (add-on)

- `details.agent_detail.company`: Agent company. The agent's company name.
- `details.agent_detail.company_type`: Agent company type. independent, corporate (a chain), commercial or build to rent, as Rightmove classes the agent.
- `details.agent_detail.agent_type`: Agent business. sales, lettings, sales and lettings, or commercial.
- `details.agent_detail.address`: Agent address. The branch's address.
- `details.agent_detail.profile_url`: Agent profile. The agent's profile page on Rightmove.

### Past sales (add-on)

- `address`: Address. Address as Rightmove shows it. For agent rows, the branch address.
- `price.display`: Price. Price as Rightmove shows it, such as "£325,000" or "£800 pcm". Overseas, in the listing's own currency.
- `details.sale_history`: Past sales. With "Include past sale prices": the home's earlier sales, newest first, from Land Registry data as Rightmove shows it. Empty when there are none; null when they couldn't be loaded.
- `details.sold_prices_url`: Sold prices nearby. Rightmove's sold house prices page for the postcode.
- `url`: Listing link. Link to the listing on Rightmove. For sold-price rows, the home's sold prices page; for agent rows, the branch's page.

### Rightmove ID, link and search

- `id`: Rightmove ID. Rightmove property ID. For sold-price rows, Rightmove's ID for the home; for agent rows, the branch ID.
- `url`: Listing link. Link to the listing on Rightmove. For sold-price rows, the home's sold prices page; for agent rows, the branch's page.
- `search_url`: Search. The search URL this listing came from. A listing found by several searches has the first.
- `scraped_at`: Scraped at. When the listing was scraped, in UTC.

### Sold house prices

- `address`: Address. Address as Rightmove shows it. For agent rows, the branch address.
- `property.type`: Property type. Flat, detached, terraced, bungalow and so on.
- `property.bedrooms`: Bedrooms. Number of bedrooms.
- `last_sale.price`: Sold price. Price in pounds.
- `last_sale.date`: Date sold. Date of the sale.
- `last_sale.tenure`: Tenure at sale. FREEHOLD or LEASEHOLD.
- `last_sale.new_build`: New build. True when the home was sold as a new build.
- `all_sales`: All sales. Sold-price rows: every sale of the home since 1995, newest first.
- `url`: Listing link. Link to the listing on Rightmove. For sold-price rows, the home's sold prices page; for agent rows, the branch's page.

### Agents: Overview

- `logo`: Logo. Agent rows: Link to the branch logo.
- `phone`: Direct phone. Agent rows: The branch's own phone line.
- `sales_phone`: Sales phone. Agent rows: The number Rightmove shows for sales.
- `lettings_phone`: Lettings phone. Agent rows: The number Rightmove shows for lettings.
- `address`: Address. Address as Rightmove shows it. For agent rows, the branch address.
- `postcode`: Postcode. Agent rows: Branch postcode.
- `sales`: Does sales. Agent rows: True when the branch sells homes.
- `lettings`: Does lettings. Agent rows: True when the branch lets homes.
- `company_type`: Company type. Agent rows: iea (independent estate agent), ila (independent letting agent), corporate, commercial or buildtorent.
- `url`: Listing link. Link to the listing on Rightmove. For sold-price rows, the home's sold prices page; for agent rows, the branch's page.

### Agents: Branch

- `brand`: Brand. Agent rows: The agent's brand.
- `branch`: Branch name. Agent rows: The branch, such as "Wapping".
- `company_type`: Company type. Agent rows: iea (independent estate agent), ila (independent letting agent), corporate, commercial or buildtorent.
- `sales`: Does sales. Agent rows: True when the branch sells homes.
- `lettings`: Does lettings. Agent rows: True when the branch lets homes.
- `logo`: Logo. Agent rows: Link to the branch logo.
- `summary`: Summary. Short summary of the listing. For agent rows, a short description of the branch.

### Agents: Contact and address

- `phone`: Direct phone. Agent rows: The branch's own phone line.
- `sales_phone`: Sales phone. Agent rows: The number Rightmove shows for sales.
- `lettings_phone`: Lettings phone. Agent rows: The number Rightmove shows for lettings.
- `address`: Address. Address as Rightmove shows it. For agent rows, the branch address.
- `postcode`: Postcode. Agent rows: Branch postcode.
- `contact_url`: Enquiry form. Agent rows: Link to the branch's enquiry form on Rightmove.

### Agents: Company and map location

- `details.company_name`: Registered company. Agent rows: The company behind the branch.
- `details.trading_name`: Trading name. Agent rows: The name the agent trades under.
- `details.postcode`: Postcode (profile). Agent rows: Postcode from the branch profile.
- `details.latitude`: Latitude. Agent rows: Latitude of the branch.
- `details.longitude`: Longitude. Agent rows: Longitude of the branch.

### Agents: All services

- `details.services.sales`: Sales service. True when the branch sells homes.
- `details.services.lettings`: Lettings service. True when the branch lets homes.
- `details.services.commercial`: Commercial. True when the branch handles commercial property.
- `details.services.build_to_rent`: Build to rent. True for a build-to-rent operator.
- `details.services.overseas`: Overseas property. True when the branch handles property abroad.
- `details.services.new_homes`: New homes. True when the branch sells new homes.

### Agents: Properties listed now

- `details.for_sale.count`: For sale now. Number of properties the branch has for sale right now.
- `details.for_sale.url`: For sale link. Link to those listings on Rightmove.
- `details.to_let.count`: To let now. Number of properties the branch has to let right now.
- `details.to_let.url`: To let link. Link to those listings on Rightmove.

### Agents: Recent sales and lets

- `details.recently_sold`: Recently sold. Agent rows: Recent sales: address, price, status, bedrooms, bathrooms and property type.
- `details.recently_let`: Recently let. Agent rows: Recent lets: address, price, status, bedrooms, bathrooms and property type.

### Agents: Descriptions and memberships

- `details.description`: Full description. The agent's full description. For agent rows, the branch's description.
- `details.sales_description`: Sales description. Agent rows: The branch's description of its sales service.
- `details.lettings_description`: Lettings description. Agent rows: The branch's description of its lettings service.
- `details.affiliations`: Memberships. Agent rows: Industry bodies the branch belongs to, such as NAEA and ARLA.
- `details.testimonials`: Testimonials. Agent rows: Number of customer testimonials.
- `details.network_branches`: Network branches. Agent rows: Number of other branches in the same network.

### Agents: Search and Rightmove IDs

- `search_location`: Searched location. Agent rows: The location you typed that found this branch.
- `id`: Rightmove ID. Rightmove property ID. For sold-price rows, Rightmove's ID for the home; for agent rows, the branch ID.
- `company_id`: Company ID. Agent rows: Rightmove company ID.
- `brand_id`: Brand ID. Agent rows: Rightmove brand ID.
- `url`: Listing link. Link to the listing on Rightmove. For sold-price rows, the home's sold prices page; for agent rows, the branch's page.

### Changes since last run

- `change.type`: Change. new for a row the last run didn't have, changed for one whose watched fields changed.
- `change.fields`: Changed fields. For changed rows: each changed field, such as price.amount, with its old and new value.
- `row_type`: Row type. listing for a property listing, sold_price for a home from a sold house prices search, agent for an estate agent branch.
- `address`: Address. Address as Rightmove shows it. For agent rows, the branch address.
- `price.display`: Price. Price as Rightmove shows it, such as "£325,000" or "£800 pcm". Overseas, in the listing's own currency.
- `url`: Listing link. Link to the listing on Rightmove. For sold-price rows, the home's sold prices page; for agent rows, the branch's page.

### Agent profiles (add-on)

- `agent.name`: Agent. The agent's name.
- `agent.branch`: Agent branch. The agent branch, such as "Winkworth, Islington".
- `agent_profile.sales_phone`: Sales phone. The number Rightmove shows for sales.
- `agent_profile.lettings_phone`: Lettings phone. The number Rightmove shows for lettings.
- `agent_profile.for_sale.count`: For sale now. Number of properties the branch has for sale right now.
- `agent_profile.to_let.count`: To let now. Number of properties the branch has to let right now.
- `agent_profile.recently_sold`: Recently sold. Recent sales: address, price, status, bedrooms, bathrooms and property type.
- `agent_profile.recently_let`: Recently let. Recent lets: address, price, status, bedrooms, bathrooms and property type.
- `agent_profile.services`
- `agent_profile.affiliations`: Memberships. Industry bodies the branch belongs to, such as NAEA and ARLA.
- `agent_profile.latitude`: Latitude. Latitude of the branch.
- `agent_profile.longitude`: Longitude. Longitude of the branch.
- `address`: Address. Address as Rightmove shows it. For agent rows, the branch address.
- `url`: Listing link. Link to the listing on Rightmove. For sold-price rows, the home's sold prices page; for agent rows, the branch's page.

## How it works

1. Search Rightmove, paste the link. Set the area, price, bedrooms and property type on Rightmove, then paste the link. For sale, to rent, new homes, student and commercial searches all work.
2. Up to 1,008 listings per search. That is the most Rightmove shows for one search. Split a big area by price or property type for more, and a listing found twice appears once.
3. Add full details if you need them. Full postcode, council tax band, service charge, ground rent, years left on the lease, floor area, nearest stations, floorplans and EPC. Charged only for listings where they loaded.
4. Download your list. As a spreadsheet, in Google Sheets, or into your own tools.

## Use cases

- Market research: Asking prices and price per square foot by postcode, property type or agent, tracked from one month to the next.
- Finding investments: New and reduced listings every morning, with tenure, lease length and council tax band to filter on.
- Leads for property services: Fresh listings with the selling agent's name and phone, for mortgage brokers, conveyancers, surveyors and removal firms.
- Valuation models: Coordinates, floor area and property attributes to feed a valuation model or a market dashboard.

## Good to know

Rightmove shows at most 1,008 listings for a single search (42 pages). For a bigger area, split it into several searches, for example by price band, property type or a smaller radius, and add them all. Listings that appear in more than one are removed.

## Questions

### Is it legal to scrape Rightmove?

The scraper only collects what Rightmove shows publicly to every visitor: property listings and the agents who market them. Agent names and phone numbers are business contact details, but some agents are sole traders, so parts of the data can still count as personal data. If you store the data or contact agents in the UK or EU, follow UK GDPR and PECR and have a legitimate reason. Check with a lawyer if you are unsure.

### Do I need a Rightmove account?

No. The scraper needs no Rightmove account, login or cookies.

### Which Rightmove searches work?

All of them: property for sale, to rent, new homes, student accommodation, and commercial property for sale or to let. Set the area, price, bedrooms, property type and any other filters on rightmove.co.uk, then copy the link from your browser. The scraper keeps every filter in the link.

### Can I search without copying a link from Rightmove?

Yes. Type the places in Locations: a town, an area, a postcode, a postcode district or a station, one per line. Each one is looked up on Rightmove, which picks its best match, and searched with the filters you set: search type, radius, price, bedrooms, bathrooms, property type, commercial sector, size, tenure, must have and don't show, Sold STC, furnishing, short-term lets, move-in date and sort order. The run log shows which place each name matched, and every listing's search_url is a Rightmove link you can open to see the same search.

### How many listings can I get?

Rightmove shows at most 1,008 listings for one search. For a bigger area, split it into several searches, for example by price band, property type or a smaller radius, and paste all the links. A listing found by more than one search appears once.

### What do full property details add?

Turn on Fetch full property details to add the full description, the full postcode, council tax band, service charge, ground rent, years left on the lease, floor area in square feet and square meters, price per square foot, nearest stations, EPC, floorplans, brochures and full-size photos, retirement and business-for-sale flags, whether the agent is independent or a chain, and a link to sold prices for the postcode. Turn on Include past sale prices as well to add each home's earlier sales with their year, price and change, from Land Registry data as Rightmove shows it. Rentals also get the deposit, furnishing, minimum term and move-in date. It is charged per listing, only for listings whose details loaded.

### Can I track new listings and price cuts?

Yes. Every listing has the date it was first listed, Rightmove's "Added today" or "Reduced on" note, and why it last changed, such as new or price reduced. To catch new listings, schedule a daily run with Listed after set to 1 day; turn on Include price reductions to get the price cuts too.

### Can I get only new or changed listings on a schedule?

Yes. Turn on Only new or changed since the last run and schedule the run. The first run saves everything, marked new, to compare against. Each later run saves only listings that are new, or whose price, status, rooms, size, tenure or label changed, with a change field naming each changed field and its old and new value, such as {"price.amount": {"old": 325000, "new": 310000}}. Unchanged listings are left out and aren't charged. Sold prices compare each home's last sale, and estate agents their name, phones, address and services. Runs with the same links, locations and filters compare with each other; give a Watch name to keep comparing after you change the search.

### Can I scrape only listings added in a date range?

Yes. Set Listed after to a date like 2026-10-15 or a span like 7 days, and Listed before to close the range. Dates are UK time. Only homes added within the range are kept, unless you also include price reductions, and the run stops as soon as it passes the start date, so you pay only for the listings you keep. Rightmove still serves at most 1,008 listings per search, so in a busy area a long range may need the search split by price band or area; the run log says when that happens.

### Do I get the agent's phone number?

Yes. Every listing comes with the agent's name, branch, phone number and Rightmove page. To get every agent in an area, with their own phone lines and how many homes they list, set Search for to Estate agents, or use Rightmove Estate Agents Scraper on its own.

### Can I get more about each listing's agent?

Yes. Turn on Add agent profiles and each listing gets its agent's full Rightmove profile in agent_profile: how many homes the branch has for sale and to let right now, its recently sold and let homes with prices, its services, separate sales and lettings phone lines, industry memberships, descriptions and map position. It's billed once per agent branch per run, so 200 listings from 20 agents cost 20 profiles. Rightmove doesn't show agents' emails or websites.

### Can I scrape sold house prices?

Yes. Set Search for to Sold house prices and type the places, or paste a /house-prices/ link from rightmove.co.uk. Each home comes with its address, type, bedrooms, coordinates and every sale since 1995: price, date, tenure and whether it was a new build. Filter by years sold in, property type and tenure. Rightmove serves up to 4,000 homes per search.

### Can I scrape single properties?

Yes. Paste property links, such as https://www.rightmove.co.uk/properties/172388489, into Start URLs, alone or with searches. Each gives the same row as a search would; a property page has the date it was added but not the exact time. Full property details and past sale prices work for them too.

### Does it work for overseas property?

Yes, for sale: Rightmove has no overseas rentals. Set Search for to Overseas property for sale and type a country or region, such as Spain, Portugal or Costa del Sol, or paste an overseas link. Prices come in the listing's own currency, with Rightmove's conversion to pounds in price.display_gbp, and full property details add the nearest airports.

### What happens when a run fails?

The run's status message says why, and the log names each input that failed. If a mistake in the input stops the run before anything is scraped, the run ends without results and its status message says what to change. Either way the Actor sends us a short error report, so we can fix the cause even if you never open an issue: the Actor's build, the reason, the counts from the end-of-run summary, whether your Apify plan is free or paid and, for an unexpected error, where in our code it happened. Web addresses and @usernames are blanked out first. The report never includes your input, your account, the pages you scraped or your results. Every run, failed or not, also sends one usage line as it ends, so we can see which options people use, what runs cost us and how well the data is filled: how many of each charged event it used (for example 120 full details) and the price your plan paid for them; the run's platform cost by item and its resources (time, memory, proxy traffic); whether it stopped at your maximum cost or maximum items; how it was started (Console, API, schedule, saved task, and for API runs the kind of tool, such as Make, Zapier or the Apify client, never the tool's full identity); our scraper's own retry and timing counts; and for each output field, how many results had it filled (counts only, never the values). That never includes your input, your account, your IP address, the pages you scraped or your results either. If you need help with a run, open an issue on the Issues tab and attach the run, or email support@kekliktech.com with the run's link; the run's log ends with both.

## Run it

- In Apify Console: https://apify.com/keklik/rightmove-scraper
- With the Apify API: POST https://api.apify.com/v2/acts/keklik~rightmove-scraper/run-sync-get-dataset-items?token=APIFY_TOKEN with the input JSON as the body. It returns the rows.
- From an AI agent: connect the Apify MCP server (https://mcp.apify.com), add the Actor `keklik/rightmove-scraper` and call it with the input.
