PropertyFinder.ae UAE Real Estate Listings avatar

PropertyFinder.ae UAE Real Estate Listings

Pricing

from $2.55 / 1,000 listing founds

Go to Apify Store
PropertyFinder.ae UAE Real Estate Listings

PropertyFinder.ae UAE Real Estate Listings

Pull live apartment, villa, penthouse and townhouse listings straight from PropertyFinder.ae — the UAE's biggest real-estate portal — by deal type and emirate, sorted freshest-first. No login, no browser, no proxies.

Pricing

from $2.55 / 1,000 listing founds

Rating

0.0

(0)

Developer

Tim Zinin

Tim Zinin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share

Pull live apartment, villa, penthouse, townhouse and land listings straight from PropertyFinder.ae — the UAE's biggest real-estate portal — filtered by deal type (sale/rent) and emirate, sorted freshest-first. No login, no API key, no browser needed on your side.

What you get

  • Title, price (with currency), bedrooms, floor area in m², location, coordinates, a short description, up to 5 photos, the listing date and the direct listing URL for every ad found.
  • Filter by sale or rent, any of the 7 UAE emirates, and optionally drop anything older than N days.
  • Results are sorted freshest-first among what was scanned.
  • Runs on Apify: schedule it, monitor it, call it from the API, export to JSON/CSV/Excel or push straight into your own pipeline.

How to run it

  1. Click Try for free — no card needed on the free plan.
  2. Pick Deal type (sell or rent) and Emirate (defaults to Dubai).
  3. Hit Start and pull the results from the dataset (UI, API or webhook).

Pricing

Pay-per-event: $0.005 per run start + $0.003 per result. No monthly seat, no minimum. 100 listings found cost about $0.30 (the one-time start fee plus 100 result rows). Rows where the source returned nothing (zero matching listings, nothing within your freshness window, or a request that failed) are returned for transparency but are never charged for.

Input

FieldRequiredWhat it does
deal_typenosell for properties for sale, rent for properties for rent. Default sell.
emiratenoOne of dubai, abu-dhabi, sharjah, ajman, ras-al-khaimah, fujairah, umm-al-quwain, al-ain. Default dubai.
max_itemsnoTotal row cap for this run, taken from the freshest candidates found (default 25).
max_pagesnoHow many result pages to scan before picking the freshest max_items (default 3).
max_listing_age_daysnoDrop any listing older than this many days. Leave empty to keep the freshest regardless of age.
{
"deal_type": "sell",
"emirate": "dubai",
"max_items": 5,
"max_pages": 1
}

Output

Real row from a live run on the platform (2026-08-01):

{
"emirate": "dubai",
"deal_type": "sale",
"found": true,
"url": "https://www.propertyfinder.ae/en/plp/buy/villa-for-sale-dubai-villanova-amaranta-amaranta-2-124265342.html",
"title": "Limited Release | Standalone | Tenanted",
"price": 6700000,
"currency": "AED",
"property_type": "Villa",
"rooms": 4,
"area_sqm": 400.04,
"location": "Amaranta 2, Amaranta, Villanova, Dubai",
"lat": 25.080896377563477,
"lng": 55.361793518066406,
"posted_date": "2026-08-01T04:31:07Z",
"description": "4-BEDROOM STAND-ALONE VILLA | INVESTOR DEAL\n\nProperty Features:\n\n- Fully fitted kitchen with appliances\n- Built-in wardrobes and walk-in closet\n- Maid’s room and separate laundry room\n- Private garden and outdoor terrace\n- Balcony with dedicated BBQ area\n- Central air conditioning and heating\n- Covered parking with private garage\n- Private swimming pool and gym\n- Storage room\n\nCommunity Amenities:\n\n- Shared swimming pool and gym\n- Children’s play area and nursery\n- Landscaped gardens and walkin…",
"images": [
"https://static.shared.propertyfinder.ae/media/images/listing/PDSPT6WS1P28E7MW7HTRBMTNMG/7b3219c7-24fa-4d7b-b1d0-64addff02653/668x452.jpg?v=3e48054949679313e07b2a595982173c",
"https://static.shared.propertyfinder.ae/media/images/listing/PDSPT6WS1P28E7MW7HTRBMTNMG/804ebc58-3019-46f9-aacc-ad4f3fed3582/668x452.jpg?v=16a78ea9ab29f828da5fcc49062adf86",
"https://static.shared.propertyfinder.ae/media/images/listing/PDSPT6WS1P28E7MW7HTRBMTNMG/051acb1d-e156-4bb4-bd6f-e698b188d087/668x452.jpg?v=8f0c3f3a4cd47aa87a6b40a06bdacf24"
],
"source_portal": "propertyfinder-gulf",
"scraped_at": "2026-08-01T05:10:18.680Z",
"partial": true,
"partial_reason": "stopped after 1 page(s), 25 item(s) collected — reached this run's own max_pages/max_items limit before the source confirmed (via confirmedEnd) that there is nothing more; there may be additional matching listings beyond what was collected"
}
FieldMeaning
foundtrue for a real listing row, false for a not-found/error row.
priceListing price as a number, in currency (always AED).
roomsBedroom count (0 for a studio); null when not applicable (e.g. land plots).
area_sqmFloor/plot area converted to square meters (source lists it in sqft).
locationFull location string as shown on the listing: tower/building, community, area, emirate.
posted_dateFull ISO 8601 timestamp of when the listing was posted/refreshed — rows are sorted by this, freshest first.
imagesUp to 5 preview photo URLs.
partialtrue when this run stopped without PropertyFinder.ae itself confirming there is nothing more — either max_pages/max_items was reached, or an unconfirmed empty page came back. false only when the source's own response confirmed no further results exist. Carried on every row, found or not.
partial_reasonPlain-English reason when partial is true; null when it's false.

