# Dubai Property Scraper: Property Finder Prices & Market Report (`precious_bathmat/uae-property-market`) Actor

Scrape Property Finder UAE homes for sale or rent in Dubai, Abu Dhabi or any community: price, AED/sq ft, size, beds, off-plan or ready, community, days listed, brokerage. Plus a market report with best-value homes. No login.

- **URL**: https://apify.com/precious_bathmat/uae-property-market.md
- **Developed by:** [Mariam Ahmed](https://apify.com/precious_bathmat) (community)
- **Categories:** Real estate, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Dubai Property Scraper: Property Finder Prices & Market Report

Scrape **Property Finder UAE** homes for sale or to rent in **Dubai, Abu Dhabi, Sharjah or any community or building**, with no login and no API key, and get a **market report for every location**:

- **Every listing**: price (or yearly rent), **AED per sq ft**, size, plot, bedrooms, bathrooms, type, **off-plan or ready**, furnished, community, subcommunity, building, map position, listed date and days listed, brokerage, verified, price drop, amenities, photos, link
- **Any UAE place by name**: "Dubai", "Dubai Marina", "Downtown Dubai", "JVC", "Business Bay", "Palm Jumeirah", "Abu Dhabi", "Sharjah"
- **Filters**: for sale or to rent, property type, bedrooms (studio to 7+), price range
- **Past the ~1,000-listing limit**: Property Finder shows about 50 pages per search; this Actor counts every price band and reads each in proportion to its share, so big searches stay a fair sample
- **Market report per location**: median price and AED per sq ft with the middle half, by bedrooms, type, community and subcommunity, **off-plan vs ready** share and price per sq ft, price drops, days listed, **best-value homes** (under 80% of their area's AED per sq ft), top brokerages

### What does this Property Finder scraper do?

```
Property Finder · Dubai Marina · for sale · 3,835 listings
 Median AED 2,250,000 (1,600,000 – 3,515,000) · AED 2,139 per sq ft
 Studio 1.2M · 1 bed 1.79M · 2 bed 2.7M · 3 bed 4.98M
 Off-plan 19% at AED 2,923 per sq ft vs ready AED 2,016
 87 best-value homes under 80% of their area's price per sq ft
```

1. Enter **UAE cities, communities or buildings**.
2. Pick **for sale or to rent**, **property type**, **bedrooms**, **price range**.
3. You get **one row per listing** and **one market report per location**.

```mermaid
flowchart LR
    A[Cities, communities,<br/>buildings] --> C[Property Finder<br/>search]
    B[Filters<br/>type, beds, price] --> C
    C --> D[Listings<br/>price, AED/sq ft,<br/>off-plan, community]
    D --> E[Market report<br/>by community,<br/>off-plan vs ready,<br/>best value]
```

### Who is it for?

- **Property investors**: price per sq ft by community and building, off-plan premiums, homes priced under their area
- **Brokerages and developers**: supply, pricing and competition in each community, and which brokerages list the most
- **Buyers and tenants**: fair prices and rents before you view or make an offer
- **Proptech, banks and valuers**: fresh UAE asking prices and rents with coordinates and off-plan status
- **Analysts and journalists**: Dubai and Abu Dhabi prices, rents and the off-plan share by area

### What data do you get?

**Listings** (dataset, one row per listing)

| Field | What it tells you |
|---|---|
| `id`, `url`, `reference`, `title`, `operation`, `propertyType` | The listing |
| `price`, `pricePeriod`, `yearlyRent`, `currency`, `pricePerSqft` | Price in AED (rents also as a yearly figure) and per sq ft |
| `sizeSqft`, `plotSqft`, `bedrooms`, `bathrooms`, `furnished` | The home (studio = 0 bedrooms) |
| `completion` | Off-plan or ready |
| `city`, `community`, `subcommunity`, `building`, `location`, `latitude`, `longitude` | Where |
| `listedDate`, `daysListed` | Time on market |
| `brokerage`, `isVerified`, `isPriceDrop`, `isDirectFromDeveloper`, `isNewConstruction`, `isPremium` | Who lists it, and listing flags |
| `amenities`, `photos`, `hasVideo`, `has360` | Features |
| `vsAreaPercent`, `comparedWith`, `areaMedianPricePerSqft`, `bestValue` | Price per sq ft against the subcommunity (or community) median |
| `description` | With **Descriptions** on |

**Report** (`REPORTS`, one per location)

| Field | What it tells you |
|---|---|
| `totalListings`, `listingsRead` | Property Finder's count for the search, and how many were read |
| `medianPrice`, `price25`, `price75`, `medianPricePerSqft`, `pricePerSqft25`, `pricePerSqft75`, `medianSizeSqft` | Prices (yearly rents when renting) |
| `byBedrooms`, `byPropertyType`, `byCommunity`, `bySubcommunity` | Median price and AED per sq ft by group |
| `offPlanPercent`, `offPlanMedianPricePerSqft`, `readyMedianPricePerSqft` | Off-plan vs ready |
| `priceDropPercent`, `verifiedPercent`, `furnishedPercent`, `medianDaysListed`, `newLast7Days` | Market activity |
| `bestValue`, `bestValueCount`, `topBrokerages` | Best-value homes and the busiest brokerages |

### Example: 4 October 2026

Homes for sale, 300 newest listings per location (**1,207 listings and 5 reports in 96 seconds**); the JVC row is from a 3,000-listing run.

| Location | For sale | Median price (middle half) | AED per sq ft | Off-plan |
|---|---|---|---|---|
| Downtown Dubai | 4,234 | AED 3,574,950 (2,400,000 – 5,687,416) | 3,161 | 25% |
| Abu Dhabi | 12,422 | AED 2,600,000 (1,700,000 – 4,200,000) | 1,847 | 54% |
| Dubai Marina | 3,835 | AED 2,250,000 (1,600,000 – 3,515,000) | 2,139 | 19% |
| Business Bay | 6,618 | AED 1,822,500 (1,348,750 – 2,599,000) | 2,402 | 38% |
| Jumeirah Village Circle (JVC) | 9,372 | AED 1,100,000 (818,112 – 1,458,500) | 1,482 | 40% |

- **All of Dubai, 3,000 listings**: median **AED 1,900,000**, AED 1,805 per sq ft, 54% off-plan.
- **Dubai Marina to rent**: median **AED 110,000 a year**; 1 bed AED 90,000, 2 beds AED 140,000.

### Pricing

**$0.001 per listing** and **$0.02 per report**.

- 300 listings with a report: **$0.32**
- 1,200 listings across 4 locations with 4 reports: **$1.28**
- 3,000 listings with a report: **$3.02**

Turn off reports to pay for listings only.

### Good to know

- **Order**: newest first by default, a fair sample of asking prices and rents. The featured order is led by paid listings.
- **The report covers the listings read**; `totalListings` is Property Finder's count for the whole search.
- **Big searches**: past ~1,000 listings the Actor first counts every price band, then reads each in proportion to its share. This takes extra requests: 3,000 listings from all of Dubai take about 10 to 15 minutes.
- **Rents** are given as Property Finder shows them and as a yearly figure (`yearlyRent`), the UAE convention.
- **Best value** = AED per sq ft under 80% of the median of the same subcommunity (or community, or the whole search) with at least 5 homes to compare. Land, bulk units and whole buildings are left out of prices.
- **New-project ads** (a development with several units and no single listing) are not included.
- **Privacy**: agents' names and phone and WhatsApp numbers are not collected; brokerages are named. Emails, phone numbers and agents' own names in descriptions are hidden.
- Data comes from **Property Finder UAE's public search pages**. **Not affiliated with Property Finder.**

### Input

| Field | Meaning |
|---|---|
| **Locations** | UAE cities, communities or buildings |
| **For sale or to rent** | Rents are yearly |
| **Property type** | Apartment, villa, townhouse, penthouse, duplex, hotel apartment, land |
| **Bedrooms** | Studio to 7+ |
| **Price from / to** | AED (yearly rent when renting) |
| **Order** | Newest first (default) or featured |
| **Listings per location** | 1 to 10,000 (default 300) |
| **Descriptions** | Add the description |
| **Reports** | On by default |

### Integrations

Export to JSON, CSV, Excel or Google Sheets, or connect through the Apify API, webhooks, Make, Zapier and n8n. **Schedule it daily** to track new listings and price drops in your communities.

# Actor input Schema

## `locations` (type: `array`):

UAE cities, communities or buildings, e.g. "Dubai", "Dubai Marina", "Downtown Dubai", "JVC", "Business Bay", "Abu Dhabi", "Sharjah". One report each.

## `operation` (type: `string`):

Homes for sale or to rent (rents are given per year, as in the UAE).

## `propertyType` (type: `string`):

Only this type.

## `bedrooms` (type: `array`):

Optional: only these bedroom counts.

## `minPrice` (type: `integer`):

Only listings priced at least this (yearly rent when renting).

## `maxPrice` (type: `integer`):

Only listings priced at most this.

## `sort` (type: `string`):

Newest first is a fair sample of asking prices; the featured order is led by paid listings.

## `maxListingsPerSearch` (type: `integer`):

Most listings to read per location (past ~1,000 the search is split by price).

## `includeDescriptions` (type: `boolean`):

Add each listing's description (contact details and agents' names hidden).

## `includeReports` (type: `boolean`):

One market report per location: median price and AED per sq ft, by bedrooms, type, community and subcommunity, off-plan vs ready, price drops, days listed, best-value homes, top brokerages.

## Actor input object example

```json
{
  "locations": [
    "Dubai Marina"
  ],
  "operation": "sale",
  "propertyType": "any",
  "sort": "newest",
  "maxListingsPerSearch": 300,
  "includeDescriptions": false,
  "includeReports": true
}
```

# Actor output Schema

## `listings` (type: `string`):

One row per listing: price (yearly rent), AED per sq ft, size, bedrooms, type, off-plan or ready, community, building, days listed, brokerage, amenities, link.

## `reports` (type: `string`):

Per location: median price and AED per sq ft, by bedrooms, type, community and subcommunity, off-plan vs ready, price drops, best-value homes, brokerages.

## `reportsCsv` (type: `string`):

One flat row per location.

## `summary` (type: `string`):

Requests, problems and the limits of the data.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "Dubai Marina"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("precious_bathmat/uae-property-market").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "locations": ["Dubai Marina"] }

# Run the Actor and wait for it to finish
run = client.actor("precious_bathmat/uae-property-market").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "Dubai Marina"
  ]
}' |
apify call precious_bathmat/uae-property-market --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,precious_bathmat/uae-property-market"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/0OUTvnrEcV4x9S0eK/builds/eUIlTAv4Y2WgtLYIU/openapi.json
