OnTheMarket Scraper: UK Property Listings & Price Drop Monitor
Pricing
from $1.50 / 1,000 property listings
OnTheMarket Scraper: UK Property Listings & Price Drop Monitor
Scrape OnTheMarket.com UK homes for sale, rentals, new homes & commercial property. Beats the 1,020-result cap, tracks new listings and price drops, optional tenure, service charge & council tax. Self-identifying, robots.txt-compliant. Pay per listing.
Pricing
from $1.50 / 1,000 property listings
Rating
0.0
(0)
Developer
Steve P
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
OnTheMarket scraper for UK property listings: homes for sale, rentals, new homes and commercial property, plus new-listing and price-drop monitoring. Pay per listing, no subscription. The Actor identifies itself in its User-Agent and checks robots.txt before every request, which is the access route OnTheMarket's own Terms of Use allow for automated programs.
Try it in 30 seconds: keep the default input (Leeds, 30 listings) and press Start. Search-only listings cost about $0.05 for 30. No proxy needed.
What does the OnTheMarket Property Monitor do?
Give it UK towns, areas, outcodes (M1), postcodes (SW1A 1AA) or OnTheMarket search URLs. It returns one clean row per listing:
- Search data: price (as a number), price qualifier ("Guide price"), address, bedrooms, bathrooms, property type, tenure, EPC band when stated, map coordinates, features, how recently it was added or reduced, main photo, estate agent branch.
- Rent data: monthly rent, weekly equivalent, rent frequency.
- Commercial data: price and floor/land area in sq ft (commercial listings link to LoopNet UK).
- Optional detail-page data: full description, postcode, tenure and lease years remaining, ground rent, service charge, council tax band, EPC, broadband speed, mobile coverage, nearest stations and schools, floorplan links, agent address and website, average price of similar homes nearby.
- Optional monitoring: schedule the same input daily or weekly and get only new listings and price changes, with
previousPrice,priceChange,priceChangePct,firstSeenAtand a short price history.
Why use this OnTheMarket scraper?
- Gets past the 1,020-result cap. OnTheMarket shows at most 34 pages (1,020 listings) per search. When a location has more, the Actor automatically searches its sub-areas as well and removes duplicates, so "Leeds" does not stop at 1,020.
- Built for monitoring. Investors, agents and analysts rarely want the same 3,000 rows again tomorrow. Switch on monitoring and you only pay for listings that are new or changed.
- Polite and compliant by design. OnTheMarket's Terms of Use (section 3.3) permit automated programs that identify themselves uniquely in the User-Agent and fully comply with
robots.txt. This Actor does both on every request. Because OnTheMarket'srobots.txtdisallows price, bedroom and sort URL parameters, the Actor applies those filters itself after reading each page instead of sending them to the site. See the legal note below. - Cheap to run. Plain HTTP, no browser, no proxy. A typical run costs you only the per-listing price.
- Personal-data light. Output is property and business-level data. The estate agent branch phone number is off by default (a toggle adds it).
What can you use OnTheMarket data for?
- Property investors: find new listings and price cuts in the postcodes you watch; screen leasehold costs (ground rent, service charge, lease length) and council tax band.
- Estate agents and lettings agents: track competitors' stock and asking rents by area; see how many listings an agent branch has.
- Analysts and proptech: build asking-price and rent datasets, compare areas, feed dashboards in Google Sheets, Looker Studio or a database.
- Relocation and student housing: watch rentals by outcode and budget and get only new ones.
- Commercial property researchers: pull offices, retail, industrial and land for sale or to let by town.
How do I scrape OnTheMarket listings?
- Open the Actor and enter one or more Locations (
Leeds,Didsbury,LS6,SW1A 1AA), or paste OnTheMarket search URLs. - Choose For sale or To rent and the category (Residential, New homes, Commercial).
- Optionally set price, bedrooms, property types and keywords. These are applied by the Actor after fetching.
- Set Maximum listings (start small), press Start, then download JSON, CSV, Excel or use the API.
Tip: broad filters on a very large location mean the Actor reads many pages that it then filters out. Use specific areas or outcodes for tight filters (for example LS6 or Didsbury instead of Manchester). You only pay for listings that are delivered.
Input example
{"locations": ["Leeds", "M20"],"listingType": "for-sale","category": "residential","minPrice": 100000,"maxPrice": 300000,"minBedrooms": 2,"propertyTypes": ["house", "flat"],"maxItems": 200,"scrapeDetails": true}
Scheduled monitoring example (run daily):
{"locations": ["Hackney", "Islington"],"listingType": "to-rent","maxPrice": 2500,"monitoringMode": "new_and_changed","monitorId": "london-rentals","maxItems": 500}
Output example
{"id": "20642634","url": "https://www.onthemarket.com/details/20642634/","listingType": "for-sale","title": "2 bedroom apartment for sale","address": "11 Lockside Lane, Salford M5","price": 248000,"priceText": "£248,000","priceQualifier": "Offers in region of","bedrooms": 2,"bathrooms": 2,"propertyType": "Apartment","tenure": "Leasehold","leaseYearsRemaining": 991,"groundRentPerYear": 325,"serviceChargePerYear": 3141,"councilTaxBand": "C","postcode": "M5 4YQ","broadbandMaxDownloadMbps": 1000,"latitude": 53.47987,"longitude": -2.26395,"addedOrReducedLabel": "Added yesterday","agentName": "Bee City Living - Salford","monitorStatus": "price_reduced","previousPrice": 260000,"priceChange": -12000,"priceChangePct": -4.6}
Output fields
| Group | Fields |
|---|---|
| Core | id, url, listingType, category, title, address, price, priceText, priceQualifier, rentFrequency, weeklyRent, bedrooms, bathrooms, propertyType, tenure, epcRating, features, latitude, longitude, searchLocation, scrapedAt |
| Freshness | addedOrReducedLabel, isReducedLabel, listingAgeDays, listingAgeBucket, isRecentlyAdded, isExclusive, hasVirtualTour |
| Media | primaryImage, imageCount, images (optional) |
| Agent (business) | agentName, agentBranchId, agentUrl, agentPhone (optional) |
| Commercial | sizeSqFt, sizeSqFtMin, sourceIsExternal |
| Detail page (optional) | postcode, description, leaseYearsRemaining, groundRentPerYear, serviceChargePerYear, councilTaxBand, broadband*, mobileCoverage, nearestStations, nearestSchools, floorplanUrls, areaAveragePrice, agentCompany, agentBranchAddress, agentWebsite |
| Monitoring (optional) | monitorStatus (new, price_reduced, price_increased, unchanged), isNew, firstSeenAt, previousPrice, priceChange, priceChangePct, priceHistory |
How much does it cost to scrape OnTheMarket?
Pay per event, only for listings actually delivered. No monthly fee. Apify platform usage is included in these prices.
| Event | Price | When |
|---|---|---|
| Property listing | $0.0015 (about $1.50 per 1,000) | One listing delivered to the dataset |
| Listing detail data | +$0.0025 (about $2.50 per 1,000) | Only if "Add detail-page data" is on and the detail page was fetched for that listing |
Examples: 1,000 search-only listings ≈ $1.50; 1,000 listings with full detail ≈ $4.00; a daily monitor that finds 20 new listings costs about $0.03 a day. Your Maximum cost per run setting is respected: the Actor stops before it would exceed it.
The live prices are shown on this page's pricing panel.
Is it legal to scrape OnTheMarket?
This is general information, not legal advice. Scraping publicly available web pages is generally lawful in the UK, but there are rules you must follow:
- Terms of Use. OnTheMarket's Terms (section 3.3) forbid automated access unless the program identifies itself uniquely in the User-Agent and is fully compliant with the Robots Exclusion Protocol. This Actor sends a unique User-Agent (
OTMPropertyMonitorActor/1.0 …) and checks every URL against the liverobots.txt; URLs thatrobots.txtdisallows are skipped. You remain responsible for how you use the data. - Copyright and database rights. Photos, descriptions and floorplans belong to OnTheMarket and the agents. Use the data for analysis and monitoring. Do not republish photos or descriptions commercially without permission.
- Personal data (UK GDPR). The Actor returns property and business-level data. The estate agent branch phone is optional and off by default. If you combine the data with anything that identifies individuals (for example vendors), UK GDPR and PECR apply to you. Do not use the data for unsolicited marketing to individuals.
- Be considerate: the Actor uses low concurrency and short delays by default. This Actor is not affiliated with or endorsed by OnTheMarket.com Ltd.
FAQ
Do I need a proxy? No. OnTheMarket pages load without one. If your runs ever show blocked (403) responses, turn on Apify Proxy in the input.
Why are my price and bedroom filters not sent to the website? OnTheMarket's robots.txt disallows URLs with min-price, max-price, bedroom, radius and sort parameters. To stay compliant, the Actor reads normal search pages and filters the rows itself. If you paste a search URL that contains such parameters, price and bedroom values are converted into filters and the rest are ignored.
Can I get more than 1,020 listings for one town? Yes. With "Split searches over 1,020 results" on (default), the Actor also searches the town's sub-areas, up to two levels deep, and removes duplicates. Very large cities may still not be 100% complete because listings can sit in overlapping areas; spot-check against the site's own total.
How does monitoring work? Every listing's price and first-seen date are stored in a named key-value store in your own Apify account (otm-monitor-<monitorId>). The next run with the same Monitor ID compares against it. Use a different Monitor ID per watch list. History older than 120 days is dropped.
Can I schedule it? Yes: save a Task and add a Schedule (for example daily at 07:00). Pair it with an integration to send new listings to Slack, email or Google Sheets.
Why does a commercial listing have no detail data? Commercial listings on OnTheMarket are hosted on LoopNet UK, which this Actor does not crawl.
How fresh is the data? It is read live from OnTheMarket at run time.
Something broke or I need a field. Open an issue on the Actor's page. Website layouts change; fixes are usually quick.
Related searches
OnTheMarket scraper, OnTheMarket API, scrape OnTheMarket listings, UK property data, UK property scraper, UK rental listings data, property price drop alerts, UK asking prices dataset.