# DubiCars scraper: دوبي كارز سيارات الإمارات (`getascraper/dubicars-scraper`) Actor

Scrape public DubiCars UAE listings and .html vehicle pages into normalized JSON with prices, specs, seller signals, images, and safe change events. Use Apify Datasets, REST API, MCP, or n8n. Skip browser automation and contact harvesting. استخراج بيانات السيارات دوبي كارز. Usage-based pricing.

- **URL**: https://apify.com/getascraper/dubicars-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.30 / 1,000 vehicle records

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

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

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

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

# README

## DubiCars scraper: دوبي كارز سيارات الإمارات

<table width="100%" style="table-layout:fixed;border-collapse:collapse">
<tr>
<td colspan="3" style="padding:14px 18px;background:#FFF7ED;border-top:3px solid #C2410C;border-left:1px solid #FED7AA;border-right:1px solid #FED7AA;border-radius:8px 8px 0 0">
<span style="font-size:16px;font-weight:700;color:#431407">UAE's DubiCars listings, now part of a regional used-car data suite.</span> <span style="font-size:15px;color:#57534E">DubiCars vehicle records sit alongside AutoTrader South Africa and YallaMotor coverage, for teams tracking used-car inventory across South Africa, the UAE, and the Gulf.</span>
</td>
</tr>
<tr>
<td colspan="3" style="padding:10px 14px;background:#C2410C;border-left:1px solid #FED7AA;border-right:1px solid #FED7AA">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">MIDDLE EAST AND AFRICA USED-CAR MARKETPLACES</span>
<span style="color:#FED7AA;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;South Africa, UAE, and wider Middle East used-car listings in one product line</span>
</td>
</tr>
<tr>
<td style="padding:10px 12px;border-left:1px solid #FED7AA;border-bottom:1px solid #FED7AA;vertical-align:top;width:33.333%;background:#FFFFFF;border-radius:0 0 0 8px">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-cb6cBSNcP7QgaNfzZ-QTKTxVKMSF-images_%2842%29.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/autotrader-za-cars-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">AutoTrader&nbsp;SA</a></span><br>
<span style="color:#57534E;font-size:11px">South Africa's largest car marketplace</span>
</td>
<td style="padding:10px 12px;border-right:1px solid #FED7AA;border-bottom:1px solid #FED7AA;vertical-align:top;width:33.333%;background:#FFF7ED">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-fNhrHrILPlfsWbJdt-Wtb1FIPTuf-images_%2838%29.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/dubicars-scraper" style="color:#C2410C;text-decoration:none;font-weight:700;font-size:13px">DubiCars&nbsp;UAE</a></span><br>
<span style="color:#C2410C;font-size:11px;font-weight:700">&#10148; You are here</span>
</td>
<td style="padding:10px 12px;border-right:1px solid #FED7AA;border-bottom:1px solid #FED7AA;vertical-align:top;width:33.333%;background:#FFFFFF;border-radius:0 0 8px 0">
<span style="overflow-wrap:break-word;word-break:break-word"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/jNDbFabbVxMhnQNb4-actor-KyYnxEXfNgAiGsE9u-TLgd6MjZOe-ym-default-logo.png" width="20" height="20" style="vertical-align:middle;border-radius:4px">&nbsp;<a href="https://apify.com/getascraper/yallamotor-cars-scraper" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">YallaMotor&nbsp;Gulf</a></span><br>
<span style="color:#57534E;font-size:11px">UAE and Gulf used-car data</span>
</td>
</tr>
</table>

<table width="100%" style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed;margin:0">
<tbody style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tr style="width:100%">
<td style="width:100%;padding:24px 28px;background:#FFF7ED;border:1px solid #FED7AA;border-top:4px solid #C2410C;border-radius:12px">
<span style="font-size:23px;font-weight:800;line-height:1.3;color:#431407">Turn public DubiCars pages into a clean UAE vehicle data feed.</span><br>
<span style="font-size:15px;line-height:1.6;color:#57534E">Collect focused listing snapshots or monitor selected vehicles for new, updated, and price-changed records.</span>
</td>
</tr>
</tbody>
</table>

