PropertyFinder UAE Property Scraper
Pricing
Pay per event
PropertyFinder UAE Property Scraper
Scrape property listings from PropertyFinder.ae, the UAE's leading property portal. Get clean price, bed/bath, size, location, and agent data per listing while we handle blocks and fingerprint rotation for you.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
🎯 What this scrapes
PropertyFinder.ae is the UAE's leading property portal, sitting in the deepest demand cluster in this fleet — property-portal scrapers of the PropertyFinder/Bayut/Dubizzle shape post 6,748 runs and 182 users a month across 56 rival Store actors. This Actor pulls listing cards straight from PropertyFinder's own search-results page, parsed from the page's embedded __NEXT_DATA__ JSON blob rather than fragile DOM selectors, so you get every field the page actually knows about a listing — price, bedrooms, bathrooms, size, location hierarchy, agent, and agency — normalized into one clean row per listing.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome and Firefox TLS handshakes, rotated across requests, so the target sees a browser, not Python. - 🌐 Proxy session rotation via Apify Proxy — fresh session and exit IP on every block, always pinned to a UAE (
AE) residential exit so you never get wrong-currency or wrong-inventory data silently. - 🔁 Retries with exponential backoff on
408 / 429 / 5xx— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Page- and row-level fault isolation — one blocked page or one bad listing is skipped and logged, never crashes the run.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, numeric price/size fields with an explicit currency and unit instead of one rendered blob.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
💡 Use cases
- Property investment research — pull current for-sale listings for a UAE area, price and size included, to compare communities fast.
- Rental market benchmarking — track for-rent listing prices and size across Dubai, Abu Dhabi, Sharjah, and other emirates in one run.
- PropTech and real-estate analytics — feed a clean, structured listings dataset into a pricing or valuation model.
- Agency competitor tracking — monitor a rival agency's live inventory, pricing, and listing velocity.
⚙️ How to use it
- Click Try for free at the top of the page.
- Pick a category, purpose (for-sale/for-rent), and optional filters — location, price range, bedrooms.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
category | string | no | residential | Property category (maps to the c= search param). |
purpose | string | no | for-sale | for-sale or for-rent. |
location | string | no | — | Area/community — Dubai, Abu Dhabi, Sharjah, etc. |
minPrice | integer | no | — | Minimum price in AED. |
maxPrice | integer | no | — | Maximum price in AED. |
bedrooms | integer | no | — | Bedroom filter. 0 = studio. |
maxPages | integer | no | 10 | Search-result pages to walk. |
maxResults | integer | no | 50 | Hard cap on rows emitted; stops early once hit. |
proxyConfiguration | object | yes | RESIDENTIAL group | The Actor pins apifyProxyCountry="AE" internally whenever a proxy is used (never user-configurable). |
Example input
{"category": "residential","purpose": "for-sale","location": "Dubai Marina","minPrice": 500000,"maxPrice": 3000000,"bedrooms": 2,"maxPages": 5,"maxResults": 200,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
listing_id | string | Listing object ID from PropertyFinder's __NEXT_DATA__ blob. |
title | string | Listing title. |
price_amount | ['number', 'null'] | Numeric price. |
price_currency | string | Price currency, e.g. AED. |
property_type | ['string', 'null'] | e.g. "Apartment", "Villa". |
bedrooms | ['integer', 'null'] | Bedroom count. 0 = studio. |
bathrooms | ['integer', 'null'] | Bathroom count. |
size_value | ['number', 'null'] | Numeric floor area. |
size_unit | ['string', 'null'] | sqft or sqm as displayed. |
location | ['string', 'null'] | Flattened display string. |
location_hierarchy | array | City > community > sub-community, if present. |
agent_name | ['string', 'null'] | Listing agent's name. |
agency_name | ['string', 'null'] | Listing agency's name. |
listing_url | string | Canonical detail-page URL. |
image_urls | array | Gallery photo URLs (empty OK). |
posted_at | ['string', 'null'] | ISO-8601, if present in the source JSON. |
updated_at | ['string', 'null'] | ISO-8601, if present in the source JSON. |
latitude | ['number', 'null'] | WGS-84 latitude, if present. |
longitude | ['number', 'null'] | WGS-84 longitude, if present. |
scraped_at | string | ISO 8601 UTC row-creation timestamp. |
Example output
{"listing_id": "12345678","title": "Luxury 2BR Apartment | Marina View","price_amount": 2100000,"price_currency": "AED","property_type": "Apartment","bedrooms": 2,"bathrooms": 3,"size_value": 1350.0,"size_unit": "sqft","location": "Dubai Marina, Dubai","location_hierarchy": ["Dubai", "Dubai Marina"],"agent_name": "John Smith","agency_name": "Example Realty","listing_url": "https://www.propertyfinder.ae/en/plp/buy/apartment-for-sale-dubai-marina-12345678.html","image_urls": ["https://example.cdn/img1.jpg"],"posted_at": "2026-09-20T10:00:00+00:00","updated_at": null,"latitude": 25.0805,"longitude": 55.1403,"scraped_at": "2026-09-25T05:45:00+00:00"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.20 | One-off warm-up charge per run |
result-row | $0.008 | Per listing row written to the dataset |
Example: 1 000 results at the rates above ≈ $8.20. No subscription, no minimum, no card to start — Apify gives every new account free credit to try. Rates shown are a proposal from this Actor's spec; final pricing is confirmed at publish time.
🚧 Limitations
v1 is search-results only — no detail-page enrichment, so fields only the detail page carries (full description text, amenities list, floor plan) are out of scope for v1. location_hierarchy, latitude/longitude, and agency_name are null when PropertyFinder's own JSON doesn't carry them for a given listing. Non-UAE PropertyFinder sites (PropertyFinder operates other country portals under different domains) are out of scope.
❓ FAQ
Do I need a PropertyFinder account or API key?
No. This Actor scrapes PropertyFinder.ae's own publicly listed property data — no login, no API key.
Can I filter by price and bedrooms?
Yes — set minPrice, maxPrice, and bedrooms in the input; leave them out to get every listing matching category/purpose/location.
Why is the proxy country locked to AE?
A geo-random exit is known to return wrong-currency or wrong-inventory data on this target, so the Actor always pins a UAE residential exit internally regardless of your proxy settings.
Do you scrape individual listing detail pages?
Not in v1 — the search-results page's own JSON already carries rich structured data per listing; detail-page enrichment is a candidate for a future version.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.