Rightmove, Zoopla & OnTheMarket UK Property Scraper avatar

Rightmove, Zoopla & OnTheMarket UK Property Scraper

Pricing

from $1.00 / 1,000 record scrapeds

Go to Apify Store
Rightmove, Zoopla & OnTheMarket UK Property Scraper

Rightmove, Zoopla & OnTheMarket UK Property Scraper

Scrapes UK property listings from Rightmove, Zoopla, and OnTheMarket in one run. Returns unified records with price, bedrooms, EPC rating, council tax band, tenure, leasehold details, agent info, and coordinates. Cross-portal coverage with price history from Zoopla.

Pricing

from $1.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

61

Total users

10

Monthly active users

13 hours ago

Last modified

Share

Scrapes UK property listings from Rightmove, Zoopla, and OnTheMarket in a single run. Returns unified records with price, bedrooms, EPC rating, council tax band, tenure, leasehold details, agent info, coordinates, and price history — across all three portals from one actor.


Rightmove, Zoopla & OnTheMarket Scraper Features

  • Extracts listings from all three UK property portals with a single run and a single output schema
  • Collects 30+ fields per listing including price, bedrooms, bathrooms, postcode, coordinates, and agent contact
  • Returns EPC rating, council tax band, tenure type, and remaining lease years for properties where available
  • Retrieves Zoopla price-change history — when a listing's asking price moved, and whether it was a reduction
  • Accepts any search URL from any of the three portals, or just type the places you want (towns, cities, postcode areas or full postcodes) and it searches all three portals for each
  • Filters by listing type (sale, rent, or both), price, bedrooms, property type, search radius and how recently a listing was added, with the same filter applied on every portal
  • Several places and several portals in one run, with maxItems shared evenly between the searches so no single portal or place takes the whole run
  • Returns clean, flat JSON — no nested objects, no arrays, just columns that load straight into a spreadsheet or database

Who Uses UK Property Portal Data?

  • PropTech developers — Build valuation models, automated alerts, or comparison tools that need real-time listings from all three portals at once
  • BTL investors — Track yield opportunities across regions, spot price reductions as they happen, filter by EPC rating before viewing
  • Estate agent intel firms — Monitor competitor stock levels, pricing strategy, and time-on-market across portals simultaneously
  • Mortgage lead generators — Match active buyers to pre-qualified listings, trigger outreach when price reductions appear
  • Academic researchers — Build price trend datasets with the price-change history that Zoopla surfaces but most scrapers ignore
  • Data brokers — Maintain a unified UK property database without running three separate scrapers and reconciling the output

How the Rightmove, Zoopla & OnTheMarket Scraper Works

  1. Type the places you want in locations, paste search URLs from Rightmove, Zoopla, or OnTheMarket, or use the defaults. Each place is searched on the portals you pick; each pasted URL runs on the portal it belongs to.
  2. The scraper pages through search results, collecting property IDs and detail URLs. Zoopla's bot challenge is solved automatically; Rightmove and OnTheMarket require no bypass.
  3. Each detail page is fetched and returned as a clean, fully typed record — the same field set across all three portals, once Zoopla's challenge clears.
  4. All three portals are mapped to the same output schema. The platform field tells you where each record came from. maxItems caps the total across all portals combined.
  5. Listings are not merged across portals. Every row carries platform and url (the absolute listing URL on that portal), so the same property listed on two portals can be matched by you, for example on address and postcode.

Input

Search by place name, with filters:

{
"locations": ["Clapham", "Leeds"],
"listingType": "sale",
"minPrice": 300000,
"maxPrice": 900000,
"minBedrooms": 2,
"maxBedrooms": 3,
"propertyTypes": ["flat", "terraced"],
"addedWithin": "7",
"maxItems": 50
}

Or paste search URLs:

