
OnTheMarket Scraper
hipersoft/onthemarket-scraper
Scrape UK property listings from OnTheMarket.com: price, bedrooms, bathrooms, address, postcode, coordinates, photos, agent name & phone, tenure, council tax, floorplans and description for homes for sale or to rent. Big searches split by price. Export CSV/JSON.
Total users
2Monthly users
1Total runs
24Per property listing
$0.0015Last rebuilt
Oct 26, 2026Overview
OnTheMarket Scraper extracts property listings from OnTheMarket.com, one of the UK's biggest property portals, with hundreds of thousands of houses, flats, bungalows and land for sale and to rent across England, Scotland, Wales and Northern Ireland. Every listing includes the price, bedrooms, bathrooms, property type, address, latitude and longitude, photos, estate agent name and phone number, and the "added" or "reduced" status. Turn on Full property details to also get the full description, postcode, tenure, council tax band, broadband speed, key features, floorplans, EPC chart, virtual tours, and the nearest stations and schools. Search London, Manchester, Birmingham, Bristol, Leeds, Edinburgh or any UK town, county or postcode district, filter by price and bedrooms, and export to CSV, Excel or JSON. Big searches are split automatically by price, so you are not limited to the roughly 1,000 results the site shows per search.
What does OnTheMarket Scraper do?
- 🇬🇧 Any UK location: towns, cities, counties and postcode districts (SW11, M1, BS8…).
- 🏠 For sale or to rent: sale prices or monthly rents (pcm, with the weekly figure).
- 🏡 Property types: all property, houses, flats & apartments, bungalows and land.
- 💷 Price and bedroom filters: min/max price and min/max bedrooms.
- 📍 Address and map coordinates (latitude/longitude) for every listing.
- 📞 Estate agent details: branch name, phone number, branch page and logo.
- 🔖 Status flags: reduced, recently added, premium, plus the "Added < 7 days" / "Reduced" text.
- 📝 Full details (optional): description, postcode, tenure, council tax band, broadband, key features, all photos, floorplans, EPC graph, virtual tours, nearest stations and schools.
- 🔗 Paste OnTheMarket links to reuse any search and filters from the site.
- 📈 Automatic price splitting for big areas like London to collect tens of thousands of listings.
What data can you scrape from OnTheMarket?
| Field | Description |
|---|---|
| ID, title, link | Listing ID, headline (e.g. "4 bedroom terraced house for sale") and page |
| Price | Sale price or monthly rent (£), price text and qualifier ("Guide price", "Offers over") |
| Layout | Bedrooms, bathrooms and property type |
| Location | Address, postcode*, latitude and longitude |
| Status | Reduced, recently added, premium, under offer / let agreed |
| Photos | Main photo and full gallery, floorplans, EPC graph |
| Agent | Branch name, phone, branch page, logo, address, company, group, website |
| Property facts* | Tenure, council tax band, broadband speed, key features, labels (e.g. "Chain-free") |
| Neighbourhood* | Nearest stations and schools with distances |
| Description* | Full listing description |
* With Full property details turned on.
Use cases for UK property data
- Property investors: compare asking prices and rents across UK towns and postcodes to spot yield.
- Estate agents: monitor competitor stock, new instructions and price reductions in your patch.
- Lettings market analysis: track rents in London, Manchester, Birmingham and student cities.
- Proptech and valuation (AVM) models: feed geocoded listing data into pricing models.
- Mortgage brokers and conveyancers: find fresh listings and the agents behind them.
- Relocation services and buyers: shortlist homes by budget, bedrooms and nearest station.
- Housing research: analyse affordability, tenure mix and supply by region.
How to scrape OnTheMarket
- Click Try for free to open OnTheMarket Scraper in Apify Console.
- Choose For sale or To rent, a property type, and enter locations.
- Optionally set price and bedroom filters, sort order, and Full property details, or paste OnTheMarket links.
- Set Max listings and click Start.
- Download the listings as CSV, Excel or JSON.
Input
Example input
{
"searchType": "for-sale",
"locations": ["Bristol", "SW11"],
"propertyType": "houses",
"minBedrooms": 3,
"maxPrice": 900000,
"sortBy": "newest",
"includeDetails": true,
"maxItems": 500
}
| Field | Description |
|---|---|
| Buy or rent | For sale or to rent. |
| Locations | UK towns, cities, counties or postcode districts, one search each. |
| Property type | All property, houses, flats & apartments, bungalows or land. |
| Minimum / Maximum price | Sale price, or monthly rent for rentals (£). |
| Minimum / Maximum bedrooms | Bedroom range. |
| Sort by | Recommended, newest, lowest or highest price. |
| Include under offer / let agreed | Also return homes already under offer or let agreed. |
| Full property details | Adds description, postcode, tenure, council tax, floorplans and more. |
| OnTheMarket search links | Any OnTheMarket results link. |
| Max listings | Stop after this many (0 = no limit). |
Output
Listing example (with full details)
{
"id": "20240478",
"url": "https://www.onthemarket.com/details/20240478/",
"title": "4 bedroom terraced house for sale",
"address": "Jedburgh Street, Battersea, London, SW11",
"channel": "for-sale",
"price": 1275000,
"pricePeriod": null,
"priceText": "£1,275,000",
"priceQualifier": "Guide price",
"currency": "GBP",
"propertyType": "Terraced house",
"bedrooms": 4,
"bathrooms": 2,
"label": "Spotlight Property",
"addedOrReduced": "Added > 14 days",
"reduced": false,
"recentlyAdded": false,
"premium": false,
"features": ["Tenure: Freehold", "Four bedroom home", "Potential to extend (Subject To Consents)", "No onward chain"],
"latitude": 51.462251,
"longitude": -0.152384,
"imageUrl": "https://media.onthemarket.com/properties/20240478/1641023389/image-0-1024x1024.jpg",
"images": ["https://media.onthemarket.com/properties/20240478/1641023389/image-0-1024x1024.jpg", "…"],
"hasVirtualTour": false,
"agentName": "Savills - Northcote Road",
"agentPhone": "020 8022 7407",
"agentId": 22358,
"agentUrl": "https://www.onthemarket.com/agents/branch/savills-northcote-road/",
"agentLogoUrl": "https://media.onthemarket.com/agents/companies/4/260326114016587/logo-190x100.png",
"postcode": "SW11 5QA",
"description": "Charming four bedroom family home, running off the north side of Clapham Common.\nDescription\nThis much-loved family home of 40 years offers well-proportioned accommodation with exciting potential to e…",
"tenure": "Freehold",
"councilTaxBand": "G",
"broadband": { "type": "ultra-fast", "maxDownloadMbps": 1000, "maxUploadMbps": 1000 },
"keyFeatures": ["Four bedroom home", "Potential to extend (Subject To Consents)", "No onward chain", "Sought after location, running off Clapham Common North Side", "Well placed for local schools", "EPC Rating = D"],
"propertyLabels": ["Chain-free"],
"epcGraphUrl": "https://media.onthemarket.com/properties/20240478/1641023389/epc-graph-0-1024x1024.jpg",
"floorplans": ["https://media.onthemarket.com/properties/20240478/1641023389/floor-plan-0-1024x1024.jpg"],
"virtualTours": [],
"nearestStations": [
{ "name": "Clapham Common Underground Station", "distance": "0.6mi." },
{ "name": "Clapham South Underground Station", "distance": "0.7mi." },
{ "name": "Clapham Junction Station", "distance": "0.8mi." }
],
"nearestSchools": [
{ "name": "Eaton House the Manor School", "distance": "0.1mi." },
{ "name": "Parkgate House School", "distance": "0.1mi." },
{ "name": "Belleville Wix Academy", "distance": "0.1mi." }
],
"newHome": false,
"listingStatus": "live",
"views": "1970",
"agentAddress": "99 Northcote Road, Northcote Road, SW11 6PL",
"agentCompany": "Savills",
"agentGroup": "Savills",
"agentWebsite": "https://www.savills.co.uk/estate-agents/savills-northcote-road.aspx",
"search": "for-sale property SW11"
}
Rental example (fast mode)
{
"title": "2 bedroom apartment to rent",
"address": "6a St Ann's Square., Manchester M2",
"channel": "to-rent",
"price": 1370,
"pricePeriod": "pcm",
"priceText": "£1,370 pcm (£316 pw)",
"agentName": "Marni Designs - Manchester"
}
Output schema
| Field | Type | Description |
|---|---|---|
id, url, title |
string | Listing. |
address, postcode |
string | Location. |
latitude, longitude |
number | Map coordinates. |
channel |
string | for-sale or to-rent. |
price, pricePeriod, priceText, priceQualifier, currency |
mixed | Price (rents per calendar month). |
propertyType, bedrooms, bathrooms |
mixed | Layout. |
label, addedOrReduced, reduced, recentlyAdded, premium |
mixed | Status. |
features, keyFeatures, propertyLabels |
array | Highlights. |
imageUrl, images, floorplans, epcGraphUrl, virtualTours, hasVirtualTour |
mixed | Media. |
tenure, councilTaxBand, broadband |
mixed | Property facts. |
nearestStations, nearestSchools |
array | Neighbourhood. |
description |
string | Full description. |
agentName, agentPhone, agentId, agentUrl, agentLogoUrl, agentAddress, agentCompany, agentGroup, agentWebsite |
mixed | Estate agent. |
newHome, listingStatus, views |
mixed | Extra info. |
search, scrapedAt |
string | Source info. |
How much does it cost to scrape OnTheMarket?
OnTheMarket Scraper uses pay-per-listing pricing: a small fixed price per listing, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price. Fast mode (without full details) collects about a thousand listings in a minute or two.
More property data
- Rightmove Scraper: the other big UK property portal.
- SpareRoom Scraper: UK flatshares and rooms to rent.
- UK Food Hygiene Scraper: UK business hygiene ratings.
FAQ
How many listings can I get? OnTheMarket shows about 1,000 listings per search. When no price filter is set, the scraper splits big searches into price bands automatically, so you can collect all of London or any large county.
Can I scrape rentals?
Yes. Set Buy or rent to To rent. Prices are monthly rents (pcm), and priceText also shows the weekly figure.
Can I search by postcode? Yes. Enter postcode districts such as SW11, M1 or BS8 as locations.
Do I get the estate agent's phone number? Yes. Every listing includes the branch name and phone number. With full details you also get the branch address, company, group and website.
Can I use my own filters? Yes. Set up a search on OnTheMarket, copy the link and paste it into OnTheMarket search links.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate OnTheMarket Scraper with other apps? OnTheMarket Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape OnTheMarket? The scraper only collects publicly listed property offers. You are responsible for using the data in line with OnTheMarket's terms and UK GDPR, especially for agent contact details.
Notes
Original clean-room implementation. Returns only public data. Not affiliated with OnTheMarket.
Input
| Field | Type | Description |
|---|---|---|
searchTypeBuy or rent | string · for-sale, to-rent | Homes for sale or homes to rent. Default: "for-sale" |
locationsLocations | array | UK towns, cities, counties or postcode districts, e.g. London, Manchester, Bristol, Kent, SW11, M1. Each location is a separate search. |
propertyTypeProperty type | string · property, houses, flats-apartments, bungalows, land | Type of property. Default: "property" |
minPriceMinimum price (£) | integer | Sale price, or monthly rent (pcm) for rentals. |
maxPriceMaximum price (£) | integer | Sale price, or monthly rent (pcm) for rentals. |
minBedroomsMinimum bedrooms | integer | Only homes with at least this many bedrooms. |
maxBedroomsMaximum bedrooms | integer | Only homes with at most this many bedrooms. |
sortBySort by | string · recommended, newest, priceLow, priceHigh | Order of results. Default: "recommended" |
includeUnderOfferInclude under offer / let agreed | boolean | Also include homes that are under offer, sold STC or let agreed. Default: false |
includeDetailsFull property details | boolean | Also collect the full description, postcode, tenure, council tax band, broadband speed, key features, all photos, floorplans, EPC chart, virtual tours, nearest stations and schools, and agent address and website. Slower. Default: false |
startUrlsOnTheMarket search links | array | Optional. Paste OnTheMarket search-results links with your own filters. When set, the search fields above are ignored. |
maxItemsMax listings | integer | Stop after this many listings. 0 means no limit. Default: 200 |
proxyConfigurationProxy configuration | object | Not required for normal use. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~onthemarket-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"locations": [
"Manchester"
],
"maxItems": 50
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/onthemarket-scraper").call(run_input={
"locations": [
"Manchester"
],
"maxItems": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/onthemarket-scraper').call({
"locations": [
"Manchester"
],
"maxItems": 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Property listing One UK property listing scraped from OnTheMarket | $0.0015 | $0.0008 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
CNN Fear & Greed Index Scraper
Scrape the CNN Fear & Greed Index: current market-sentiment score and rating, a full historical timeline, and all seven component indicators. Clean structured JSON, CSV or Excel for trading signals, backtesting, dashboards and alerting.
547 runs · 6 users · $0.003 / item scrapedDivar Scraper
Scrape classified ads from Divar, Iran's largest marketplace: title, price (Toman), category, city, district, images and the listing URL. Search any Iranian city with an optional keyword and export one clean row per ad as JSON, CSV or Excel. For market research, price tracking and n8n.
224 runs · 22 users · $0.003 / listing scrapedAirbnb Scraper
Search Airbnb by location and scrape listings: name, property type, price, rating, reviews, coordinates, photos, badges and link. For short-term rental, pricing and market research.
122 runs · 2 users · $0.005 / listing scrapedSingapore HDB Property Information Scraper
Export master data for every HDB block in Singapore (~13,300 blocks): address, town, year completed, max floor, total units, unit mix by flat type (sold & rental) and amenities (market/hawker, carpark, commercial, pavilion). Filter by town, street, year. Public open data, no setup.
113 runs · 1 users · $0.002 / block scrapedPropertyGuru Singapore Scraper
Scrape PropertyGuru Singapore property listings: price, beds, baths, size, address, property type, agent and URL. For property research and lead generation.
106 runs · 3 users · $0.004 / listing scrapedEdgeProp Singapore Property Scraper
Scrape EdgeProp Singapore property listings for sale and rent: price, address, beds, baths, size, PSF and URL.
105 runs · 1 users · $0.004 / listing scrapedSend the site and the fields. We build it and you get it first.