<table width="100%" style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed;margin:0">
<tbody style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tr style="width:100%">
<td style="width:25%;padding:14px 12px;background:#FFFFFF;border:1px solid #FED7AA;border-right:none;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#C2410C">🔎 Public page coverage</span><br>
<span style="font-size:12px;color:#57534E">Use category, brand, model, dealer, or direct vehicle pages.</span>
</td>
<td style="width:25%;padding:14px 12px;background:#FFFFFF;border:1px solid #FED7AA;border-right:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#C2410C">💰 Price context</span><br>
<span style="font-size:12px;color:#57534E">Keep current, original, export, currency, and financing values together.</span>
</td>
<td style="width:25%;padding:14px 12px;background:#FFFFFF;border:1px solid #FED7AA;border-right:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#C2410C">🚘 Vehicle detail</span><br>
<span style="font-size:12px;color:#57534E">Capture public specifications, regional data, images, and seller signals.</span>
</td>
<td style="width:25%;padding:14px 12px;background:#FFFFFF;border:1px solid #FED7AA;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#C2410C">🔄 Scoped monitoring</span><br>
<span style="font-size:12px;color:#57534E">Compare repeat runs without treating a partial scan as a removal.</span>
</td>
</tr>
</tbody>
</table>

**Get normalized UAE vehicle listings from public DubiCars pages.** This DubiCars scraper is built for teams working with دوبي كارز inventory: it supports category, brand, model, dealer, and direct vehicle URLs, then returns prices, specs, seller signals, images, and bounded change events. Send results to Apify Datasets, the REST API, MCP, or n8n. It excludes phone, email, WhatsApp, and private contact data.

### 👥 Who should use this Actor?

- **UAE dealers and sourcing teams** who need a repeatable inventory view across selected DubiCars pages.
- **Automotive data aggregators** who need normalized prices, specifications, seller signals, and source timestamps.
- **Market analysts** who want a bounded price and availability snapshot without building a custom parser.

### 🎯 What does the Actor do?

Provide one or more public DubiCars URLs. The Actor identifies category pages and `.html` vehicle pages automatically. It reads source-published page content and returns consistent vehicle records.

Discovery pages return compact inventory records by default. Direct vehicle pages return full public detail when `detailLevel` is `auto` or `full`. Discovery records can also receive bounded detail enrichment.

Use `changesOnly` for recurring checks. A stable `monitorKey` keeps state for the selected sources and filters. The Actor emits `new`, `updated`, and `price_changed` records. It does not emit `removed` records because a bounded page scan cannot prove that a vehicle disappeared from the market.

Blocked pages are reported as failures. They never become a successful empty inventory. Monitoring state advances only after every requested source and enrichment page completes successfully.

### 🧭 How it works

<table width="100%" style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed;margin:18px 0">
<tbody style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tr style="width:100%">
<td style="width:33.333%;padding:16px 14px;background:#FFF7ED;border:1px solid #FED7AA;border-right:none;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;letter-spacing:1px;color:#C2410C">1. CHOOSE SOURCES</span><br>
<span style="font-size:14px;font-weight:700;color:#431407">Add public DubiCars URLs</span><br>
<span style="font-size:12px;color:#57534E">Choose a category, dealer, brand, model, or `.html` listing page.</span>
</td>
<td style="width:33.333%;padding:16px 14px;background:#FFF7ED;border:1px solid #FED7AA;border-right:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;letter-spacing:1px;color:#C2410C">2. SET LIMITS</span><br>
<span style="font-size:14px;font-weight:700;color:#431407">Filter and enrich safely</span><br>
<span style="font-size:12px;color:#57534E">Set item, page, detail, image, pacing, and concurrency caps.</span>
</td>
<td style="width:33.333%;padding:16px 14px;background:#FFF7ED;border:1px solid #FED7AA;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;letter-spacing:1px;color:#C2410C">3. USE THE DATA</span><br>
<span style="font-size:14px;font-weight:700;color:#431407">Export or monitor results</span><br>
<span style="font-size:12px;color:#57534E">Use the four dataset views for sourcing, pricing, details, and changes.</span>
</td>
</tr>
</tbody>
</table>

