OnTheMarket Scraper — UK Property, Prices & Days Listed avatar

OnTheMarket Scraper — UK Property, Prices & Days Listed

Pricing

from $1.83 / 1,000 property results

Go to Apify Store
OnTheMarket Scraper — UK Property, Prices & Days Listed

OnTheMarket Scraper — UK Property, Prices & Days Listed

Scrape OnTheMarket UK property listings by location & operation (sale/rent). Returns numeric price, days listed, Reduced flag, agent name & phone, GPS, images, parse confidence per record. Pay per result.

Pricing

from $1.83 / 1,000 property results

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Share

OnTheMarket Properties Scraper

Scrape property listings from OnTheMarket.com — the UK's leading property portal. Extract properties for sale or to rent by location, with bedroom, bathroom, and price filters.

What you get (20+ fields per property)

FieldDescription
idOTM property ID
titleFull property title (e.g. "2 bedroom flat for sale")
operationsale or rent
property_typeFlat, House, Studio, etc.
addressFull address string
priceNumeric price in GBP
price_textOriginal price string (e.g. "£300,000")
price_qualifiere.g. "Offers in excess of", "Guide price"
bedroomsNumber of bedrooms
bathroomsNumber of bathrooms
location_lat / location_lonGPS coordinates
agent_nameEstate agency name
agent_telephoneAgent phone number
urlDirect link to the property listing
imagesArray of image objects (default + webp URLs)
thumbnailFirst image URL
days_listedListing age label (e.g. "Added today", "Reduced > 14 days")
recently_addedBoolean
reducedBoolean — price was reduced
exclusiveBoolean — OTM exclusive listing
featuresArray of property feature strings

Input

ParameterTypeDescription
operationstringsale or rent (default: sale)
locationstringLocation slug from OTM URL (e.g. london, manchester, bristol)
minBedsintegerMinimum bedrooms
maxBedsintegerMaximum bedrooms
priceMinintegerMinimum price (GBP)
priceMaxintegerMaximum price (GBP)
maxItemsintegerMax properties to return (default: 100; 0 = all)
proxyConfigurationobjectProxy settings (RESIDENTIAL GB recommended)

Finding the location slug

Visit OnTheMarket.com, search for a location, and copy the slug from the URL:

  • https://www.onthemarket.com/for-sale/property/london/ → slug is london
  • https://www.onthemarket.com/for-sale/property/west-london/ → slug is west-london
  • https://www.onthemarket.com/to-rent/property/edinburgh/ → slug is edinburgh

Pricing

Pay per result — you are charged only for properties actually returned:

  • property-item: $0.00189 per property ($1.89 per 1,000)

Usage examples

50 cheapest 2-bed flats for rent in London under £2,500/month:

{
"operation": "rent",
"location": "london",
"minBeds": 2,
"maxBeds": 2,
"priceMax": 2500,
"maxItems": 50
}

All 3+ bed houses for sale in Manchester between £200k–£500k:

{
"operation": "sale",
"location": "manchester",
"minBeds": 3,
"priceMin": 200000,
"priceMax": 500000,
"maxItems": 200
}

Technical notes

  • Data source: __NEXT_DATA__ embedded Redux state (no scraping of CSS classes — structural JSON extraction only).
  • Proxy: Apify RESIDENTIAL GB proxy prefilled — recommended for reliable access.
  • Pagination: up to 34 pages × 30 results = ~1,020 properties per search (OTM platform limit).
  • Parse confidence: every record includes parse_confidence (0–1) and warnings so you know immediately if OTM changed their data structure.

More scrapers from our toolkit

Building a data pipeline? These actors pair well with this one — each runs on your own Apify account with the same pay-per-result pricing, no subscription:

Chain any of them together from the Integrations tab (the Run succeeded trigger) to build a multi-step workflow — one actor's output feeds the next.

Use it from your existing tools

Use with Claude Desktop / Cursor / Cline (MCP)

Load this actor as a tool in your AI assistant. Call it directly from your AI assistant via the Apify MCP server — no Store browsing needed. Paste this into your MCP client config (e.g. claude_desktop_config.json) and restart the client:

{
"mcpServers": {
"apify-onthemarket-properties-scraper": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--tools",
"bovi/onthemarket-properties-scraper"
],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_TOKEN"
}
}
}
}

Replace YOUR_APIFY_TOKEN with your own Apify API token (free at apify.com → Settings → Integrations). Curated to a handful of tools so the agent selects reliably.

Works with Clay

Run this actor as an HTTP enrichment step inside a Clay table:

  • Method: POST
  • URL: https://api.apify.com/v2/acts/bovi~onthemarket-properties-scraper/run-sync-get-dataset-items?token={{apify_token}}
  • Body (JSON): map your Clay columns to the actor input (see the Input section above), e.g. {"location": "{{clay_column}}"}

The run finishes synchronously and returns the dataset rows straight into your Clay table. It runs on Apify's cloud under your own token and usage. Synchronous runs must complete within 300 seconds.