OnTheMarket Scraper | $2 / 1k | Fast & Reliable avatar
OnTheMarket Scraper | $2 / 1k | Fast & Reliable

Pricing

$1.99 / 1,000 results

Go to Apify Store
OnTheMarket Scraper | $2 / 1k | Fast & Reliable

OnTheMarket Scraper | $2 / 1k | Fast & Reliable

Scrape UK property listings from OnTheMarket (rentals, for-sale, and new homes) into clean, structured outputs. Get prices, addresses, property type, beds/baths, photos, features, agent details, and coordinates. Great for market research, price tracking, inventory monitoring and lead gen.

Pricing

$1.99 / 1,000 results

Rating

5.0

(2)

Developer

Fatih Tahta

Fatih Tahta

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

OnTheMarket Scraper | Fast & Reliable

Slug: fatihtahta/onthemarket-scraper

Overview

OnTheMarket Scraper collects structured property listing data including titles, prices, addresses, property types, bedroom and bathroom counts, images, and agent details. It supports listings for rentals, for-sale, and new homes, producing clean, analysis-ready records suitable for reporting and enrichment. OnTheMarket ({{TARGET_SITE}}: https://www.onthemarket.com) is a major UK property marketplace where timely listing data supports market intelligence and decision-making. Runs are automated and consistent, saving teams hours of manual collection and cleanup.

Why Use This Actor

  • Market researchers and analysts: Track pricing, inventory, and listing velocity across regions for trend analysis.
  • Product & content teams: Populate property discovery features and keep catalogs fresh with current listings.
  • Developers & data engineers: Feed structured records into ETL pipelines, dashboards, and data warehouses.
  • Lead generation & enrichment: Identify agents and contact details tied to listings for outreach workflows.
  • Monitoring & competitive tracking: Watch shifts in supply, pricing bands, and property types over time.

Input Parameters

Provide any combination of URLs, queries, and filters to control scope and depth.

ParameterTypeDescriptionDefault
typestringListing type to search. Allowed values: rentals, for-sale, new-homes.rentals
queriesstring[]Location queries such as city, postcode, or neighbourhood (used when you do not have URLs yet).
radiusstringSearch radius around each query. Allowed values: this-area-only, quarter-mile, half-mile, 1-mile, 2-miles, 3-miles, 4-miles, 5-miles, 7-5-miles, 10-miles, 15-miles, 20-miles, 30-miles, 40-miles.this-area-only
minPriceintegerMinimum listing price to include.
maxPriceintegerMaximum listing price to include.
minBedroomsintegerMinimum number of bedrooms (0–10, where 0 = studio).
maxBedroomsintegerMaximum number of bedrooms (0–10).
rentalLengthstringRental length filter (rentals only). Allowed values: short-term, long-term.
propertyTypesstring[]Property types to include. Allowed values: bungalows, detached, farms-land, flats-apartments, mobile-park-homes, semi-detached, terraced.
addedToSitestringLimit to recently added listings. Allowed values: 24-hours, 3-days, 7-days.
startUrlsstring[]One or more OnTheMarket search, category, or listing URLs to collect directly.
limitintegerMaximum listings to save per query.50000
proxyConfigurationobjectOptional connection settings for reliability at scale.Apify proxy with RESIDENTIAL group

Example Input

{
"type": "for-sale",
"queries": ["WC1N 3AX"],
"radius": "quarter-mile",
"minPrice": 300000,
"maxPrice": 1000000,
"propertyTypes": ["flats-apartments"],
"limit": 500
}

Output

6.1 Output destination

The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.

6.2 Record envelope (all items)

Every record includes stable identifiers:

  • type (string, required)
  • id (number, required)
  • url (string, required)

Recommended idempotency key: type + ":" + id. Use this key for deduplication and safe upserts when the same listing appears across multiple inputs.

6.3 Examples

Example: new homes (type = "new-homes")

{
"type": "new-homes",
"id": 13704045,
"url": "https://www.onthemarket.com/details/13704045/",
"title": "2 bedroom flat for sale",
"source_url": "https://www.onthemarket.com/new-homes/property/wc1n-3ax/?direction=asc&radius=0.25&sort-field=price",
"seed_type": "query",
"seed_value": "WC1N 3AX",
"address": "Grenville Street, Bloomsbury, London, WC1N",
"price": "£925,000",
"short_price": "£925k",
"property_type": "Flat",
"bedrooms": 2,
"bathrooms": 1,
"days_on_market": "Added > 14 days",
"main_label": "3D tour",
"features": [
"New build",
"603 sq ft floor area",
"Nearest station 0.1mi."
],
"images": [
{
"default": "https://media.onthemarket.com/properties/13704045/1541397734/image-0-480x320.jpg",
"webp": "https://media.onthemarket.com/properties/13704045/1541397734/image-0-480x320.webp"
},
{
"default": "https://media.onthemarket.com/properties/13704045/1541397734/image-1-480x320.jpg",
"webp": "https://media.onthemarket.com/properties/13704045/1541397734/image-1-480x320.webp"
}
],
"agent_id": 27582,
"agent_name": "Robert Irving Burns - Fitzrovia",
"agent_phone": "020 7768 6566",
"agent_url": "https://www.onthemarket.com/agents/branch/robert-irving-burns-fitzrovia/",
"agent_contact_url": "https://www.onthemarket.com/agents/contact/13704045/?form-name=details-contact",
"agent_logo": "https://media.onthemarket.com/agents/companies/829/220726153456319/logo-190x100.png",
"location_lat": 51.523373,
"location_lon": -0.122355
}

Example: for sale (type = "for-sale")

{
"type": "for-sale",
"id": 17838411,
"url": "https://www.onthemarket.com/details/17838411/",
"title": "2 bedroom flat for sale",
"source_url": "https://www.onthemarket.com/for-sale/property/wc1n-3ax/?direction=asc&radius=0.25&sort-field=price",
"seed_type": "query",
"seed_value": "WC1N 3AX",
"address": "Southampton Row, Bloomsbury, WC1B",
"price": "£795,000",
"short_price": "£795k",
"property_type": "Flat",
"bedrooms": 2,
"bathrooms": 1,
"days_on_market": "Added > 14 days",
"main_label": "Spotlight Property",
"features": [
"Tenure: Leasehold (117 years remaining)",
"947 sq ft floor area",
"Nearest station 0.1mi.",
"Nearest school 0.1mi."
],
"images": [
{
"default": "https://media.onthemarket.com/properties/17838411/1580133190/image-0-480x320.jpg",
"webp": "https://media.onthemarket.com/properties/17838411/1580133190/image-0-480x320.webp"
},
{
"default": "https://media.onthemarket.com/properties/17838411/1580133190/image-1-480x320.jpg",
"webp": "https://media.onthemarket.com/properties/17838411/1580133190/image-1-480x320.webp"
}
],
"agent_id": 42909,
"agent_name": "Matthew James and Company - Kentish Town",
"agent_phone": "020 8115 3199",
"agent_url": "https://www.onthemarket.com/agents/branch/matthew-james-and-company-kentish-town/",
"agent_contact_url": "https://www.onthemarket.com/agents/contact/17838411/?form-name=details-contact",
"agent_logo": "https://media.onthemarket.com/agents/branches/42909/180214104504997/logo-190x100.jpg",
"location_lat": 51.521232,
"location_lon": -0.123204
}

Example: rentals (type = "rentals")

{
"type": "rentals",
"id": 17058492,
"url": "https://www.onthemarket.com/details/17058492/",
"title": "4 bedroom terraced house to rent",
"source_url": "https://www.onthemarket.com/to-rent/property/wc1n-3ax/?direction=asc&radius=0.25&sort-field=price",
"seed_type": "query",
"seed_value": "WC1N 3AX",
"address": "Great James Street, London",
"price": "£15,000 pcm (£3,462 pw)",
"short_price": "£15k",
"property_type": "Terraced house",
"bedrooms": 4,
"bathrooms": 5,
"days_on_market": "Added > 14 days",
"main_label": "Spotlight Property",
"fees_label": "Tenancy info",
"fees_description": "Prior to your Tenancy...",
"features": [
"5 Double Bedrooms",
"5 Bathrooms",
"2 Reception Rooms",
"Private Garden"
],
"images": [
{
"default": "https://media.onthemarket.com/properties/17058492/1584425920/image-0-480x320.jpg",
"webp": "https://media.onthemarket.com/properties/17058492/1584425920/image-0-480x320.webp"
},
{
"default": "https://media.onthemarket.com/properties/17058492/1569469818/image-1-480x320.jpg",
"webp": "https://media.onthemarket.com/properties/17058492/1569469818/image-1-480x320.webp"
}
],
"agent_id": 4977,
"agent_name": "Chestertons - Covent Garden",
"agent_phone": "020 8022 7382",
"agent_url": "https://www.onthemarket.com/agents/branch/chestertons-covent-garden/",
"agent_contact_url": "https://www.onthemarket.com/agents/contact/17058492/?form-name=details-contact",
"agent_logo": "https://media.onthemarket.com/agents/companies/20/150612092121722/logo-190x100.jpg",
"location_lat": 51.521112,
"location_lon": -0.11696
}

Field reference

New homes fields (type = "new-homes")

  • type (string, required): Record category.
  • id (number, required): Listing identifier.
  • url (string, required): Listing URL.
  • title (string, required): Listing title.
  • source_url (string, optional): Source search or category URL.
  • seed_type (string, optional): Input origin (e.g., query or URL).
  • seed_value (string, optional): Input value used to generate results.
  • address (string, optional): Listing address.
  • price (string, optional): Display price.
  • short_price (string, optional): Short price format.
  • property_type (string, optional): Property type label.
  • bedrooms (number, optional): Number of bedrooms.
  • bathrooms (number, optional): Number of bathrooms.
  • days_on_market (string, optional): Time since listing was added.
  • main_label (string, optional): Highlight label.
  • features (array[string], optional): Listing highlights.
  • images (array[object], optional): Image variants.
  • images[].default (string, optional): Default image URL.
  • images[].webp (string, optional): WebP image URL.
  • agent_id (number, optional): Agent identifier.
  • agent_name (string, optional): Agent name.
  • agent_phone (string, optional): Agent phone.
  • agent_url (string, optional): Agent page URL.
  • agent_contact_url (string, optional): Agent contact URL.
  • agent_logo (string, optional): Agent logo URL.
  • location_lat (number, optional): Latitude.
  • location_lon (number, optional): Longitude.

For sale fields (type = "for-sale")

  • type (string, required): Record category.
  • id (number, required): Listing identifier.
  • url (string, required): Listing URL.
  • title (string, required): Listing title.
  • source_url (string, optional): Source search or category URL.
  • seed_type (string, optional): Input origin.
  • seed_value (string, optional): Input value used to generate results.
  • address (string, optional): Listing address.
  • price (string, optional): Display price.
  • short_price (string, optional): Short price format.
  • property_type (string, optional): Property type label.
  • bedrooms (number, optional): Number of bedrooms.
  • bathrooms (number, optional): Number of bathrooms.
  • days_on_market (string, optional): Time since listing was added.
  • main_label (string, optional): Highlight label.
  • features (array[string], optional): Listing highlights.
  • images (array[object], optional): Image variants.
  • images[].default (string, optional): Default image URL.
  • images[].webp (string, optional): WebP image URL.
  • agent_id (number, optional): Agent identifier.
  • agent_name (string, optional): Agent name.
  • agent_phone (string, optional): Agent phone.
  • agent_url (string, optional): Agent page URL.
  • agent_contact_url (string, optional): Agent contact URL.
  • agent_logo (string, optional): Agent logo URL.
  • location_lat (number, optional): Latitude.
  • location_lon (number, optional): Longitude.

Rentals fields (type = "rentals")

  • type (string, required): Record category.
  • id (number, required): Listing identifier.
  • url (string, required): Listing URL.
  • title (string, required): Listing title.
  • source_url (string, optional): Source search or category URL.
  • seed_type (string, optional): Input origin.
  • seed_value (string, optional): Input value used to generate results.
  • address (string, optional): Listing address.
  • price (string, optional): Display price.
  • short_price (string, optional): Short price format.
  • property_type (string, optional): Property type label.
  • bedrooms (number, optional): Number of bedrooms.
  • bathrooms (number, optional): Number of bathrooms.
  • days_on_market (string, optional): Time since listing was added.
  • main_label (string, optional): Highlight label.
  • fees_label (string, optional): Fees label.
  • fees_description (string, optional): Fees description text.
  • features (array[string], optional): Listing highlights.
  • images (array[object], optional): Image variants.
  • images[].default (string, optional): Default image URL.
  • images[].webp (string, optional): WebP image URL.
  • agent_id (number, optional): Agent identifier.
  • agent_name (string, optional): Agent name.
  • agent_phone (string, optional): Agent phone.
  • agent_url (string, optional): Agent page URL.
  • agent_contact_url (string, optional): Agent contact URL.
  • agent_logo (string, optional): Agent logo URL.
  • location_lat (number, optional): Latitude.
  • location_lon (number, optional): Longitude.

Data guarantees & handling

  • Best-effort extraction: fields may vary by region/session/availability/UI experiments.
  • Optional fields: null-check in downstream code.
  • Deduplication: recommend type + ":" + id.

Notes & Limitations

  • Respect OnTheMarket terms of service and applicable laws.
  • Avoid excessive request frequency and schedule runs responsibly.
  • Pricing and availability can vary by region, time, or session.
  • Validate data for compliance with your internal policies before use.

Support

For help, open an issue on the actor’s Issues tab or contact via the actor page. Include the input used (redacted), the run ID, a brief expected vs. actual description, and an optional small output sample to speed up troubleshooting.