### ⚙️ Input

The Console form is organized into six accordion sections. The schema has no required form fields, but the Actor requires at least one valid public DubiCars URL at runtime.

#### Sources

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| <code>sourceUrls</code> | array of URLs | No | Add 1 to 20 public category, brand, model, dealer, or `.html` vehicle URLs. |
| <code>sourceMode</code> | enum | No | Use `auto`, `discovery`, or `details`. Auto classification is the default. |

Only HTTPS DubiCars URLs are accepted. The only query parameter allowed is bounded `page=N` pagination. Search, API, AJAX, authentication, off-domain, and malformed URLs are rejected.

#### Vehicle and search filters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| <code>keyword</code> | text | No | Match title, description, make, model, or trim after extraction. |
| <code>make</code>, <code>model</code> | text | No | Filter source-published vehicle identity values. |
| <code>condition</code>, <code>sellerType</code> | text | No | Filter condition or seller type. Custom source values are allowed. |
| <code>bodyType</code>, <code>fuelType</code> | text | No | Filter body and fuel values. |
| <code>emirate</code>, <code>regionalSpecs</code> | text | No | Filter public location and regional specification values. |
| <code>exportStatus</code> | text | No | Filter source-published export availability. |
| <code>minPrice</code>, <code>maxPrice</code> | number | No | Filter the normalized current price. |
| <code>minYear</code>, <code>maxYear</code> | integer | No | Filter model year. |
| <code>maxMileageKm</code> | integer | No | Exclude vehicles above the normalized kilometer limit. |

These are post-extraction filters. They do not recreate DubiCars search URL grammar.

#### Data source and reliability

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| <code>sourceFailurePolicy</code> | enum | No | Continue and report source failures, or fail the run. |
| <code>runMode</code> | enum | No | Use `snapshot` for current records or `changesOnly` for monitored changes. |
| <code>monitorKey</code> | text | Only for changesOnly | Stable key for recurring monitoring state. |

#### Enrichment

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| <code>detailLevel</code> | enum | No | Choose `auto`, `summary`, or `full`. |
| <code>includeImages</code> | boolean | No | Keep public image URLs when available. |
| <code>includeDescription</code> | boolean | No | Keep a cleaned public listing description when available. |
| <code>includeSellerProfile</code> | boolean | No | Keep public seller identity, profile, and marketplace signals. |

#### Output and limits

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| <code>maxItems</code> | integer | No | Total record cap. The default is 10. |
| <code>maxPagesPerSource</code> | integer | No | Discovery page cap per source. The default is 1. |
| <code>maxDetailPages</code> | integer | No | Full-detail enrichment cap. The default is 10. |
| <code>maxImagesPerListing</code> | integer | No | Image URL cap per listing. The default is 8. |
| <code>emitUnchanged</code> | boolean | No | In `changesOnly`, also emit records with no detected changes. |

#### Advanced

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| <code>maxConcurrency</code> | integer | No | Concurrent public source requests. The default is 1. |
| <code>requestDelayMs</code> | integer | No | Delay before each public request and retry. The default is 1000 ms. |
| <code>proxyConfiguration</code> | object | No | Optional Apify datacenter proxy configuration. |

All finite limits are bounded by the input schema. Standby mode is disabled, so this Actor runs as a standard on-demand batch job.

### 📦 Data table

Missing values are omitted. The Actor never inserts `Unknown`, `N/A`, fabricated specifications, or fallback seller names.

