# Dubicars Automotive Search Scraper (`alexist/dubicars-automotive-search-scraper`) Actor

Scrape comprehensive vehicle data from DubiCars.com with 200+ items per search. Extract pricing, specs, seller details, images, and export status across 68 fields — perfect for auto dealers, marketplaces, and pricing analysts.

- **URL**: https://apify.com/alexist/dubicars-automotive-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 Property Search Scraper: Export UAE Car Listings Instantly

***

### What Is DubiCars.com?

DubiCars.com is the UAE's largest online automotive marketplace, hosting thousands of new and used vehicle listings from private sellers and authorized dealers. The platform specializes in Middle East regional specs, local pricing, export eligibility, and dealer information. Manually collecting this automotive inventory data is labor-intensive — the **DubiCars Property Search Scraper** automates extraction, delivering structured, analysis-ready records for dealerships, price aggregators, and market researchers.

***

### Overview

The **DubiCars Property Search Scraper** extracts vehicle listings from DubiCars search results, transforming unstructured marketplace data into clean, structured records. It is ideal for:

- **Auto dealers** monitoring competitor inventory and pricing strategies
- **Price aggregators** building comprehensive Middle East automotive datasets
- **Market analysts** tracking used and new car trends in the UAE and region
- **Export specialists** identifying exportable vehicles and tracking export-eligible inventory
- **Inventory managers** syncing external listings to internal management systems

Key capabilities include extracting up to 200 vehicles per search URL, tracking export status and pricing, capturing high-resolution image URLs, and graceful error handling for interrupted scrapes.

***

### Input Format

The scraper accepts a JSON configuration with flexible search parameters:

```json
{
  "urls": [
    "https://www.dubicars.com/search?o=&did=&gen=&trg=&c=new-and-used&ul=AE&cr=USD&k=&mg=&ds=&ma=69&tr[]=all&yf=&yt=&set=bu&pf=&pt=&emif=&emit=&kf=&kt=&eo[]=can-be-exported&eo[]=not-for-export&noi=30"
  ],
  "max_items_per_url": 200,
  "ignore_url_failures": true
}
```

| Parameter | Description | Example |
|-----------|-------------|---------|
| `urls` | DubiCars search result pages to scrape | Any filtered search URL from dubicars.com |
| `max_items_per_url` | Maximum vehicles extracted per URL | `200` (pulls up to 200 listings) |
| `ignore_url_failures` | Continue if a URL fails to load | `true` = skip failed URLs, continue run |

**Input tips:**

- Use DubiCars advanced filters (make, model, year, price range, location) to refine searches before copying the URL
- Query parameters like `c=new-and-used`, `eo[]=can-be-exported` narrow results to your target market
- Higher `max_items_per_url` values increase runtime; 200 is the recommended ceiling for balance

***

### Output Format

**Sample output**

```json
{
  "price": 149000,
  "export_status": "can_be_exported",
  "export_price": 41000,
  "feature_type": "Premium",
  "car_year": 2019,
  "warranty": 1,
  "promoted": false,
  "dealer_site": false,
  "image_url": "https://www.dubicars.com/images/369c63/w_1300x760/carzoo-used-cars/c6f9dbd1-402a-4838-b5a9-77f2d9faae2b.jpeg",
  "content_type": "vehicle",
  "content_ids": 972455,
  "currency": "AED",
  "car_make": "Mercedes Benz",
  "car_model": "GLE450",
  "city": "Dubai",
  "state_of_vehicle": "used",
  "dealer_id": 2707,
  "transmission": "Automatic",
  "exterior_color": "Gold",
  "external_id": null,
  "item_id": 972455,
  "is_financed": true,
  "ad_type": "premium",
  "location": "Dubai",
  "location_id": 3,
  "make": "Mercedes Benz",
  "make_id": 69,
  "model": "GLE450",
  "model_id": 2421,
  "car_name": "Mercedes Benz GLE450",
  "car_full_name": "Mercedes Benz GLE450 2019",
  "year": 2019,
  "regional_specs": "GCC",
  "regional_specs_id": 1,
  "condition": "used",
  "color_exterior": "Gold",
  "color_exterior_id": 164,
  "color_interior": "Brown",
  "color_interior_id": 162,
  "drive_type": "All Wheel Drive",
  "drive_type_id": 4,
  "fuel_type": "Petrol",
  "fuel_type_id": 25,
  "body_type": "SUV/Crossover",
  "body_type_id": 100,
  "mileage": 98900,
  "seat_count": 7,
  "price_local": 149500,
  "price_export": 41000,
  "price_discounted": 149500,
  "is_inspected": false,
  "seller_id": 2707,
  "seller_name": "CARZOO USED CARS",
  "seller_type": "dealer",
  "is_warranty": true,
  "status_export": "can_be_exported",
  "image_count": 28,
  "steering_side": "Left hand",
  "steering_side_id": 1,
  "is_video": false,
  "is_360": false,
  "transmission_type": "Automatic",
  "transmission_type_id": 10,
  "cylinders": "6",
  "cylinder_id": 6,
  "trim": "4MATIC",
  "trim_id": 21014,
  "door_count": "5",
  "from_url": "https://www.dubicars.com/search?o=&did=&gen=&trg=&c=new-and-used&ul=AE&cr=USD&k=&mg=&ds=&ma=69&tr%5B%5D=all&yf=&yt=&set=bu&pf=&pt=&emif=&emit=&kf=&kt=&eo%5B%5D=can-be-exported&eo%5B%5D=not-for-export&noi=30"
}
```

