The Ultimate Property Scraper
Pricing
from $3.00 / 1,000 results
Go to Apify Store

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
Maintained by Community
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
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:
countriesorwebsitesmarketspagesPerRun- 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
countriesBest starting point. Runs production-ready websites in the selected countries.websitesOptional. Use this if you want to force specific websites.marketsUsually justfor-sale. Addto-rentonly if you also want rental listings.areaQueryMatches suburb, city, location, title, or address.propertyTypeQueryExample:apartment,house,villa,land.minPrice,maxPriceFilter by price in the listing's own currency.minBedrooms,maxBedroomsminBathrooms,maxBathroomsminSizeM2,maxSizeM2pagesPerRunHow many pages to scrape per website in this run.maxListingsOptional cap on output rows per website.0means no cap.comboConcurrencyHow many website jobs to run in parallel.minDelay,maxDelayOptional 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
websitesis empty, the actor usescountries. - If both
countriesandwebsitesare empty, the actor uses a lightweight default. - If both are set,
countriesnarrows the selectedwebsites.
Output
Main output fields:
source,source_sitecountry_code,country_name,currency_codelisting_id,url,titleproperty_type,marketlocation,suburb,cityprice,price_text,price_contextbedrooms,bathrooms,floor_size_m2,erf_size_m2
Pricing is split cleanly:
priceis numeric onlycurrency_codestores 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_sourceevent once per unique website source scraped in that run. - The event is declared in
.actor/pay_per_event.jsonand should be enabled in the actor's Apify monetization settings.
If Output Is Empty
- Try one country or one website first.
- Increase
pagesPerRunfrom1to2or3. - Remove strict filters and run again.