| Field | Type | Description |
| --- | --- | --- |
| <code>source</code>, <code>sourceType</code> | string | Source name and `discovery` or `details` classification. |
| <code>listingId</code>, <code>identityType</code> | string | Stable source listing identity and identity method. |
| <code>canonicalUrl</code>, <code>sourceUrl</code> | string | Clean vehicle URL and the page that produced the record. |
| <code>title</code>, <code>description</code> | string | Public listing title and cleaned description. |
| <code>condition</code>, <code>listingStatus</code> | string | Source-published condition and listing status. |
| <code>make</code>, <code>model</code>, <code>trim</code>, <code>year</code> | string, integer | Vehicle identity and model year. |
| <code>bodyType</code>, <code>regionalSpecs</code>, <code>fuelType</code> | string | Body, regional, and fuel values. |
| <code>transmission</code>, <code>drivetrain</code> | string | Gearbox and drive configuration. |
| <code>engineCapacityLiters</code>, <code>horsepower</code>, <code>cylinders</code> | number, integer | Available technical specifications. |
| <code>mileageKm</code>, <code>mileageText</code> | integer, string | Normalized mileage and source text. |
| <code>seats</code>, <code>doors</code>, <code>wheelSize</code> | integer, string | Available size and capacity values. |
| <code>steeringSide</code>, <code>exteriorColor</code>, <code>interiorColor</code> | string | Public vehicle appearance and steering values. |
| <code>city</code>, <code>emirate</code>, <code>locationText</code> | string | Public location values. |
| <code>priceAmount</code>, <code>priceOriginalAmount</code>, <code>priceExportAmount</code> | number | Current, original, and export price values. |
| <code>priceText</code>, <code>currency</code> | string | Source price display and normalized currency. |
| <code>financingAvailable</code>, <code>monthlyPaymentAmount</code> | boolean, number | Public financing signals and monthly payment when shown. |
| <code>sellerId</code>, <code>sellerName</code>, <code>sellerType</code> | string | Public seller identity values. |
| <code>sellerUrl</code>, <code>businessSegment</code> | string | Public profile URL and source business segment. |
| <code>isVerifiedSeller</code>, <code>isHighlyResponsive</code>, <code>isExclusive</code> | boolean | Public seller or listing signals. |
| <code>isCertifiedPreOwned</code>, <code>isWarranty</code>, <code>isInspected</code> | boolean | Public certification, warranty, and inspection signals. |
| <code>warrantyText</code>, <code>serviceHistory</code> | string | Public warranty and service history values. |
| <code>imageUrl</code>, <code>imageUrls</code>, <code>imageCount</code> | string, array, integer | Bounded public image gallery values. |
| <code>hasVideo</code>, <code>has360</code>, <code>badges</code> | boolean, array | Public media and badge signals. |
| <code>sourcePublishedAt</code>, <code>sourceUpdatedAt</code>, <code>observedAt</code> | string | Source timestamps and observation time. |
| <code>detailLevel</code>, <code>sourceComplete</code> | enum, boolean | Extraction depth and scan completeness. |
| <code>changeType</code>, <code>changedFields</code>, <code>previousPriceAmount</code> | enum, array, number | Optional Changes Only event details. |
| <code>firstSeenAt</code>, <code>lastSeenAt</code>, <code>monitorKey</code> | string | Optional monitoring state metadata. |

#### Dataset views

- **Overview:** image, title, make, model, year, price, mileage, city, and vehicle URL.
- **Pricing:** current, original, and export prices, currency, export status, seller, and URL.
- **Vehicle details:** technical specifications, regional data, mileage, and URL.
- **Seller and changes:** seller signals, badges, timestamps, and Changes Only fields.

#### Example output

```json
{
  "source": "dubicars",
  "sourceType": "details",
  "listingId": "991084",
  "identityType": "listingId",
  "canonicalUrl": "https://www.dubicars.com/example-car-991084.html",
  "sourceUrl": "https://www.dubicars.com/dubai/new",
  "title": "2026 Porsche 911 Turbo S",
  "condition": "new",
  "make": "Porsche",
  "model": "911",
  "year": 2026,
  "regionalSpecs": "GCC",
  "mileageKm": 35,
  "priceAmount": 1299000,
  "priceOriginalAmount": 1499000,
  "priceExportAmount": 355900,
  "currency": "AED",
  "sellerName": "Blackline Motor Company",
  "sellerType": "Dealer",
  "isVerifiedSeller": true,
  "isWarranty": true,
  "imageCount": 20,
  "observedAt": "2026-08-18T00:00:00.000Z",
  "detailLevel": "full",
  "sourceComplete": true
}
```