Each vehicle record returns 68 detailed fields covering pricing, specifications, seller details, and media:

#### Identification & Listing

| Field | Meaning | Example |
|-------|---------|---------|
| `Item ID` | Unique DubiCars internal identifier | `12345678` |
| `External ID` | Third-party or dealer reference ID | `ABC123` |
| `Ad Type` | Listing category (dealer, private, etc.) | `Dealer` |
| `Content Type` | Content classification | Vehicle |
| `Is Promoted` | Whether listing has paid promotion | `true` / `false` |
| `Dealer Site` | Dealer's custom storefront URL | `dealer-name.dubicars.com` |

#### Vehicle Core Details

| Field | Meaning |
|-------|---------|
| `Make` / `Make ID` | Manufacturer brand (e.g., BMW, Mercedes) and internal ID |
| `Model` / `Model ID` | Vehicle model name (e.g., X5) and internal ID |
| `Year` / `Car Year` | Manufacturing year (e.g., 2022) |
| `Trim` / `Trim ID` | Trim level (e.g., Sport, Luxury) and ID |
| `Car Name` | Display name as shown on listing |
| `Car Full Name` | Complete vehicle designation (e.g., "BMW X5 2022 Sport") |

#### Vehicle Specifications

| Field | Meaning | Typical Values |
|-------|---------|---|
| `Body Type` / `Body Type ID` | Vehicle classification | Sedan, SUV, Coupe, Truck |
| `Fuel Type` / `Fuel Type ID` | Engine fuel (Petrol, Diesel, Hybrid) | Petrol, Diesel |
| `Drive Type` / `Drive Type ID` | Drivetrain system | FWD, RWD, AWD |
| `Transmission Type` / `Transmission Type ID` | Gear transmission type | Manual, Automatic |
| `Transmission` | Transmission details | 8-speed Automatic |
| `Cylinders` / `Cylinder ID` | Engine cylinder count | 4, 6, 8, 12 |
| `Seat Count` | Number of seats | 5, 7, 8 |
| `Door Count` | Number of doors | 2, 4, 5 |
| `Steering Side` / `Steering Side ID` | Steering wheel position | Left, Right |

#### Condition & Exterior

| Field | Meaning |
|-------|---------|
| `Condition` | Vehicle state (New, Used, Like New) |
| `State of Vehicle` | Overall condition assessment |
| `Mileage` | Odometer reading in kilometers |
| `Exterior Color` / `Color Exterior ID` | Outer paint color and code |
| `Interior Color` / `Color Interior ID` | Upholstery color and code |
| `Regional Specs` / `Regional Specs ID` | Market-specific features (GCC, EU specs) |

#### Pricing & Export

| Field | Meaning |
|-------|---------|
| `Price` | Default listing price in local currency |
| `Price Local` | Price in local market currency (AED, etc.) |
| `Price Export` | International export price |
| `Export Price` | Export-specific pricing |
| `Price Discounted` | Any applied discount or negotiated price |
| `Currency` | Currency code (USD, AED, etc.) |
| `Export Status` | Export eligibility flag (Can Export, Not for Export) |
| `Status Export` | Detailed export capability status |

#### Seller Information

