# Dubizzle Scraper - UAE Property, Cars & Agents (`parsebird/dubizzle-scraper`) Actor

Scrape dubizzle UAE property and used car listings plus agent profiles: price, size, location, photos, agent and agency contacts, RERA permits and full car specs. Search URLs, listing links, short links and agent pages.

- **URL**: https://apify.com/parsebird/dubizzle-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 3 total users, 3 monthly users, 88.9% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.79 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### Dubizzle Scraper - UAE Property, Cars & Agents

Scrape property listings, used cars and real estate agents from [dubizzle UAE](https://uae.dubizzle.com) by pasting any dubizzle search URL.

<table><tr>
<td style="border-left:4px solid #E00000;padding:12px 16px;font-weight:600">
Paste a dubizzle search with any filters (emirate, area, price, bedrooms, make, model, trim, year, kilometers, keyword, sort order) and get every listing with agent phone and email, agency licence, RERA and DLD permit data, photos, coordinates and full car specs.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Use the Apify actor "parsebird/dubizzle-scraper" via the ApifyClient. Example (Python): from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/dubizzle-scraper").call(run_input={"startUrls": [{"url": "https://dubai.dubizzle.com/property-for-rent/residential/"}], "maxItems": 100}); items = list(client.dataset(run["defaultDatasetId"]).iterate_items()). Inputs: startUrls (array of {url}, required; dubizzle UAE property search, motors search, listing page, dubizzle.com/s/ short link, /property/details-ID link, agent search page /property-agents/, or agent profile), maxItems (integer, default 100, total across all URLs), searchResultsOnly (boolean, default false; true skips full listing details: no phone, email, agency or RERA data), monitoringMode (boolean, default false; skip results saved by earlier runs), maxConcurrency (integer 1-10, default 5), proxyConfiguration (default Apify Proxy). Property listings go to the default dataset, car listings to the dataset named "cars", agent profiles to the dataset named "agents"; the run's key-value store record DATASETS maps "properties"/"cars"/"agents" to dataset IDs. Property fields: listing_id, name.en/ar, price, bedrooms, bathrooms, size, agent_name, phone_number, email, agency (name, email, rera_registration_no, ded_licence_no), rera_details, property_info, amenities, photos, coordinates, location_path, description, posted_on, absolute_url, short_url, dubailand_listing_validation_url, basicInfo (search card data). Car fields: listing (name, price, details.primary/secondary specs, location, photos_combined, posted_timestamp), lister (dealer or seller name, active listings), ad_ops (make, model, year, fuel, price_aed), basicInfo. Agent fields: name, agency_name, mobile_number, whatsapp_number, email, brn, experience, languages, service_areas, specialities, bio, basicInfo (listing_count, verified_listing_count). Full API reference: https://apify.com/parsebird/dubizzle-scraper/api. Get an API token at https://console.apify.com/account/integrations.
```

### What is Dubizzle Scraper?

**Dubizzle Scraper** extracts listings from [dubizzle.com](https://uae.dubizzle.com), the UAE's largest classifieds site, and returns them as clean JSON, CSV or Excel rows. It covers **property for sale and for rent**, **used cars** and the **real estate agent directory** across all seven emirates. It works as a **dubizzle API alternative**: no account, login or coding needed.

The easiest way to try it: open dubizzle in your browser, set up a search with the filters you want, copy the URL, paste it into **Start URLs** and click **Start**.

### What can Dubizzle Scraper do?

- 🏠 **Property search pages**: property for sale and for rent, residential, commercial, land and rooms, in Dubai, Abu Dhabi, Sharjah, Ajman, Ras Al Khaimah, Fujairah, Umm Al Quwain, Al Ain or UAE-wide (uae.dubizzle.com)
- 🚗 **Motors search pages**: used cars by make, model and trim (for example `/motors/used-cars/toyota/land-cruiser/s/trim/gxr/`) with year, kilometers and price filters
- 👤 **Agent directory and agent profiles**: the `/property-agents/` search (with filters like `completion_status=off_plan`) and single agent profile pages
- 🔗 **Single links**: listing pages, `dubizzle.com/s/...` short links and older `/property/details-<id>` links
- 📇 **Full listing details**: agent phone and email, agency licence numbers, RERA permit and DLD validation link, amenities, property age, furnishing and the full English and Arabic description
- 🔁 **New listings only**: monitoring mode skips listings saved by earlier runs, so scheduled runs return only what is new
- ⚙️ **Runs on Apify**: [schedule](https://docs.apify.com/platform/schedules) daily or hourly runs, call it through the [Apify API](https://docs.apify.com/api/v2), connect it to [Make, Zapier, Google Sheets and other integrations](https://apify.com/integrations), and export results as JSON, CSV, Excel, XML or HTML

All filters come from the URL you paste, so anything you can set up on dubizzle (area, price range, bedrooms, furnishing, make, model, trim, year, kilometers, keyword, sort order) works without extra settings. Bounds written as `price__max` / `price__min` are converted to the `price__lte` / `price__gte` form dubizzle applies, and the `sort=` parameter (for example `date_desc`, `price_asc`, `kilometers_asc`) is respected.

### What data can you extract from dubizzle?

**Property listings** (default dataset)

| Field | Description |
|-------|-------------|
| `listing_id`, `external_id`, `uuid` | dubizzle listing identifiers |
| `name.en`, `name.ar` | Listing title in English and Arabic |
| `price`, `payment_frequency`, `rent_is_paid` | Price in AED and rent payment frequency |
| `bedrooms`, `bathrooms`, `size`, `plot_area` | Rooms and size in sqft |
| `agent_name`, `phone_number`, `email` | Listing agent and contact details |
| `agency` | Agency name, email, logo, address, RERA registration number and DED licence number |
| `rera_details` | Permit number, BRN, zone name, registered agency and other regulator fields shown on the listing |
| `dubailand_listing_validation_url` | Dubai Land Department listing validation link, when the listing has one |
| `property_info`, `amenities`, `completion_status` | Type, purpose, property age, furnishing, amenities and ready or off-plan status |
| `coordinates`, `location_path`, `building` | Latitude and longitude plus the full location hierarchy |
| `photos`, `video_url`, `tour_url` | Photo URLs and video or virtual tour links |
| `description` | Full description in English and Arabic |
| `posted_on`, `verified_at`, `verification_state` | Posting time (Unix seconds) and verification status |
| `absolute_url`, `short_url` | Listing URLs |
| `basicInfo` | The search result card data (neighborhoods, photo count, furnishing flag and more) |

**Car listings** (dataset `cars`)

| Field | Description |
|-------|-------------|
| `listing.listing_id`, `listing.name`, `listing.price` | Listing ID, title and price (raw, formatted, currency) |
| `listing.details.primary`, `listing.details.secondary` | Trim, colours, horsepower, doors, body type, fuel, year, kilometers, cylinders, transmission, regional specs, engine capacity, warranty, steering side, features |
| `listing.location`, `listing.photos_combined`, `listing.description` | Location name and coordinates, photos and description |
| `listing.posted_timestamp`, `listing.expired_timestamp` | Posting and expiry time (Unix seconds) |
| `lister` | Seller or dealer name, logo, dealer flag, active listings count, join date |
| `ad_ops` | Make, model, year, fuel, seats, price in AED and price band |

**Agent profiles** (dataset `agents`)

| Field | Description |
|-------|-------------|
| `name`, `agency_name`, `agent_profile_url` | Agent and agency |
| `mobile_number`, `whatsapp_number`, `email` | Contact details shown on the profile |
| `brn`, `license_numbers`, `experience` | Broker registration number and years of experience |
| `languages`, `service_areas`, `specialities`, `bio` | Profile details in English and Arabic |
| `basicInfo.listing_count`, `basicInfo.verified_listing_count` | Listing counts from the agent search |

### How to scrape dubizzle

1. Open [dubizzle](https://uae.dubizzle.com) in your browser and set up the search you want, for example apartments for rent in Dubai Marina under AED 120,000.
2. Copy the URL from the address bar.
3. Open [Dubizzle Scraper](https://apify.com/parsebird/dubizzle-scraper) on Apify and paste the URL into **Start URLs**. Add as many URLs as you like.
4. Set **Max results** to the number of listings you need.
5. Click **Start**. Results appear in the **Output** tab while the run is going.
6. Download the data as JSON, CSV or Excel, or read it through the API.

To get only new listings every day, turn on **Scrape new listings only** and add a [schedule](https://docs.apify.com/platform/schedules) to the Actor.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | array | **Yes** | — | dubizzle UAE links: property or motors search pages, listing pages, short links, `/property/details-<id>` links, the agent search page or agent profiles |
| `maxItems` | integer | No | 100 | Maximum listings and agent profiles in total, across all URLs |
| `searchResultsOnly` | boolean | No | false | Save search card data only and skip each listing's full page (no phone, email, agency or RERA data). Cheaper and faster |
| `monitoringMode` | boolean | No | false | Skip listings and agents saved by earlier runs of this Actor in your account. Skipped results are not charged |
| `maxConcurrency` | integer | No | 5 | How many listing pages to load at the same time (1–10) |
| `proxyConfiguration` | object | No | Apify Proxy | Proxy settings. dubizzle blocks busy IP addresses, so keep Apify Proxy on |

Example input:

```json
{
    "startUrls": [
        { "url": "https://dubai.dubizzle.com/property-for-rent/residential/" },
        { "url": "https://sharjah.dubizzle.com/en/property-for-rent/residential/villahouse/?neighborhood=60202&neighborhood=60195" },
        { "url": "https://uae.dubizzle.com/property-for-sale/residential/townhouse/?price__lte=1700000&bedrooms=3" },
        { "url": "https://dubai.dubizzle.com/motors/used-cars/toyota/land-cruiser/s/trim/gxr/" },
        { "url": "https://dubai.dubizzle.com/property-agents/?completion_status=off_plan" },
        { "url": "https://dubizzle.com/s/DaBOKmV" }
    ],
    "maxItems": 200,
    "searchResultsOnly": false,
    "monitoringMode": false
}
```

### Output example

Property listing (shortened; contact details masked here, full in your results):

```json
{
    "listing_id": 18096613,
    "name": { "en": "Skyline View | Near Metro | Rented| Laundry room", "ar": "Skyline View | Near Metro | Rented| Laundry room" },
    "price": 2100000,
    "bedrooms": 2,
    "bathrooms": 2,
    "size": 1262,
    "agent_name": "Ibrahim Khalil",
    "phone_number": "+97158853xxxx",
    "email": "i…@raywhite.com",
    "agency": {
        "name": "Ray White International Real Estate",
        "rera_registration_no": "13264",
        "ded_licence_no": "710224",
        "address": { "en": "Ras Al Khaimah", "ar": "رأس الخيمة" }
    },
    "property_reference": "RWIN-S-1130",
    "completion_status": "completed",
    "coordinates": { "lat": 25.025841067002744, "lng": 55.157329869384085 },
    "location_path": [
        { "id": 3, "name": { "en": "UAE" } },
        { "id": 199, "name": { "en": "Dubai" } },
        { "id": 191, "name": { "en": "Al Furjan" } }
    ],
    "amenities": [
        { "id": 619, "name": { "en": "Central A/C & Heating" } },
        { "id": 620, "name": { "en": "Balcony" } }
    ],
    "posted_on": "1790946700",
    "short_url": "https://dubizzle.com/s/DaBNvkr",
    "absolute_url": { "en": "https://dubai.dubizzle.com/property-for-sale/residential/apartment/2026/10/2/skyline-view-close-to-metro-rented-2-274495/" },
    "basicInfo": { "id": 18096613, "photos_count": 11, "furnished": false }
}
```

Car listing (dataset `cars`, shortened):

```json
{
    "listing": {
        "listing_id": 100582936,
        "name": "**Special offer** LAND CRUISER 5 DR P 4.0L AT GXR RA",
        "price": { "raw": "275900.00", "formatted": "275,900", "currency": "AED" },
        "location": { "name": "Al Quoz 3, Al Quoz, Dubai, UAE", "coordinates": { "lat": "25.16801661", "lng": "55.23950486" } },
        "details": {
            "primary": [
                { "label": "Trim", "value": "GXR", "slug": "motors_trim" },
                { "label": "Exterior Color", "value": "Silver", "slug": "exterior_color" }
            ],
            "secondary": [
                { "label": "Year", "value": "2026", "slug": "year" },
                { "label": "Kilometers", "value": "13554", "slug": "kilometers" },
                { "label": "Regional Specs", "value": "GCC Specs", "slug": "regional_specs" }
            ]
        },
        "short_url": "https://dubizzle.com/s/DOGoCN0",
        "posted_timestamp": 1791891504
    },
    "lister": { "name": "AL FUTTAIM MOTORS COMPANY (L.L.C)", "is_agent": true, "active_listings_count": 59 },
    "ad_ops": { "make": "Toyota", "model": "Land Cruiser", "year": "2026", "fuel": "Petrol", "price_band_aed": "275K-305K" }
}
```

Agent profile (dataset `agents`, shortened):

```json
{
    "id": 194536,
    "name": { "en": "Ahmed Ibrahim" },
    "agency_name": "A I M Capital Real Estate",
    "brn": "64547",
    "experience": 5,
    "mobile_number": "+97154755xxxx",
    "languages": [{ "en": "English" }, { "en": "Arabic" }],
    "service_areas": [{ "en": "Dubai" }, { "en": "Sharjah" }, { "en": "Ras Al Khaimah" }],
    "specialities": [{ "en": "Residential Sales" }, { "en": "Off-Plan Sales" }],
    "agent_profile_url": "https://uae.dubizzle.com/property-agents/ahmed-ibrahim-194536/",
    "basicInfo": { "listing_count": 472, "verified_listing_count": 469 }
}
```

You can download the dataset in JSON, CSV, Excel, XML, HTML or RSS from the **Output** or **Storage** tab.

### Use cases

- **Real estate market research**: track asking prices, rents and supply by community, building or bedroom count across the UAE
- **Lead generation for brokers and service providers**: build lists of active agents and agencies with their BRN, phone and email
- **Investment analysis**: compare sale prices with rents in the same area and watch new off-plan and ready listings
- **Car price monitoring**: follow used car prices by make, model, trim, year and mileage for dealers, importers and buyers
- **Competitor tracking**: monitor an agency's or dealer's listings and new stock every day with monitoring mode and a schedule

### How it works

1. For each search URL, the Actor reads the search exactly as dubizzle applies it to that URL (filters, keyword and sort order).
2. It pages through every result, up to your **Max results** limit.
3. For each listing it loads the full listing data (contacts, agency, permits, specs) unless **Scrape search results only** is on.
4. Property listings are saved to the default dataset, car listings to the `cars` dataset and agent profiles to the `agents` dataset, in the order dubizzle shows them.
5. Duplicate listings (for example the same listing reached through a short link and a search) are saved once.

### How much does it cost to scrape dubizzle?

Dubizzle Scraper uses pay-per-event pricing. Apify platform usage and proxy traffic are included in the event prices.

| Event | When it is charged | Free plan | Bronze | Silver and Gold |
|-------|--------------------|-----------|--------|-----------------|
| `listing` | Each property listing, car listing or agent profile saved | $0.99 / 1,000 | $0.89 / 1,000 | $0.79 / 1,000 |
| `additional-data` | Each result saved with full details from its listing or profile page | $0.99 / 1,000 | $0.89 / 1,000 | $0.79 / 1,000 |

On the Free plan, 1,000 property listings with full details (phone, email, agency, RERA data) cost **$1.98**. With **Scrape search results only** turned on, the same 1,000 listings cost **$0.99**. Single listing links and agent profiles always include full details. Listings skipped by monitoring mode are not charged. Set a maximum cost per run in the run options to cap spending.

### Use the dubizzle scraper API in Python and JavaScript

Python:

```python
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("parsebird/dubizzle-scraper").call(run_input={
    "startUrls": [{"url": "https://dubai.dubizzle.com/property-for-sale/residential/apartmentflat/"}],
    "maxItems": 200,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["listing_id"], item["price"], item.get("phone_number"))
```

JavaScript:

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('parsebird/dubizzle-scraper').call({
    startUrls: [{ url: 'https://dubai.dubizzle.com/motors/used-cars/toyota/' }],
    maxItems: 200,
});
// The run's DATASETS record maps each record type to its dataset ID
const { value: datasets } = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('DATASETS');
const { items } = await client.dataset(datasets.cars).listItems();
console.log(items.length, items[0]?.listing?.name);
```

Property listings are in the run's default dataset. Car listings and agent profiles are in separate datasets, and the run's key-value store has a `DATASETS` record with their IDs, for example `{"properties": "...", "cars": "...", "agents": "..."}`. In Apify Console you can open all of them from the run's **Storage** tab. See the [API tab](https://apify.com/parsebird/dubizzle-scraper/api) and the [Apify API docs](https://docs.apify.com/api/v2) for all endpoints.

### Is it legal to scrape dubizzle?

Dubizzle Scraper collects only data that dubizzle shows publicly to any visitor, without logging in. Listings and agent profiles can contain personal data such as names, phone numbers and emails, which is protected by laws like the UAE Personal Data Protection Law and the GDPR. Only collect personal data when you have a legitimate reason, and check dubizzle's terms of use for your use case. If you are unsure, ask a lawyer. Read more in Apify's post on [whether web scraping is legal](https://blog.apify.com/is-web-scraping-legal/).

### Other real estate and classifieds scrapers

- [Bayut Scraper](https://apify.com/parsebird/bayut-scraper): UAE property listings from Bayut.com with agent contacts and permits
- [Propertyfinder Scraper](https://apify.com/parsebird/propertyfinder-scraper): property listings from Propertyfinder across the MENA region
- [OpenSooq Scraper](https://apify.com/parsebird/opensooq-scraper): classifieds data from OpenSooq in the Middle East and North Africa
- [GulfTalent Jobs Scraper](https://apify.com/parsebird/gulftalent-jobs-scraper): job listings from GulfTalent across the Gulf

### FAQ

**Which dubizzle URLs can I use?**
Any dubizzle UAE property or motors search page, single listing pages, `dubizzle.com/s/...` short links, older `dubizzle.com/property/details-<id>` links, the agent search page `https://dubai.dubizzle.com/property-agents/` (with or without filters) and agent profile pages. All emirate subdomains and `uae.dubizzle.com` work. Arabic URLs (with `/ar/`) work too.

**Does it work with dubizzle Egypt, Lebanon or other countries?**
No. Only dubizzle UAE (`dubizzle.com` and its emirate subdomains) is supported. Other country sites are skipped with a message in the log.

**Do car listings include the seller's phone number?**
No. Car listings include the seller or dealer name, dealer flag and active listings count, but dubizzle does not show car sellers' phone numbers in the listing data. Property listings and agent profiles include phone numbers and emails when the agent published them.

**How many results can I get from one search?**
dubizzle returns at most 80,000 results for a single search. To get more, split the search by emirate, area, price range or bedrooms and add each URL separately.

**Where are my car listings and agent profiles?**
Property listings go to the run's default dataset. Car listings go to the dataset named `cars`, and agent profiles to the dataset named `agents`. Open the run's **Storage** tab in Apify Console to see all three; through the API, read the `DATASETS` record in the run's key-value store for their IDs. Keeping them apart gives each record type its own clean table.

**Why do some results have no `phone_number`?**
Some agents do not publish a phone number on a listing, and dubizzle does not show one in that case. If a listing's full page cannot be loaded (for example it was removed during the run), the search card data is saved instead and only the `listing` event is charged.

**A link I added returned nothing. Why?**
The log explains each skipped link. Common reasons: the listing or agent profile was removed, a short link has expired (it now leads to the dubizzle home page), or the page no longer exists on dubizzle.

**How does monitoring mode work?**
With **Scrape new listings only** on, the Actor remembers every listing and agent it saves, in a key-value store named `dubizzle-scraper-monitoring` in your account. Later runs skip anything already in that store. Delete the store to start fresh.

**Can I schedule runs and send results to other tools?**
Yes. Use [Apify schedules](https://docs.apify.com/platform/schedules) for daily or hourly runs, and [integrations](https://apify.com/integrations) or webhooks to send results to Google Sheets, Slack, Make, Zapier or your own API.

**Something is not working. What should I do?**
Open an issue in the [Issues tab](https://apify.com/parsebird/dubizzle-scraper/issues) with the run link and the URL you used, and we will look into it.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/dubizzle-scraper/changelog.md

# Actor input Schema

## `startUrls` (type: `array`):

Paste dubizzle UAE links: property or motors search pages (with filters), single listing pages, short links like https://dubizzle.com/s/..., the agent search page (https://dubai.dubizzle.com/property-agents/) or an agent profile. All emirates are supported (dubai., abudhabi., sharjah., ajman., rak., fujairah., uaq., alain. and uae.dubizzle.com).

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

Stop after this many listings and agent profiles in total, across all start URLs.

## `searchResultsOnly` (type: `boolean`):

Save the data shown on search result cards and skip loading each listing's full page. Faster and cheaper, but without phone numbers, emails, agency details, RERA permit data or the full description. Has no effect on single listing or agent profile links.

## `monitoringMode` (type: `boolean`):

Skip listings and agents already saved by an earlier run of this Actor in your account, so scheduled runs only return what is new. Skipped results are not charged.

## `maxConcurrency` (type: `integer`):

How many listing pages to load at the same time.

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

Proxy for requests to dubizzle. Apify Proxy is on by default: dubizzle blocks busy IP addresses, and each new session uses a fresh IP.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://dubai.dubizzle.com/property-for-rent/residential/"
    }
  ],
  "maxItems": 20,
  "searchResultsOnly": false,
  "monitoringMode": false,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://dubai.dubizzle.com/property-for-rent/residential/"
        }
    ],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/dubizzle-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 = {
    "startUrls": [{ "url": "https://dubai.dubizzle.com/property-for-rent/residential/" }],
    "maxItems": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/dubizzle-scraper").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 '{
  "startUrls": [
    {
      "url": "https://dubai.dubizzle.com/property-for-rent/residential/"
    }
  ],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parsebird/dubizzle-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/dubizzle-scraper"
        }
    }
}
```

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/xUzqdD9BcTGwzhkp3/builds/xt08vFi5zYGldy9du/openapi.json