A not-found row looks like:

{
"emirate": "fujairah",
"deal_type": "rent",
"found": false,
"note": "PropertyFinder.ae returned listings for this emirate/deal_type, but none were within the last 1 day(s) (25 dropped as stale).",
"scraped_at": "2026-08-01T05:10:22.842Z"
}

API

Start a run with a bearer token and explicit JSON input:

curl -sS -X POST 'https://api.apify.com/v2/acts/zinin~propertyfinder-gulf/runs?waitForFinish=60' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"deal_type":"sell","emirate":"dubai","max_items":5,"max_pages":1}'

Read Dataset rows using the returned defaultDatasetId:

curl -sS "https://api.apify.com/v2/datasets/$DEFAULT_DATASET_ID/items?clean=true&format=json" \
-H "Authorization: Bearer $APIFY_TOKEN"

MCP

For an Apify MCP client exposing the standard call-actor tool, send this exact payload:

{
"name": "call-actor",
"arguments": {
"actor": "zinin/propertyfinder-gulf",
"input": {
"deal_type": "sell",
"emirate": "dubai",
"max_items": 5,
"max_pages": 1
}
}
}

Other real-estate portals on the same account, for a buyer cross-shopping Dubai against other markets.

ActorUse it when
Rightmove UK Property Listings (London and beyond)The classic Dubai-vs-London comparison for a buyer weighing tax-free yield against a mature Western market.
Imovirtual Portugal Real Estate ListingsComparing Dubai against an EU Golden-Visa-style alternative for residency-by-investment shopping.
Otodom Poland Real Estate ListingsDiversifying away from a single Gulf market into a lower-entry-price EU market with the same query shape.
Realitica.com Adriatic Real Estate ListingsComparing Dubai's beachfront developments against Adriatic-coast vacation-home pricing.

FAQ / Limitations

Does this need a PropertyFinder.ae account or API key? No — it reads public pages a visitor sees, no login.

Why emirate-level, not a specific building or district? PropertyFinder.ae's robots.txt blocks the query-string search endpoint this Actor could otherwise use for finer filtering. This Actor instead reads the emirate-wide "properties for sale/rent" page — a plain page confirmed both allowed by robots.txt and currently listed in PropertyFinder's own sitemap. Narrower filtering isn't available through a robots.txt-compliant path right now.

What this is NOT. This does not fetch agent/broker contact details, the full amenities list, off-plan project listings, or the seller's phone number — only what a property-type listing card carries on the emirate page. It does not guarantee every listing on PropertyFinder.ae is returned; scanning stops at max_pages / max_items, and results are the freshest found within that scan, not a strict site-wide "newest first" crawl.

Found a bug or need a custom variant (a different GCC portal, extra fields)? Open an issue on the Actor page.

Machine use

The Actor is callable through the Apify API, SDK, and Apify MCP server. The input and Dataset row are the machine-facing contract; rooms/area_sqm/images return exactly what a listing card publishes and are null/empty rather than guessed when the source doesn't carry a value, and scanning is bounded by max_pages/max_items — this Actor never claims a full site-wide crawl.