| Field | Meaning |
|-------|---------|
| `Seller ID` | Unique seller identifier |
| `Seller Name` | Seller or dealer business name |
| `Seller Type` | Dealer or individual private seller |
| `Dealer ID` | Dealer account ID (if applicable) |
| `Location` / `Location ID` | City or emirate (Dubai, Abu Dhabi, etc.) |
| `City` | Specific city name |

#### Vehicle Features & Media

| Field | Meaning |
|-------|---------|
| `Image URL` | First or primary image URL |
| `Image Count` | Total number of images available |
| `Is Video` | Whether listing includes a video walkthrough |
| `Is 360` | Whether 360° photo gallery is available |
| `Content IDs` | Image and media asset identifiers |
| `Warranty` | Warranty status (Yes, No, Limited) |
| `Is Warranty` | Boolean warranty indicator |
| `Is Inspected` | Whether vehicle has been inspected |
| `Is Financed` | Whether financing options available |

***

### How to Use

1. **Build your search** — Go to dubicars.com, use filters (make, model, year, price, location, export status) to refine results
2. **Copy the URL** — After filtering, copy the full search results page URL from your browser address bar
3. **Configure the scraper** — Paste the URL into the `urls` array; set `max_items_per_url` to 200 for maximum extraction
4. **Enable robustness** — Set `ignore_url_failures: true` to skip any problematic pages and continue the run
5. **Run & export** — Launch the scraper and download results in JSON, CSV, or Excel format

**Best practices:**

- Use specific search filters to target your segment (e.g., only new SUVs under 100K AED)
- For large campaigns, split URLs by make/model/year to organize data
- Check image URLs immediately after completion; DubiCars image links may rotate

***

### Use Cases & Business Value

- **Competitor intelligence:** Track inventory, pricing, and promotions from rival dealerships in real time
- **Price benchmarking:** Build regional pricing models by aggregating export and local market prices
- **Export operations:** Identify exportable vehicles and extract full specs for international buyers
- **Multi-listing aggregators:** Sync DubiCars inventory to your own automotive marketplace or website
- **Market research:** Analyze used car depreciation, body type demand, and fuel type trends across the Middle East

The DubiCars scraper eliminates manual data entry, enabling data-driven business decisions for dealerships, exporters, and automotive analysts.

***

### Conclusion

The **DubiCars Property Search Scraper** delivers comprehensive automotive data from the Middle East's top marketplace. With 68 output fields spanning pricing, specs, seller details, and media, it transforms manual research into actionable intelligence. Whether you're a dealer, exporter, or price aggregator, this scraper unlocks the full value of DubiCars inventory data.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the automotive list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.dubicars.com/search?o=&did=&gen=&trg=&c=new-and-used&ul=AE&cr=USD&k=&mg=&ds=&ma=69&tr%5B%5D=all&yf=&yt=&set=bu&pf=&pt=&emif=&emit=&kf=&kt=&eo%5B%5D=can-be-exported&eo%5B%5D=not-for-export&noi=30"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}
```

# 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 = {
    "urls": [
        "https://www.dubicars.com/search?o=&did=&gen=&trg=&c=new-and-used&ul=AE&cr=USD&k=&mg=&ds=&ma=69&tr%5B%5D=all&yf=&yt=&set=bu&pf=&pt=&emif=&emit=&kf=&kt=&eo%5B%5D=can-be-exported&eo%5B%5D=not-for-export&noi=30"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/dubicars-automotive-search-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 = {
    "urls": ["https://www.dubicars.com/search?o=&did=&gen=&trg=&c=new-and-used&ul=AE&cr=USD&k=&mg=&ds=&ma=69&tr%5B%5D=all&yf=&yt=&set=bu&pf=&pt=&emif=&emit=&kf=&kt=&eo%5B%5D=can-be-exported&eo%5B%5D=not-for-export&noi=30"],
    "ignore_url_failures": True,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/dubicars-automotive-search-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 '{
  "urls": [
    "https://www.dubicars.com/search?o=&did=&gen=&trg=&c=new-and-used&ul=AE&cr=USD&k=&mg=&ds=&ma=69&tr%5B%5D=all&yf=&yt=&set=bu&pf=&pt=&emif=&emit=&kf=&kt=&eo%5B%5D=can-be-exported&eo%5B%5D=not-for-export&noi=30"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}' |
apify call alexist/dubicars-automotive-search-scraper --silent --output-dataset

```

## MCP server setup

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