# Property Finder Agent & Lead Extractor (`axlymxp/propertyfinder-agent-lead-extractor`) Actor

Extract Property Finder real-estate agents & brokers with direct phone, WhatsApp, email, license, ratings, listing counts and deal volumes across the UAE, Saudi Arabia, Qatar, Bahrain & Egypt. Build targeted outreach lists for your CRM. Pay only for the leads you get.

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

## Pricing

from $5.00 / 1,000 dataset items

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/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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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 Agent & Lead Extractor

Build targeted real-estate outreach lists from **[Property Finder](https://www.propertyfinder.ae)** — the Gulf's largest property portal. Extract agents and brokers with their **direct phone number, WhatsApp, email, license, ratings, active-listing counts and transaction volumes** across the **UAE, Saudi Arabia, Qatar, Bahrain, Egypt and Lebanon** — as clean, CRM-ready JSON.

Unlike scrapers that only read the public agent list (where contact details are hidden), this Actor pulls each agent's **full profile**, so the phone and WhatsApp numbers actually come through.

### Who it's for

- **Real-estate agencies & recruiters** — find top-performing agents by area to recruit, partner with, or benchmark against.
- **PropTech & B2B sales teams** — build lead lists of agents and brokerages to sell CRM, marketing, photography or portal services to.
- **Market analysts** — measure agent density, super-agent share and transaction volumes per community and city.
- **Data teams** — a consistent JSON schema of the agent side of the market, ready for a CRM or warehouse.

### Output fields

Each agent/broker is one dataset row:

| Field | Type | Description |
| --- | --- | --- |
| `id` | number | Property Finder agent ID |
| `name` | string | Agent full name |
| `slug` | string | Agent profile slug |
| `position` | string | Job title (e.g. Associate Director) |
| `phone` | string | Direct phone number |
| `whatsapp` | string | WhatsApp number |
| `email` | string | Email address |
| `license_number` | string | Broker/agent license (BRN/RERA) |
| `verified` | boolean | Verified by Property Finder |
| `super_agent` | boolean | Top-performing "Super Agent" |
| `country` | string | Market code |
| `category` | string | `sale` or `rent` focus |
| `nationality` | string | Agent nationality |
| `languages` | array | Languages spoken |
| `experience_since` | string | Year/where experience began |
| `average_rating` | number | Average review rating |
| `review_count` | number | Number of reviews |
| `ranking` | number | Property Finder ranking |
| `avg_whatsapp_response_time` | string | Typical response time |
| `total_properties` | number | Active listings |
| `transactions_count` | number | Recorded transactions |
| `properties_residential_sale` | number | Residential-sale listings |
| `properties_residential_rent` | number | Residential-rent listings |
| `properties_commercial_sale` | number | Commercial-sale listings |
| `properties_commercial_rent` | number | Commercial-rent listings |
| `claimed_transactions_sale` | number | Claimed sale transactions |
| `claimed_transactions_rent` | number | Claimed rent transactions |
| `claimed_deal_volume` | number | Claimed deal volume |
| `top_locations` | array | Communities the agent is active in |
| `broker` | object | Brokerage id, name, address, location |
| `image` | string | Agent photo URL |
| `scraped_at` | string | ISO-8601 scrape timestamp |

### High-value use cases

- **Agency recruitment** — list every super-agent selling in Downtown Dubai with their phone, listing count and deal volume, then reach out.
- **B2B lead generation** — build a contactable list of brokerages and agents to pitch CRM, lead-gen or media services to.
- **Market intelligence** — rank communities by number of active agents and super-agent share to spot competitive hotspots.
- **Partner sourcing** — find verified, highly-rated agents in a target community for referrals or co-brokerage.

### Input parameters

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| `country` | string | `ae` | Market: `ae`, `sa`, `qa`, `bh`, `eg`, `lb` |
| `category` | string | `sale` | Agents active in `sale` or `rent` |
| `location` | string | — | Location name to auto-resolve (e.g. `Dubai Marina`) |
| `locationIds` | array | — | Exact location IDs (advanced; overrides `location`) |
| `agentIds` | array | — | Specific agent IDs (direct mode) |
| `verifiedOnly` | boolean | `false` | Only verified agents |
| `superAgentOnly` | boolean | `false` | Only Super Agents |
| `withContacts` | boolean | `true` | Enrich each agent with phone/WhatsApp/email |
| `perPage` | integer | `25` | Directory page size (advanced) |
| `maxItems` | integer | `100` | Stop after this many leads |

### Example input

```json
{
    "country": "ae",
    "category": "sale",
    "location": "Dubai Marina",
    "superAgentOnly": true,
    "withContacts": true,
    "maxItems": 50
}
````

### Example output (one row, trimmed)

```json
{
    "id": 253519,
    "name": "Jake Palmart",
    "position": "Associate Director",
    "phone": "+9715xxxxxxxx",
    "whatsapp": "+9715xxxxxxxx",
    "email": "jake.p@example.com",
    "license_number": "45841",
    "verified": true,
    "super_agent": true,
    "average_rating": 4.9,
    "review_count": 37,
    "total_properties": 39,
    "languages": ["English"],
    "broker": { "id": 4246, "name": "White & Co Real Estate", "location": "Dubai" },
    "scraped_at": "2026-07-26T10:00:00+00:00"
}
```

### Scheduling & integrations

- **Schedule** recurring runs from the Apify Console to keep lead lists fresh.
- Export to **JSON, CSV, Excel or the API**, or push to **Google Sheets, HubSpot, Make, Zapier, Amazon S3** and webhooks.
- Trigger downstream automations with an Apify **webhook** on run completion.

### Use it from an AI agent (MCP)

This Actor works with the **Apify MCP server**, so AI assistants can call it as a tool — ask an agent to "get the top-rated sales agents in Business Bay with their phone numbers" and it returns structured leads.

### FAQ

**Do I really get phone numbers?** Yes. With `withContacts` on (default), each agent's phone, WhatsApp and email are pulled from their full profile — not just the public list where they're hidden.

**Which markets are covered?** UAE, Saudi Arabia, Qatar, Bahrain, Egypt and Lebanon.

**Sale vs rent agents?** The `category` input selects agents active in residential sales or rentals.

**How fresh is the data?** Every run reads Property Finder live. Schedule runs to keep lead lists current.

**Can I target specific agents?** Yes — pass `agentIds` for direct mode.

**Is this legal?** The Actor collects publicly listed professional contact details. You are responsible for using them in compliance with Property Finder's terms and applicable laws (e.g. PDPL/GDPR and anti-spam rules) when you contact agents.

# Actor input Schema

## `country` (type: `string`):

Which Property Finder market to extract agents from.

## `category` (type: `string`):

Extract agents active in residential sales or rentals.

## `location` (type: `string`):

A place name to auto-resolve (e.g. 'Dubai Marina', 'Business Bay'). Leave empty to extract agents country-wide, or use Location IDs / Agent IDs.

## `locationIds` (type: `array`):

Optional. Exact Property Finder location IDs (e.g. 50 = Dubai Marina). Overrides 'Location name' when set.

## `agentIds` (type: `array`):

Optional. Specific Property Finder agent IDs to fetch directly instead of searching by location.

## `verifiedOnly` (type: `boolean`):

Only include agents verified by Property Finder.

## `superAgentOnly` (type: `boolean`):

Only include top-performing 'Super Agents'.

## `withContacts` (type: `boolean`):

Enrich each agent with phone, WhatsApp and email (one extra request per agent). Turn off for a fast agent directory without contacts.

## `perPage` (type: `integer`):

Page size for the agent directory (advanced).

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

Stop after collecting this many agent leads.

## `locale` (type: `string`):

Language for localized text (e.g. en, ar).

## Actor input object example

```json
{
  "country": "ae",
  "category": "sale",
  "location": "Dubai Marina",
  "locationIds": [],
  "agentIds": [],
  "verifiedOnly": false,
  "superAgentOnly": false,
  "withContacts": true,
  "perPage": 25,
  "maxItems": 100,
  "locale": "en"
}
```

# 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 = {
    "location": "Dubai Marina",
    "locationIds": [],
    "agentIds": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("axlymxp/propertyfinder-agent-lead-extractor").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 = {
    "location": "Dubai Marina",
    "locationIds": [],
    "agentIds": [],
}

# Run the Actor and wait for it to finish
run = client.actor("axlymxp/propertyfinder-agent-lead-extractor").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 '{
  "location": "Dubai Marina",
  "locationIds": [],
  "agentIds": []
}' |
apify call axlymxp/propertyfinder-agent-lead-extractor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Property Finder Agent & Lead Extractor",
        "description": "Extract Property Finder real-estate agents & brokers with direct phone, WhatsApp, email, license, ratings, listing counts and deal volumes across the UAE, Saudi Arabia, Qatar, Bahrain & Egypt. Build targeted outreach lists for your CRM. Pay only for the leads you get.",
        "version": "1.0",
        "x-build-id": "XQ49EJzDD9IioDFe7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/axlymxp~propertyfinder-agent-lead-extractor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-axlymxp-propertyfinder-agent-lead-extractor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/axlymxp~propertyfinder-agent-lead-extractor/runs": {
            "post": {
                "operationId": "runs-sync-axlymxp-propertyfinder-agent-lead-extractor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/axlymxp~propertyfinder-agent-lead-extractor/run-sync": {
            "post": {
                "operationId": "run-sync-axlymxp-propertyfinder-agent-lead-extractor",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "country": {
                        "title": "Country",
                        "enum": [
                            "ae",
                            "sa",
                            "qa",
                            "bh",
                            "eg",
                            "lb"
                        ],
                        "type": "string",
                        "description": "Which Property Finder market to extract agents from.",
                        "default": "ae"
                    },
                    "category": {
                        "title": "Agent category",
                        "enum": [
                            "sale",
                            "rent"
                        ],
                        "type": "string",
                        "description": "Extract agents active in residential sales or rentals.",
                        "default": "sale"
                    },
                    "location": {
                        "title": "Location name",
                        "type": "string",
                        "description": "A place name to auto-resolve (e.g. 'Dubai Marina', 'Business Bay'). Leave empty to extract agents country-wide, or use Location IDs / Agent IDs."
                    },
                    "locationIds": {
                        "title": "Location IDs (advanced)",
                        "type": "array",
                        "description": "Optional. Exact Property Finder location IDs (e.g. 50 = Dubai Marina). Overrides 'Location name' when set.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "agentIds": {
                        "title": "Agent IDs (direct mode)",
                        "type": "array",
                        "description": "Optional. Specific Property Finder agent IDs to fetch directly instead of searching by location.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "verifiedOnly": {
                        "title": "Verified agents only",
                        "type": "boolean",
                        "description": "Only include agents verified by Property Finder.",
                        "default": false
                    },
                    "superAgentOnly": {
                        "title": "Super-agents only",
                        "type": "boolean",
                        "description": "Only include top-performing 'Super Agents'.",
                        "default": false
                    },
                    "withContacts": {
                        "title": "Fetch contact details",
                        "type": "boolean",
                        "description": "Enrich each agent with phone, WhatsApp and email (one extra request per agent). Turn off for a fast agent directory without contacts.",
                        "default": true
                    },
                    "perPage": {
                        "title": "Agents per page",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Page size for the agent directory (advanced).",
                        "default": 25
                    },
                    "maxItems": {
                        "title": "Max leads",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Stop after collecting this many agent leads.",
                        "default": 100
                    },
                    "locale": {
                        "title": "Language",
                        "type": "string",
                        "description": "Language for localized text (e.g. en, ar).",
                        "default": "en"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