{
"searchUrls": [
{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?locationIdentifier=REGION%5E87490&sortType=6&numberOfPropertiesPerPage=24&index=0&includeSSTC=false&viewType=LIST&channel=BUY" },
{ "url": "https://www.onthemarket.com/for-sale/property/london/?max-price=500000" }
],
"listingType": "sale",
"maxItems": 50
}
FieldTypeDefaultDescription
locationsarraynoneTowns, cities, postcode areas (NW8) or full postcodes. Each place is searched on every portal in portals, for sale and/or to rent as listingType says. A place a portal does not know is named in the run log; if no search can be built the run fails rather than returning nothing quietly.
portalsarrayall threeWhich portals to search for locations: rightmove, zoopla, onthemarket. Pasted URLs always run on their own portal.
searchUrlsarrayLondon defaultsSearch result URLs from Rightmove, Zoopla, or OnTheMarket. Zoopla map searches (including an area you drew or moved the map to) and new-homes searches work as pasted. Any filter you set below replaces the same filter in the pasted URL; filters you leave empty are kept as pasted.
startUrlsarraynoneSame as searchUrls; both lists are used if both are filled.
listingTypestringbothFilter by listing type. Options: sale, rent, both.
minPriceintegernoneLowest asking price (sale) or lowest monthly rent (rent), in GBP. Needs listingType sale or rent; with both the run fails, because one price band cannot apply to both.
maxPriceintegernoneHighest asking price or monthly rent, in GBP. Same rule as minPrice.
minBedroomsintegernoneFewest bedrooms (0 includes studios).
maxBedroomsintegernoneMost bedrooms.
propertyTypesarrayallAny of detached, semi-detached, terraced, flat, bungalow, land. flat covers flats, apartments, maisonettes and studios.
radiusstringthe place onlyAlso include listings this many miles around the place: 0.25, 0.5, 1, 3, 5, 10, 15, 20, 30, 40.
addedWithinstringany ageOnly listings added in the last 1, 3 or 7 days.
sortBystringeach search's own ordernewest, price_low_to_high or price_high_to_low, on every portal, so maxItems keeps the newest or the cheapest listings. Rightmove and OnTheMarket place a few promoted listings first whatever the order.
keywordsarraynoneWords or phrases that must all appear in a listing's title, description or features (case-insensitive), on every portal. Up to ten times maxItems listings (at least 100) are checked; the run log says how many were checked and matched.
maxItemsinteger15Maximum total records to return across all portals in the run. With locations, shared evenly between the searches; a search that finds fewer hands its share on.

Every filter above is applied on all three portals, so a result set never mixes filtered and unfiltered portals. A value outside the lists above, or a minimum above its maximum, stops the run with a message instead of being ignored.


Rightmove, Zoopla & OnTheMarket Output Fields

{
"listing_id": "88574661",
"platform": "rightmove",
"url": "https://www.rightmove.co.uk/properties/88574661",
"listing_type": "sale",
"property_type": "apartment",
"title": "2 bedroom apartment for sale in Pullman Court, Streatham Hill, London, SW2",
"price_gbp": 500000,
"price_qualifier": null,
"rental_frequency": null,
"bedrooms": 2,
"bathrooms": 1,
"reception_rooms": null,
"area_sqft": null,
"tenure": "Leasehold",
"lease_years": 108,
"ground_rent": null,
"service_charge": null,
"council_tax_band": "D",
"epc_rating": "B",
"address": "Pullman Court, Streatham Hill, London, SW2",
"postcode": "SW2 4ST",
"town": null,
"region": null,
"latitude": 51.4498,
"longitude": -0.1256,
"agent_name": "Barnard Marcus",
"agent_branch": "Barnard Marcus, Streatham",
"agent_phone": "020 8769 0000",
"agency_url": "https://www.barnardmarcus.co.uk",
"images": "https://media.rightmove.co.uk/property-photo/88574661/image-0.jpeg,https://media.rightmove.co.uk/property-photo/88574661/image-1.jpeg",
"floorplan": "https://media.rightmove.co.uk/floorplan/88574661/floorplan-0.jpeg",
"description": "A well-proportioned two-bedroom apartment in the iconic Pullman Court development...",
"features": "Porter service, Residents parking, Private garden",
"listed_at": "2024-11-03",
"price_history": "[{\"date\":\"2025-12-10T16:01:49\",\"price_drop\":true},{\"date\":\"2026-06-23T12:17:37\",\"price_drop\":true}]",
"nearest_stations": "Streatham Hill Station (0.3 mi), Brixton Station (0.9 mi)",
"listing_history": "[{\"note\":\"Reduced on 09/09/2026\"}]",
"scrapedAt": "2026-05-15T23:38:32.337Z"
}
FieldTypeDescription
listing_idstringPortal-native listing ID
platformstringSource portal: rightmove, zoopla, or onthemarket
urlstringCanonical listing URL on the source portal
listing_typestringsale or rent
property_typestringProperty type — Flat, Detached house, Semi-detached house, Terraced house, etc.
titlestringFull listing title
price_gbpintegerAsking price in GBP
price_qualifierstringGuide price, Offers over, Fixed price, etc.
rental_frequencystringpcm or pw for rental listings
bedroomsintegerNumber of bedrooms
bathroomsintegerNumber of bathrooms
reception_roomsintegerNumber of reception/sitting rooms
area_sqftnumberFloor area in square feet, where available
tenurestringFreehold, Leasehold, Share of freehold, or Commonhold
lease_yearsintegerRemaining lease years for leasehold properties
ground_rentnumberAnnual ground rent in GBP
service_chargenumberAnnual service charge in GBP
council_tax_bandstringUK council tax band (A–H)
epc_ratingstringEnergy Performance Certificate rating (A–G)
addressstringFull display address
postcodestringUK postcode
townstringTown or city
regionstringUK region or county
latitudenumberLatitude coordinate
longitudenumberLongitude coordinate
agent_namestringEstate agent company name
agent_branchstringAgent branch name or location
agent_phonestringAgent contact phone
agency_urlstringAgent website or profile URL
imagesstringComma-separated list of property image URLs
floorplanstringFloorplan image URL
descriptionstringFull property description
featuresstringComma-separated key property features
listed_atstringDate first listed (ISO date)
price_historystringJSON array of asking-price changes, each with its date and whether it was a reduction (Zoopla)
nearest_stationsstringNearest stations with distance in miles, nearest first (Rightmove, OnTheMarket)
listing_historystringJSON array with the portal's listing note, such as "Reduced on 09/09/2026" (Rightmove, OnTheMarket)
scrapedAtstringISO-8601 timestamp when the record was scraped

🔍 FAQ

How do I scrape Rightmove, Zoopla, and OnTheMarket at the same time?

The actor handles all three in one run. Provide search URLs from any combination of the three portals in searchUrls. If you only provide Rightmove URLs, only Rightmove is scraped — and that is fine.

How much does this actor cost to run?

The actor charges $0.10 per start and $0.001 per record. A run returning 100 listings costs roughly $0.20. Zoopla adds overhead from clearing its bot challenge, but it is baked into the pricing.

Does the scraper handle Zoopla's bot protection?

Yes. Zoopla uses a managed bot challenge that stops most scrapers. This actor clears it automatically — you configure nothing, and if a clearance ever fails it logs a warning and skips those Zoopla seeds rather than returning junk.

Can I get price history?

Price-change history comes from Zoopla: each change to a listing's asking price, with its date and whether it was a reduction. Rightmove and OnTheMarket do not publish this. Include at least one Zoopla search URL in your input to capture it. Sold prices are not part of a listing on any of the three portals and are not returned.

Do I need to supply search URLs?

No. Type places into locations and set the filters you want, or paste search URLs. With neither, the actor runs default London for-sale searches on Rightmove and OnTheMarket, which is useful for testing.

How do I search several places across all three portals?

List the places in locations, for example ["Clapham", "Leeds", "NW8"], and leave portals empty. Rightmove, Zoopla and OnTheMarket are each searched for every place, with your price, bedroom, property-type, radius and added-within filters applied to all of them. maxItems is shared evenly, so the first portal cannot use up the whole run.

Is the price filter a purchase price or a rent?

Both, depending on listingType: sale filters asking price, rent filters rent per month. Set one of the two when you use minPrice or maxPrice.


Need More Features?

Need additional portals, custom field extraction, or region-specific coverage? File an issue or get in touch.

Why Use the Rightmove, Zoopla & OnTheMarket Scraper?

  • Tri-portal coverage — One actor, one run, one schema. Most scrapers pick one portal and stop. This one does all three and hands you a consistent output regardless of source.
  • Leasehold detail — Returns tenure type, remaining lease years, ground rent, and service charge. The fields that matter when evaluating a flat purchase, and the ones most scrapers leave blank.
  • Price history from Zoopla — Captures each change to a listing's asking price with its date, giving you a trail of reductions that Rightmove does not offer.