### 🔌 Integrations

Use the dataset directly in Apify, export JSON or CSV for a warehouse, call the Actor through the Apify REST API, connect an AI agent with Apify MCP, or trigger scheduled runs from n8n. The normalized fields are designed for dealer inventory, pricing research, and marketplace data workflows.

### 💡 Tips

- Start with one category URL and the default limits before expanding to multiple sources.
- Use a direct `.html` URL with `detailLevel: "full"` when you need the richest public vehicle record.
- Keep `monitorKey` stable for the same recurring scope. Use `changesOnly` for new, updated, and price-changed records.
- Treat `sourceComplete` as the trust signal for downstream automation. Blocked or partial scans do not advance monitoring state.

### 💰 Pricing

This Actor uses usage-based pricing configured in the Store. Empty runs cost nothing. There is no subscription requirement.

### ⭐ Enjoying DubiCars scraper?

<table width="100%" style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed;margin:18px 0">
<tbody style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tr style="width:100%">
<td style="width:100%;padding:20px;background:#FFF7ED;border:1px solid #FED7AA;border-left:5px solid #C2410C">
<span style="font-weight:800;color:#431407">A short review helps other automotive teams choose a focused data source.</span><br>
<span style="color:#57534E">Tell us whether the listing fields and bounded monitoring fit your workflow.</span>
</td>
</tr>
<tr style="width:100%">
<td style="width:100%;padding:12px;background:#C2410C;text-align:center">
<a href="https://apify.com/getascraper/dubicars-scraper/reviews" style="color:#FFFFFF;text-decoration:none;font-weight:800">★ Rate this Actor on Apify</a>
</td>
</tr>
</tbody>
</table>

### ❓ FAQ

#### Can I scrape a DubiCars category and a direct vehicle page?

Yes. Add public category, brand, model, dealer, or `.html` vehicle URLs. Auto mode classifies each source. Discovery and detail modes can enforce one source type.

#### هل يمكن استخراج بيانات سيارات DubiCars؟

Yes. The Actor extracts public listing content from selected DubiCars pages and returns normalized UAE vehicle records. It does not collect direct contact details.

#### Does changesOnly track vehicles that disappear?

No. It emits new, updated, and price-changed records. It does not emit removals because bounded page scans cannot safely prove absence.

#### What happens when DubiCars blocks a page?

The page is reported as a failed source. It never becomes a successful empty result, and an incomplete scan cannot advance monitoring state.

#### Does the Actor collect phone or WhatsApp details?

No. Public seller identity and marketplace signals may be included. Phone numbers, email addresses, WhatsApp details, and private contact information are excluded.

### ⚖️ Responsible use

This is an unofficial Actor and is not affiliated with DubiCars.

Use only public DubiCars pages that you are permitted to collect. Keep the configured limits and delays respectful. Do not use this Actor to bypass access controls or infer unavailable inventory.

### 🔗 Other actors

