The Ultimate Property Scraper avatar

The Ultimate Property Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
The Ultimate Property Scraper

The Ultimate Property Scraper

Scrape clean, structured property listings from multiple real estate websites in one run. Built for scale with smart filtering (price, beds, baths, size, market, country), duplicate control, and output-ready records for database pipelines.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Ultimate Scraper Properties

Scrape property listings from major real-estate websites and return clean structured rows to the Apify dataset.

Quick Start

For most runs, only use these fields:

  • countries or websites
  • markets
  • pagesPerRun
  • optional filters like areaQuery, propertyTypeQuery, minPrice, maxPrice

Example: sale listings in the UAE.

{
"countries": ["AE"],
"markets": ["for-sale"],
"pagesPerRun": 1
}

Example: a few specific websites only.

{
"websites": ["propertyfinderuae", "betterhomesuaeproperty", "providentuaeproperty"],
"markets": ["for-sale"],
"pagesPerRun": 1,
"propertyTypeQuery": "apartment",
"minBedrooms": 2
}

Main Inputs

  • countries Best starting point. Runs production-ready websites in the selected countries.
  • websites Optional. Use this if you want to force specific websites.
  • markets Usually just for-sale. Add to-rent only if you also want rental listings.
  • areaQuery Matches suburb, city, location, title, or address.
  • propertyTypeQuery Example: apartment, house, villa, land.
  • minPrice, maxPrice Filter by price in the listing's own currency.
  • minBedrooms, maxBedrooms
  • minBathrooms, maxBathrooms
  • minSizeM2, maxSizeM2
  • pagesPerRun How many pages to scrape per website in this run.
  • maxListings Optional cap on output rows per website. 0 means no cap.
  • comboConcurrency How many website jobs to run in parallel.
  • minDelay, maxDelay Optional global override. If omitted, each scraper uses its own tuned default pacing, which is faster for HTTP sources and slower for sensitive browser sources.

How Selection Works

  • If websites is empty, the actor uses countries.
  • If both countries and websites are empty, the actor uses a lightweight default.
  • If both are set, countries narrows the selected websites.

Output

Main output fields:

  • source, source_site
  • country_code, country_name, currency_code
  • listing_id, url, title
  • property_type, market
  • location, suburb, city
  • price, price_text, price_context
  • bedrooms, bathrooms, floor_size_m2, erf_size_m2

Pricing is split cleanly:

  • price is numeric only
  • currency_code stores the currency separately

Notes

  • Output rows are deduplicated before they are pushed to the dataset.
  • Low-quality placeholder rows are dropped.
  • Some websites may need residential proxies if they tighten anti-bot protection.
  • When Apify pay-per-event pricing is enabled, the actor charges the property_source event once per unique website source scraped in that run.
  • The event is declared in .actor/pay_per_event.json and should be enabled in the actor's Apify monetization settings.

If Output Is Empty

  • Try one country or one website first.
  • Increase pagesPerRun from 1 to 2 or 3.
  • Remove strict filters and run again.