# Property Finder (propertyfinder.ae) Scraper (`one-api/propertyfinder-scraper`) Actor

Scrape Property Finder (propertyfinder.ae), the leading UAE property marketplace. Enriched property details by id/URL, search Buy/Rent by location, coordinates or URL, off-plan New Projects, a full agents + companies (brokerages) suite, and location autocomplete.

- **URL**: https://apify.com/one-api/propertyfinder-scraper.md
- **Developed by:** [ONE API](https://apify.com/one-api) (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 $3.00 / 1,000 results

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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 (propertyfinder.ae) Scraper

Scrape **[Property Finder](https://www.propertyfinder.ae)** — the leading real-estate marketplace in the UAE (Dubai, Abu Dhabi, Sharjah and across the Gulf). Pull **Buy / Rent** listings, **off-plan New Projects**, fully-enriched **property details**, and a complete **agents + companies (brokerages)** directory, all as clean tabular rows you can sort, filter and export to CSV / Excel / JSON.

Every row also carries the full upstream JSON in the **`Raw`** column for power users.

---

### What you can scrape

Fill **any subset** of the input sections — each runs in parallel.

#### 🏠 Property Details (one per line)
Auto-detects each entry:
- A **numeric listing id** (e.g. `88748417`) → full property record
- A **propertyfinder.ae listing URL** → full property record
- An **off-plan project slug** `developer/project` (e.g. `emaar-properties/creek-haven`) or a `/new-projects/…` URL → full project record

A property record includes price, beds, baths, size, description, amenities, agent + company, permit / RERA reference, neighbourhood price insights and similar listings. A project record includes developer, payment plan, unit mix, handover date and amenities.

#### 🔎 Search Listings (one per line)
- An **area / community name** (e.g. `Dubai Marina`, `Downtown Dubai`, `Abu Dhabi`) → searches listings there
- A **propertyfinder.ae search URL** → replays that exact search

#### 📍 Search by Coordinates
`latitude,longitude` or `latitude,longitude,radiusKm` (radius in km, default 5) — e.g. `25.078,55.14,3`.

#### 🏗️ New Projects (Off-Plan)
An area name → off-plan / developer projects in that location.

#### 👤 Agents
- Area name → agents active there, or `name:<text>` → agents by name (`/agent/search`)
- Agent **id** → full agent profile **+** the properties that agent lists

#### 🏢 Companies (Agencies / Brokerages)
- Area name → companies active there, or `name:<text>` → companies by name (`/agency/search`)
- Company **id** → full company profile **+** the properties that company lists

#### 🔍 Location Autocomplete
Free text → Property Finder location records (id, name, type, coordinates).

---

### Search filters (apply to every search)

Listing type (Buy / Rent), property type, price range (`min:…,max:…`), area range (sqft), bedrooms, bathrooms, furnishing, completion status (Ready / Off-Plan), rent frequency, amenities, sort order, commercial toggle, verified-only toggle, pages and results-per-page.

---

### Output

One flat row per result. The `Type` column tells you what each row is: `property`, `project`, `agent`, `agency` or `location`. Common columns include Name, Property Type, Deal, Price, Beds, Baths, Size, Location, Agent, Company, Phone, Rating, Reviews, Cover Photo (thumbnail), Listing URL and the complete `Raw` JSON.

---

### Notes

- Coverage is the UAE (prices in **AED**, areas in **sqft**).
- “Sold” is not a Property Finder listing status (UAE sold transactions are a separate DLD dataset) — use **For Sale** / **For Rent**.
- This actor is a friendly wrapper over a hosted Property Finder API; you don't need any Property Finder account or key.

# Actor input Schema

## `property_inputs` (type: `array`):

Auto-detects each entry and calls the right endpoint:
• A numeric listing id (e.g. `88748417`) → `/details/byid`
• A `https://www.propertyfinder.ae/...` listing URL → `/details/byurl`
• An off-plan project slug `developer/project` (e.g. `emaar-properties/creek-haven`) or a `/new-projects/...` URL → `/details/project`

Each property row = one fully-enriched record (price, beds, baths, size, description, amenities, agent + company, permit/RERA, similar listings). Each project row = developer, payment plan, unit mix, handover date, amenities.
## `search_inputs` (type: `array`):

Auto-detects each entry and routes to the right `/search/*` endpoint:
• A propertyfinder.ae results URL (e.g. `https://www.propertyfinder.ae/en/search?c=1&l=50&t=1`) → `/search/byurl`
• Anything else (an area / community name, e.g. `Dubai Marina`, `Downtown Dubai`, `Abu Dhabi`) → `/search/bylocation`

The Search Filters below apply to every location search. Each hit returns one row per property listing.
## `coordinate_inputs` (type: `array`):

Radius search around a point via `/search/bycoordinates`. One point per line as `latitude,longitude` or `latitude,longitude,radiusKm` (radius in kilometres, default 5). Example: `25.078,55.14,3` searches 3 km around Dubai Marina. The Search Filters below also apply. One row per listing.
## `newproject_inputs` (type: `array`):

Search off-plan / developer projects in an area via `/search/newprojects` (Property Finder models these as a distinct category, separate from Buy/Rent). One area per line (e.g. `Dubai`, `Dubai Marina`, `Abu Dhabi`). Each row = one project (developer, starting price, bedrooms range, delivery date). Use a project's slug in the Property Details section to fetch its full record.
## `agent_search_inputs` (type: `array`):

Search individual real-estate agents (brokers) via `/agent/search`. Per line:
• An area / community name (e.g. `Dubai Marina`) → agents active in that location
• `name:<text>` (e.g. `name:Brooke`) → agents whose name matches the text

Each row = one agent (name, rating, review count, total properties, verified flag, photo).
## `agent_id_inputs` (type: `array`):

For each numeric agent id (e.g. `257163`) the actor fetches `/agent/details` (full profile: rating, reviews, contact phone/WhatsApp, claimed transactions) PLUS `/agent/listings` (the properties that agent currently lists, as property rows). Get ids from the Agent search above.
## `agency_search_inputs` (type: `array`):

Search companies / brokerages via `/agency/search`. Per line:
• An area / community name (e.g. `Dubai`) → companies active there
• `name:<text>` (e.g. `name:Elite`) → companies whose name matches

Each row = one company (name, phone, total agents, total properties, verified flag, logo).
## `agency_id_inputs` (type: `array`):

For each numeric company id (e.g. `4302`) the actor fetches `/agency/details` (full profile: license, agent count, property count, contact) PLUS `/agency/listings` (the properties that company currently lists, as property rows). Get ids from the Company search above.
## `autocomplete_inputs` (type: `array`):

Resolve a free-text place (city / community / tower) to the Property Finder location records used by Search, via `/autocomplete`. Each suggestion = one row (id, name, full name, type, slug, coordinates).
## `searchType` (type: `string`):

Buy or Rent. Applies to location/coordinate searches and to agent/company listings. (Off-plan projects use the dedicated New Projects section above.)
## `propertyType` (type: `string`):

Limit results to a property type. Leave as Any for all types. Applies to every search and to agent/company listings.
## `priceRange` (type: `string`):

Format: `min:1000000,max:5000000` — or just `min:1000000` / `max:5000000`. For rent, this is the price for the selected rent frequency.
## `areaRange` (type: `string`):

Built-up area in square feet, e.g. `min:800,max:2000` (or just one half).
## `bedrooms` (type: `string`):

Comma-separated bedroom counts to include, e.g. `1,2,3`. Use `0` (or `Studio`) for studios; `7` matches 7+.
## `bathrooms` (type: `string`):

Comma-separated bathroom counts to include, e.g. `2,3`.
## `furnishing` (type: `string`):

Filter by furnishing. Leave as Any for no filter.
## `completionStatus` (type: `string`):

Ready (completed) vs Off-Plan (under construction). Leave as Any for both.
## `rentFrequency` (type: `string`):

Only used for Rent searches; silently ignored for Buy. Sets the rent price period.
## `amenities` (type: `string`):

Comma-separated amenity names, e.g. `Balcony, Shared Pool, Covered Parking`. Supported: Central A/C, Maids Room, Balcony, Shared Pool, Shared Spa, Shared Gym, Concierge, Covered Parking, Water View, Landmark View, Pets Allowed, Study, Private Garden, Private Pool, Private Gym, Jacuzzi, Built-in Wardrobes, Walk-in Closet, Kitchen Appliances, Maid Service, Children's Play Area, Children's Pool, BBQ Area.
## `sortOrder` (type: `string`):

Result ordering for location/coordinate searches and listings.
## `commercial` (type: `boolean`):

Search commercial property (offices, shops, warehouses) instead of residential.
## `isVerified` (type: `boolean`):

Only return Property Finder TruCheck™-verified listings.
## `pages` (type: `integer`):

How many result pages to fetch for each location / coordinate / project / listings search (stops early when there are no more results).
## `resultCount` (type: `integer`):

Listings per page for every search (1–50).

## Actor input object example

```json
{
  "property_inputs": [
    "88748417",
    "https://www.propertyfinder.ae/en/plp/buy/apartment-for-sale-dubai-dubai-marina-princess-tower-96951153.html",
    "emaar-properties/creek-haven"
  ],
  "search_inputs": [
    "Dubai Marina"
  ],
  "coordinate_inputs": [
    "25.078,55.14,3"
  ],
  "newproject_inputs": [
    "Dubai"
  ],
  "agent_search_inputs": [
    "Dubai Marina"
  ],
  "agent_id_inputs": [
    "257163"
  ],
  "agency_search_inputs": [
    "Dubai"
  ],
  "agency_id_inputs": [
    "4302"
  ],
  "autocomplete_inputs": [
    "dubai marina"
  ],
  "searchType": "For_Sale",
  "propertyType": "",
  "priceRange": "",
  "areaRange": "",
  "bedrooms": "",
  "bathrooms": "",
  "furnishing": "All",
  "completionStatus": "Any",
  "rentFrequency": "Yearly",
  "amenities": "",
  "sortOrder": "Featured",
  "commercial": false,
  "isVerified": false,
  "pages": 1,
  "resultCount": 25
}
````

# 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 = {
    "property_inputs": [
        "88748417",
        "https://www.propertyfinder.ae/en/plp/buy/apartment-for-sale-dubai-dubai-marina-princess-tower-96951153.html",
        "emaar-properties/creek-haven"
    ],
    "search_inputs": [
        "Dubai Marina"
    ],
    "coordinate_inputs": [
        "25.078,55.14,3"
    ],
    "newproject_inputs": [
        "Dubai"
    ],
    "agent_search_inputs": [
        "Dubai Marina"
    ],
    "agent_id_inputs": [
        "257163"
    ],
    "agency_search_inputs": [
        "Dubai"
    ],
    "agency_id_inputs": [
        "4302"
    ],
    "autocomplete_inputs": [
        "dubai marina"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("one-api/propertyfinder-scraper").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 = {
    "property_inputs": [
        "88748417",
        "https://www.propertyfinder.ae/en/plp/buy/apartment-for-sale-dubai-dubai-marina-princess-tower-96951153.html",
        "emaar-properties/creek-haven",
    ],
    "search_inputs": ["Dubai Marina"],
    "coordinate_inputs": ["25.078,55.14,3"],
    "newproject_inputs": ["Dubai"],
    "agent_search_inputs": ["Dubai Marina"],
    "agent_id_inputs": ["257163"],
    "agency_search_inputs": ["Dubai"],
    "agency_id_inputs": ["4302"],
    "autocomplete_inputs": ["dubai marina"],
}

# Run the Actor and wait for it to finish
run = client.actor("one-api/propertyfinder-scraper").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 '{
  "property_inputs": [
    "88748417",
    "https://www.propertyfinder.ae/en/plp/buy/apartment-for-sale-dubai-dubai-marina-princess-tower-96951153.html",
    "emaar-properties/creek-haven"
  ],
  "search_inputs": [
    "Dubai Marina"
  ],
  "coordinate_inputs": [
    "25.078,55.14,3"
  ],
  "newproject_inputs": [
    "Dubai"
  ],
  "agent_search_inputs": [
    "Dubai Marina"
  ],
  "agent_id_inputs": [
    "257163"
  ],
  "agency_search_inputs": [
    "Dubai"
  ],
  "agency_id_inputs": [
    "4302"
  ],
  "autocomplete_inputs": [
    "dubai marina"
  ]
}' |
apify call one-api/propertyfinder-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Property Finder (propertyfinder.ae) Scraper",
        "description": "Scrape Property Finder (propertyfinder.ae), the leading UAE property marketplace. Enriched property details by id/URL, search Buy/Rent by location, coordinates or URL, off-plan New Projects, a full agents + companies (brokerages) suite, and location autocomplete.",
        "version": "1.0",
        "x-build-id": "8vRSmxystFhWqKufw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/one-api~propertyfinder-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-one-api-propertyfinder-scraper",
                "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/one-api~propertyfinder-scraper/runs": {
            "post": {
                "operationId": "runs-sync-one-api-propertyfinder-scraper",
                "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/one-api~propertyfinder-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-one-api-propertyfinder-scraper",
                "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": {
                    "property_inputs": {
                        "title": "Property id, URL, or project slug (one per line)",
                        "type": "array",
                        "description": "Auto-detects each entry and calls the right endpoint:\n• A numeric listing id (e.g. `88748417`) → `/details/byid`\n• A `https://www.propertyfinder.ae/...` listing URL → `/details/byurl`\n• An off-plan project slug `developer/project` (e.g. `emaar-properties/creek-haven`) or a `/new-projects/...` URL → `/details/project`\n\nEach property row = one fully-enriched record (price, beds, baths, size, description, amenities, agent + company, permit/RERA, similar listings). Each project row = developer, payment plan, unit mix, handover date, amenities.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "search_inputs": {
                        "title": "Location or propertyfinder.ae search URL (one per line)",
                        "type": "array",
                        "description": "Auto-detects each entry and routes to the right `/search/*` endpoint:\n• A propertyfinder.ae results URL (e.g. `https://www.propertyfinder.ae/en/search?c=1&l=50&t=1`) → `/search/byurl`\n• Anything else (an area / community name, e.g. `Dubai Marina`, `Downtown Dubai`, `Abu Dhabi`) → `/search/bylocation`\n\nThe Search Filters below apply to every location search. Each hit returns one row per property listing.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "coordinate_inputs": {
                        "title": "Coordinates: lat,lon or lat,lon,radiusKm (one per line)",
                        "type": "array",
                        "description": "Radius search around a point via `/search/bycoordinates`. One point per line as `latitude,longitude` or `latitude,longitude,radiusKm` (radius in kilometres, default 5). Example: `25.078,55.14,3` searches 3 km around Dubai Marina. The Search Filters below also apply. One row per listing.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "newproject_inputs": {
                        "title": "Location for off-plan New Projects (one per line)",
                        "type": "array",
                        "description": "Search off-plan / developer projects in an area via `/search/newprojects` (Property Finder models these as a distinct category, separate from Buy/Rent). One area per line (e.g. `Dubai`, `Dubai Marina`, `Abu Dhabi`). Each row = one project (developer, starting price, bedrooms range, delivery date). Use a project's slug in the Property Details section to fetch its full record.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "agent_search_inputs": {
                        "title": "Agent search: area name or `name:<text>` (one per line)",
                        "type": "array",
                        "description": "Search individual real-estate agents (brokers) via `/agent/search`. Per line:\n• An area / community name (e.g. `Dubai Marina`) → agents active in that location\n• `name:<text>` (e.g. `name:Brooke`) → agents whose name matches the text\n\nEach row = one agent (name, rating, review count, total properties, verified flag, photo).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "agent_id_inputs": {
                        "title": "Agent id (one per line)",
                        "type": "array",
                        "description": "For each numeric agent id (e.g. `257163`) the actor fetches `/agent/details` (full profile: rating, reviews, contact phone/WhatsApp, claimed transactions) PLUS `/agent/listings` (the properties that agent currently lists, as property rows). Get ids from the Agent search above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "agency_search_inputs": {
                        "title": "Company search: area name or `name:<text>` (one per line)",
                        "type": "array",
                        "description": "Search companies / brokerages via `/agency/search`. Per line:\n• An area / community name (e.g. `Dubai`) → companies active there\n• `name:<text>` (e.g. `name:Elite`) → companies whose name matches\n\nEach row = one company (name, phone, total agents, total properties, verified flag, logo).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "agency_id_inputs": {
                        "title": "Company id (one per line)",
                        "type": "array",
                        "description": "For each numeric company id (e.g. `4302`) the actor fetches `/agency/details` (full profile: license, agent count, property count, contact) PLUS `/agency/listings` (the properties that company currently lists, as property rows). Get ids from the Company search above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "autocomplete_inputs": {
                        "title": "Location text to resolve (one per line)",
                        "type": "array",
                        "description": "Resolve a free-text place (city / community / tower) to the Property Finder location records used by Search, via `/autocomplete`. Each suggestion = one row (id, name, full name, type, slug, coordinates).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchType": {
                        "title": "Listing type",
                        "enum": [
                            "For_Sale",
                            "For_Rent"
                        ],
                        "type": "string",
                        "description": "Buy or Rent. Applies to location/coordinate searches and to agent/company listings. (Off-plan projects use the dedicated New Projects section above.)",
                        "default": "For_Sale"
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "",
                            "Apartment",
                            "Villa",
                            "Townhouse",
                            "Penthouse",
                            "Compound",
                            "Duplex",
                            "Full Floor",
                            "Half Floor",
                            "Whole Building",
                            "Land",
                            "Bulk Sale Unit",
                            "Bungalow",
                            "Hotel Apartment"
                        ],
                        "type": "string",
                        "description": "Limit results to a property type. Leave as Any for all types. Applies to every search and to agent/company listings.",
                        "default": ""
                    },
                    "priceRange": {
                        "title": "Price range (AED)",
                        "type": "string",
                        "description": "Format: `min:1000000,max:5000000` — or just `min:1000000` / `max:5000000`. For rent, this is the price for the selected rent frequency.",
                        "default": ""
                    },
                    "areaRange": {
                        "title": "Area range (sqft)",
                        "type": "string",
                        "description": "Built-up area in square feet, e.g. `min:800,max:2000` (or just one half).",
                        "default": ""
                    },
                    "bedrooms": {
                        "title": "Bedrooms",
                        "type": "string",
                        "description": "Comma-separated bedroom counts to include, e.g. `1,2,3`. Use `0` (or `Studio`) for studios; `7` matches 7+.",
                        "default": ""
                    },
                    "bathrooms": {
                        "title": "Bathrooms",
                        "type": "string",
                        "description": "Comma-separated bathroom counts to include, e.g. `2,3`.",
                        "default": ""
                    },
                    "furnishing": {
                        "title": "Furnishing",
                        "enum": [
                            "All",
                            "Furnished",
                            "Unfurnished",
                            "Partly"
                        ],
                        "type": "string",
                        "description": "Filter by furnishing. Leave as Any for no filter.",
                        "default": "All"
                    },
                    "completionStatus": {
                        "title": "Completion status",
                        "enum": [
                            "Any",
                            "Ready",
                            "Off_Plan"
                        ],
                        "type": "string",
                        "description": "Ready (completed) vs Off-Plan (under construction). Leave as Any for both.",
                        "default": "Any"
                    },
                    "rentFrequency": {
                        "title": "Rent frequency",
                        "enum": [
                            "Yearly",
                            "Monthly",
                            "Weekly",
                            "Daily"
                        ],
                        "type": "string",
                        "description": "Only used for Rent searches; silently ignored for Buy. Sets the rent price period.",
                        "default": "Yearly"
                    },
                    "amenities": {
                        "title": "Amenities",
                        "type": "string",
                        "description": "Comma-separated amenity names, e.g. `Balcony, Shared Pool, Covered Parking`. Supported: Central A/C, Maids Room, Balcony, Shared Pool, Shared Spa, Shared Gym, Concierge, Covered Parking, Water View, Landmark View, Pets Allowed, Study, Private Garden, Private Pool, Private Gym, Jacuzzi, Built-in Wardrobes, Walk-in Closet, Kitchen Appliances, Maid Service, Children's Play Area, Children's Pool, BBQ Area.",
                        "default": ""
                    },
                    "sortOrder": {
                        "title": "Sort order",
                        "enum": [
                            "Featured",
                            "Newest",
                            "Price_Low_to_High",
                            "Price_High_to_Low",
                            "Beds_Most",
                            "Delivery_Earliest",
                            "Distance"
                        ],
                        "type": "string",
                        "description": "Result ordering for location/coordinate searches and listings.",
                        "default": "Featured"
                    },
                    "commercial": {
                        "title": "Commercial listings",
                        "type": "boolean",
                        "description": "Search commercial property (offices, shops, warehouses) instead of residential.",
                        "default": false
                    },
                    "isVerified": {
                        "title": "Verified listings only",
                        "type": "boolean",
                        "description": "Only return Property Finder TruCheck™-verified listings.",
                        "default": false
                    },
                    "pages": {
                        "title": "Pages per search",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many result pages to fetch for each location / coordinate / project / listings search (stops early when there are no more results).",
                        "default": 1
                    },
                    "resultCount": {
                        "title": "Results per page",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Listings per page for every search (1–50).",
                        "default": 25
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
