# Property Finder UAE Real Estate Agencies Directory Scraper (`drramerets/propertyfinder-agencies`) Actor

The full Property Finder agency directory: name, email, phone, office address, licence, agent headcount and listing counts by segment. Taken from the service directory that paginates properly, not the web page that repeats its first twenty.

- **URL**: https://apify.com/drramerets/propertyfinder-agencies.md
- **Developed by:** [Andrey](https://apify.com/drramerets) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 agencies

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Property Finder UAE Real Estate Agencies Directory Scraper

Export the full directory of real estate agencies advertising on Property Finder across
the UAE — around 4,000 companies with their email, phone, office address, licence number,
how many agents they employ, how many branches they run and how much they currently have
on the market.

Filter by emirate, listing volume, agent headcount or whether they publish an email, and
keep head offices only if you want one row per company.

### What you get

| Field | Description |
|---|---|
| `id`, `name`, `url` | Agency identifier, name and page on the site |
| `logo` | Company logo |
| `description` | The agency's own profile text |
| `email`, `phone` | Contact details as published |
| `address`, `city` | Office address and the emirate it is in |
| `city_as_published` | The emirate exactly as the site prints it |
| `license_number`, `license_authority` | Trade licence and who issued it |
| `is_verified` | Whether the site verified the company |
| `is_main_branch`, `parent_id`, `branches_total` | Head office or branch, and how many branches |
| `agents_total`, `top_rated_agents_total` | Agents on the site, and how many hold its quality status |
| `listings_total` | How many properties the agency currently advertises |
| `listings_residential_for_sale`, `listings_residential_for_rent` | Split by purpose |
| `listings_commercial_for_sale`, `listings_commercial_for_rent` | Commercial split |
| `deals_claimed_total` | Deals the agency states it closed |
| `awards_count` | How many awards the site displays on the profile |
| `ranking_score` | The site's own ranking measure |
| `business_type` | A standard brokerage or a short-term rental operator |

### Input

```json
{
  "emirates": ["Dubai"],
  "minListings": 20,
  "minAgents": 5,
  "withEmailOnly": true,
  "mainBranchesOnly": true,
  "maxItems": 5000
}
```

Leave every filter empty to get the whole directory.

### Output

One row per agency:

```json
{
  "id": 4302,
  "name": "Example Property Brokerage",
  "url": "https://www.propertyfinder.ae/en/agency/example-property-brokerage-4428",
  "email": "info@example-brokerage.ae",
  "phone": "+971500000000",
  "address": "Office 613, Onyx Tower 1, Barsha Heights, Dubai",
  "city": "Dubai",
  "license_number": "25831",
  "license_authority": "RERA",
  "is_verified": true,
  "is_main_branch": true,
  "branches_total": 3,
  "agents_total": 48,
  "top_rated_agents_total": 12,
  "listings_total": 607,
  "listings_residential_for_sale": 349,
  "listings_residential_for_rent": 250,
  "business_type": "broker"
}
```

### Use cases

- **B2B lead lists.** A contactable list of brokerages filtered to real size and activity,
  not dormant registrations.
- **Market share.** Rank agencies by listing volume per emirate and per segment.
- **Recruitment and partnerships.** Find companies by headcount, branch network and how
  many of their agents hold the site's quality status.
- **Licence checks.** Cross-reference the trade licence number against the regulator's
  own register.
- **Competitive mapping.** See where each company is based and how large its presence is.

### What is and is not included

Included: everything in the field table above, for agency profiles published in the site's
public agency directory.

Not included:

- the agency's individual listings; this returns companies and their listing counts
- the individual agents; the agent headcount is returned, not the roster
- companies that do not advertise on the site

Contact details are the ones each company published on its own public profile so that
clients can reach it.

A few profiles are published without an email, a description or an address; those fields
come back as `null` rather than being dropped.

### What it costs

**$2.50 per 1,000 agencies.** No charge for starting a run. The whole directory is a few
thousand agencies, so a complete map of the market costs about ten dollars.

On top of that Apify bills your account for what the run consumes on the platform —
computing time and data transfer. This actor reads the directory directly, without a
browser, so that part stays small: in our own measurements the entire directory came to
about two cents.

### Support

Questions, a field you need that is not here, or another portal — write to
**admin@noonseller.ae** or visit **[noonseller.ae](https://noonseller.ae)**.

*This is an independent tool. It is not affiliated with, endorsed by, or connected to
Property Finder.*

### FAQ

**Why do some companies appear more than once?** Larger brokerages register each branch
separately. Turn on head offices only to get one row per company.

**How current are the counts?** They reflect what the site shows at the time of the run.
Re-run on a schedule to track how each agency's inventory moves.

**What is the business type for?** Most entries are ordinary brokerages; some are
short-term rental operators, which is a different business. The field lets you separate
them.

**Are the deal figures verified?** No. Companies state those numbers themselves and the
site does not confirm them, so many profiles show zero.

**Can I get everything at once?** Yes — the whole directory is only a few thousand rows
and takes well under a minute.

# Actor input Schema

## `emirates` (type: `array`):

Keep only agencies based in these emirates. Leave empty to cover the whole of the UAE.

## `minListings` (type: `integer`):

Keep only agencies that currently advertise at least this many properties.

## `minAgents` (type: `integer`):

Keep only agencies with at least this many agents on the site.

## `withEmailOnly` (type: `boolean`):

Skip agencies that publish a phone number but no email.

## `mainBranchesOnly` (type: `boolean`):

Skip branch offices and keep one row per company.

## `maxItems` (type: `integer`):

Stop after this many agencies. The whole directory is a few thousand.

## `proxyConfiguration` (type: `object`):

Proxy used to reach the site. The default works for most runs; switch on a residential proxy if the site starts refusing requests.

## Actor input object example

```json
{
  "emirates": [],
  "withEmailOnly": false,
  "mainBranchesOnly": false,
  "maxItems": 5000,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `agencies` (type: `string`):

One row per agency: name, licence, contacts, location and how many properties and agents it has.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("drramerets/propertyfinder-agencies").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("drramerets/propertyfinder-agencies").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call drramerets/propertyfinder-agencies --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=drramerets/propertyfinder-agencies",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/qNNHdWHekDCi1G0VO/builds/JxsAdZbFw2EFjIzyi/openapi.json
