The Ultimate Property Scraper
Pricing
from $3.00 / 1,000 results
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 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}
Example: force residential Apify Proxy on a challenged run.
{"websites": ["buyrentkenyaproperty"],"pagesPerRun": 1,"useApifyResidentialProxy": true,"apifyProxyCountry": "KE"}
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 across all selected regions/markets.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.useApifyResidentialProxyForces the Apify residential proxy group for this run. On local runs you still needAPIFY_PROXY_PASSWORDin the environment.apifyProxyCountry,apifyProxySessionOptional Apify proxy routing hints for blocked sites.
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.
- Local runs can enable the same fallback with
APIFY_PROXY_PASSWORD=...andAPIFY_PROXY_RESIDENTIAL=1. - 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.