Onthemarket scraper[$1.5/1k]
Pricing
from $1.49 / 1,000 results
Onthemarket scraper[$1.5/1k]
Extract detailed property listings from OnTheMarket in seconds. Scrape both properties for sale and rent using search result URLs or building a query just by some clicks, Get structured JSON including prices, location, features, images, estate agent details and more, all ready for analysis.
Pricing
from $1.49 / 1,000 results
Rating
4.4
(5)
Developer
Melah Elkanah
Maintained by CommunityActor stats
5
Bookmarked
10
Total users
6
Monthly active users
0.15 hours
Issues response
6 days ago
Last modified
Categories
Share
OnTheMarket Scraper
Scrape property listings from OnTheMarket.com: for sale, to rent, and new homes. Get clean, structured data: price, address, bedrooms, features, images, coordinates, agent details and more.
You can start a run in two ways:
- Search by URL: paste OnTheMarket search URLs.
- Search by query: fill in location and filters, just like using the website's search form.
You can also use both in the same run.
Option 1: Search by URL
Best when you already have a search set up on the website.
- Go to onthemarket.com and run your search (location, price, bedrooms, filters, etc.).
- Copy the URL from your browser's address bar.
- Paste it into Search URLs (
startUrls). - Set Max items and click Start.
Example input:
{"startUrls": [{ "url": "https://www.onthemarket.com/for-sale/property/london/" }],"maxItems": 100}
You can add multiple URLs, and each one will be scraped. Note that maxItems is a single limit for the whole run, not per URL. With 3 URLs and maxItems: 100, you get 100 listings in total, and the run stops once that limit is reached.
Option 2: Search by query
Best when you don't want to build the URL yourself, or want to run the same filters across many locations. It works like the search form on the website.
Fill in Locations and any filters. The filters apply to all locations you list, and maxItems is shared across all of them (not per location).
Example: 2 to 3 bedroom flats to rent in Bristol and Manchester, up to £1,800 pcm, added in the last 7 days:
{"location": ["Bristol", "Manchester"],"operationType": "to-rent","radiusMiles": "2","maxPrice": 1800,"minBedrooms": 2,"maxBedrooms": 3,"propertyType": ["flats-apartments"],"addedToSite": "7-days","maxItems": 200}
Input reference
| Field | Type | Description | Default |
|---|---|---|---|
maxItems | integer | Max number of listings to scrape in total for the whole run, shared across all URLs and locations (not per URL or per location) | 100 |
startUrls | array | OnTheMarket search URLs | none |
location | array of strings | Place names or postcodes (e.g. "Bristol", "BS1") | none |
operationType | string | for-sale, to-rent, new-homes | for-sale |
radiusMiles | string | 0 (this area only), 0.25, 0.5, 1, 2, 3, 4, 5, 7.5, 10, 15, 20, 30, 40 | 0 |
minPrice / maxPrice | integer | Price range | none |
minBedrooms / maxBedrooms | integer | Bedroom range | none |
propertyType | array | detached, semi-detached, terraced, bungalow, flats-apartments, farms-land, park-homes | none |
addedToSite | string | any, 24-hours, 3-days, 7-days | any |
toursAndMedia | array | matterport-3d-tour, 3d-tours, video | none |
onlyShow | array | shared-ownership, new-build-homes, retirement-homes, auction, accessible-features, greener-choice, recently-reduced | none |
dontShow | array | shared-ownership, new-build-homes, retirement-homes, auction | none |
Tips
- Postcodes work. Use them (e.g.
BS1) for tighter areas than a city name. - Widen with radius.
radiusMilesexpands the search around each location. - Fresh listings only. Use
addedToSite: "24-hours"for daily monitoring runs. - Exclude noise. Use
dontShowto drop auctions, retirement homes, etc. - Mixing modes. URLs and query fields can run together; results come from both.
maxItemsis global. It is one cap for the entire run, shared across all URLs and locations, not split between them. If you search several locations, raise it (e.g. 3 locations × 100 each → setmaxItems: 300).- Keep
maxItemsrealistic. It keeps runs fast and cheap.
Output
Each listing is one dataset item:
{"sourceType": "search url","url": "https://www.onthemarket.com/details/7846308/","id": "7846308","title": "6 bedroom maisonette to rent","address": "7 St Stephens Street, City Centre, Bristol BS1","price": "£4,530 pcm (£1,045 pw)","shortPrice": "£4,530","priceQualifier": null,"propertyType": "Maisonette","bedrooms": 6,"bathrooms": 2,"addedOrReduced": "Added < 7 days","recentlyAdded": true,"features": ["Online viewing","Student","473 sq ft floor area","Nearest station 0.8mi.","Furnished","Nearest school 0.2mi."],"images": ["https://media.onthemarket.com/properties/7846308/1652743891/image-0-480x320.jpg"],"coverImage": "https://media.onthemarket.com/properties/7846308/1652743891/image-0-480x320.jpg","matterportTour": false,"latitude": 51.4548247,"longitude": -2.5958018,"agentName": "Berkeley Property Management - Bristol","agentPhone": "0117 444 9527","agentLogo": "https://media.onthemarket.com/agents/branches/49925/181123103657046/logo-190x100.png","agentBranchUrl": "https://www.onthemarket.com/agents/branch/berkeley-property-management-bristol/"}
Output fields
| Field | Description |
|---|---|
sourceType | How the listing was found (e.g. search url) |
url / id | Listing page URL and OnTheMarket listing ID |
title | Listing headline |
address | Full address |
price | Price as displayed (includes pcm/pw for rentals) |
shortPrice | Headline price only |
priceQualifier | Qualifier such as "Guide price", if any (else null) |
propertyType | Property type (e.g. Maisonette) |
bedrooms / bathrooms | Counts |
addedOrReduced | When added or reduced |
recentlyAdded | true if recently added |
features | Listing feature tags (furnished, floor area, nearest station/school, etc.) |
images / coverImage | Image URLs / main image |
matterportTour | true if a Matterport 3D tour exists |
latitude / longitude | Coordinates |
agentName / agentPhone / agentLogo / agentBranchUrl | Listing agent details |
Export results from the dataset as JSON, CSV, Excel, or via the API..