- [YallaMotor Cars Scraper: Private Beta](https://apify.com/getascraper/yallamotor-cars-scraper) ↗ - UAE and regional vehicle source validation.
- [CarDekho Used Cars Scraper: Indian Car Listings, Prices & Dealer Data](https://apify.com/getascraper/cardekho-used-cars-scraper) ↗ - Used-car listings, prices, and dealer data.
- [Autohero Cars Scraper: All Europe Used Cars Catalog](https://apify.com/getascraper/autohero-cars-scraper) ↗ - European used-car catalog records.
- [Avito Auto Scraper: Парсер Авито Авто](https://apify.com/getascraper/avito-auto-scraper) ↗ - Public automotive marketplace listings.
- [Collector Car Auction Monitor: Sold Prices & Outcomes](https://apify.com/getascraper/collector-car-auction-outcome-monitor) ↗ - Auction outcomes and sold-price research.

# Actor input Schema

## `sourceMode` (type: `string`):

Automatically classify public category pages and .html vehicle pages, or enforce one source type.

## `sourceUrls` (type: `array`):

Public DubiCars URLs to scan. The Actor rejects search, API, AJAX, authentication, off-domain, and malformed URLs.

## `keyword` (type: `string`):

Optional post-extraction keyword match across the title, description, make, model, and trim.

## `make` (type: `string`):

Optional make filter, such as Toyota or Porsche.

## `model` (type: `string`):

Optional model filter. Custom model values remain allowed.

## `condition` (type: `string`):

Optional condition filter. Use any to disable it.

## `sellerType` (type: `string`):

Optional seller type filter. Use any to disable it.

## `bodyType` (type: `string`):

Optional body type filter, such as SUV, sedan, coupe, or pickup.

## `fuelType` (type: `string`):

Optional fuel type filter. Custom source values remain allowed.

## `emirate` (type: `string`):

Optional emirate or region filter.

## `regionalSpecs` (type: `string`):

Optional regional specification filter, such as GCC, American, European, or Japanese.

## `exportStatus` (type: `string`):

Optional source-published export status filter. Use any to disable it.

## `minPrice` (type: `number`):

Optional lower price bound in the source currency. Zero disables the lower bound.

## `maxPrice` (type: `number`):

Optional upper price bound in the source currency. The finite default covers ordinary UAE listings.

## `minYear` (type: `integer`):

Optional lower model-year bound. Zero disables the lower bound.

## `maxYear` (type: `integer`):

Optional upper model-year bound.

## `maxMileageKm` (type: `integer`):

Optional upper mileage bound. The finite default covers ordinary used-car listings.

## `sourceFailurePolicy` (type: `string`):

Choose whether one blocked or failed source stops the run or is reported alongside successful sources.

## `runMode` (type: `string`):

Snapshot emits current records. Changes Only emits new, updated, and price-changed records when a monitor key is supplied.

## `monitorKey` (type: `string`):

Stable key for recurring changesOnly runs. Required only when Run Mode is Changes Only.

## `detailLevel` (type: `string`):

Auto uses full public extraction for direct .html URLs and summary cards for discovery pages.

## `includeImages` (type: `boolean`):

Include public vehicle image URLs when available.

## `includeDescription` (type: `boolean`):

Include the public vehicle description when available.

## `includeSellerProfile` (type: `boolean`):

Include public seller name, type, profile URL, and seller signals when available.

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

Maximum vehicle records emitted across all sources.

## `maxPagesPerSource` (type: `integer`):

Maximum public discovery pages to inspect for each category, brand, model, or dealer URL.

## `maxDetailPages` (type: `integer`):

Maximum public .html detail pages requested for full enrichment across a run.

## `maxImagesPerListing` (type: `integer`):

Maximum image URLs retained for each vehicle record.

## `emitUnchanged` (type: `boolean`):

In Changes Only mode, also emit records with no detected field changes.

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

Maximum number of public HTTP sources processed concurrently.

## `requestDelayMs` (type: `integer`):

Delay before each public HTTP request, including bounded retries.

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

Optional Apify Proxy configuration. The default uses the Apify datacenter proxy.

## Actor input object example

```json
{
  "sourceMode": "auto",
  "sourceUrls": [
    {
      "url": "https://www.dubicars.com/dubai/new"
    }
  ],
  "keyword": "",
  "make": "",
  "model": "",
  "condition": "any",
  "sellerType": "any",
  "bodyType": "",
  "fuelType": "",
  "emirate": "",
  "regionalSpecs": "",
  "exportStatus": "any",
  "minPrice": 0,
  "maxPrice": 100000000,
  "minYear": 0,
  "maxYear": 2100,
  "maxMileageKm": 100000000,
  "sourceFailurePolicy": "continueAndReport",
  "runMode": "snapshot",
  "monitorKey": "",
  "detailLevel": "auto",
  "includeImages": true,
  "includeDescription": true,
  "includeSellerProfile": true,
  "maxItems": 10,
  "maxPagesPerSource": 1,
  "maxDetailPages": 10,
  "maxImagesPerListing": 8,
  "emitUnchanged": false,
  "maxConcurrency": 1,
  "requestDelayMs": 1000,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

No description

## `runSummary` (type: `string`):

No description

## `monitorState` (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 = {
    "sourceMode": "auto",
    "sourceUrls": [
        {
            "url": "https://www.dubicars.com/dubai/new"
        }
    ],
    "keyword": "",
    "make": "",
    "model": "",
    "condition": "any",
    "sellerType": "any",
    "bodyType": "",
    "fuelType": "",
    "emirate": "",
    "regionalSpecs": "",
    "exportStatus": "any",
    "minPrice": 0,
    "maxPrice": 100000000,
    "minYear": 0,
    "maxYear": 2100,
    "maxMileageKm": 100000000,
    "sourceFailurePolicy": "continueAndReport",
    "runMode": "snapshot",
    "monitorKey": "",
    "detailLevel": "auto",
    "includeImages": true,
    "includeDescription": true,
    "includeSellerProfile": true,
    "maxItems": 10,
    "maxPagesPerSource": 1,
    "maxDetailPages": 10,
    "maxImagesPerListing": 8,
    "emitUnchanged": false,
    "maxConcurrency": 1,
    "requestDelayMs": 1000,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/dubicars-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 = {
    "sourceMode": "auto",
    "sourceUrls": [{ "url": "https://www.dubicars.com/dubai/new" }],
    "keyword": "",
    "make": "",
    "model": "",
    "condition": "any",
    "sellerType": "any",
    "bodyType": "",
    "fuelType": "",
    "emirate": "",
    "regionalSpecs": "",
    "exportStatus": "any",
    "minPrice": 0,
    "maxPrice": 100000000,
    "minYear": 0,
    "maxYear": 2100,
    "maxMileageKm": 100000000,
    "sourceFailurePolicy": "continueAndReport",
    "runMode": "snapshot",
    "monitorKey": "",
    "detailLevel": "auto",
    "includeImages": True,
    "includeDescription": True,
    "includeSellerProfile": True,
    "maxItems": 10,
    "maxPagesPerSource": 1,
    "maxDetailPages": 10,
    "maxImagesPerListing": 8,
    "emitUnchanged": False,
    "maxConcurrency": 1,
    "requestDelayMs": 1000,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/dubicars-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 '{
  "sourceMode": "auto",
  "sourceUrls": [
    {
      "url": "https://www.dubicars.com/dubai/new"
    }
  ],
  "keyword": "",
  "make": "",
  "model": "",
  "condition": "any",
  "sellerType": "any",
  "bodyType": "",
  "fuelType": "",
  "emirate": "",
  "regionalSpecs": "",
  "exportStatus": "any",
  "minPrice": 0,
  "maxPrice": 100000000,
  "minYear": 0,
  "maxYear": 2100,
  "maxMileageKm": 100000000,
  "sourceFailurePolicy": "continueAndReport",
  "runMode": "snapshot",
  "monitorKey": "",
  "detailLevel": "auto",
  "includeImages": true,
  "includeDescription": true,
  "includeSellerProfile": true,
  "maxItems": 10,
  "maxPagesPerSource": 1,
  "maxDetailPages": 10,
  "maxImagesPerListing": 8,
  "emitUnchanged": false,
  "maxConcurrency": 1,
  "requestDelayMs": 1000,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/dubicars-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/dubicars-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/fNhrHrILPlfsWbJdt/builds/QizRZ5N8codlSnAbF/openapi.json
