# Encar Automotive Search Scraper (`alexist/encar-automotive-search-scraper`) Actor

Scrape vehicle listings from Encar.com instantly. This scraper collects make, model, year, price, mileage, transmission, and 25+ automotive fields per listing — perfect for dealers, price researchers, and automotive data platforms.

- **URL**: https://apify.com/alexist/encar-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

## Encar Automotive Search Scraper: Extract Vehicle Listings at Scale

***

### What Is Encar.com?

Encar.com is one of the Middle East's largest automotive marketplaces, offering thousands of new and used vehicle listings across multiple currencies and regions. The platform features detailed vehicle specifications, pricing, dealer information, and photos. Manually extracting vehicle data from search results is tedious and error-prone — the **Encar Automotive Search Scraper** automates this process, delivering clean, structured automotive data from search pages in seconds.

***

### Overview

The **Encar Automotive Search Scraper** extracts vehicle listing data directly from Encar.com search results pages, transforming raw listings into organized records. It is built for:

- **Auto dealers** monitoring inventory and competitor pricing
- **Price research analysts** tracking market trends across makes and models
- **Aggregator platforms** building comprehensive automotive databases
- **Automotive data scientists** analyzing vehicle market dynamics

Key strengths include support for filtered searches (by fuel type, transmission, year range, mileage), bulk scraping up to 1,000+ items per URL, and robust error handling via `ignore_url_failures`.

***

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.encar.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
}
```

#### URL Parameters Explained

| Parameter | Description |
|---|---|
| `urls` | Array of Encar search result page URLs with filters applied |
| `c` | Condition filter: `new-and-used`, `new`, or `used` |
| `ul` | Location/region code (e.g., `AE` for UAE) |
| `cr` | Currency code (e.g., `USD`) |
| `ma` | Manufacturer ID for filtering by brand |
| `tr[]` | Transmission types: `all`, `manual`, `automatic` |
| `yf`, `yt` | Year from/to (model year range) |
| `eo[]` | Export options: `can-be-exported`, `not-for-export` |
| `noi` | Number of items displayed per page |

#### Configuration Options

| Field | Type | Description |
|---|---|---|
| `urls` | Array of strings | Add multiple search result URLs with your desired filters. Use Encar's filter interface to build URLs, then paste here. |
| `max_items_per_url` | Integer | Maximum listings to extract per URL. Default: `1000`, recommended: `200–500` for stability. |
| `ignore_url_failures` | Boolean | If `true`, continues scraping if some URLs fail; if `false`, stops on first error. Default: `true` |

> **Best Practice:** Build your search on Encar.com using filters (brand, price range, mileage, transmission), then copy the resulting URL into the scraper. This allows precise targeting of vehicle segments.

***

### Output Format

#### Example Output Record

```json
{
  "id": "42256805",
  "separation": [
    "B"
  ],
  "trust": [
    "Warranty"
  ],
  "service_mark": [
    "EncarDiagnosisP0"
  ],
  "condition": [
    "Inspection",
    "Record",
    "Resume"
  ],
  "photo": "/carpicture05/pic4225/42256805_",
  "photos": [
    {
      "type": "001",
      "location": "/carpicture05/pic4225/42256805_001.jpg",
      "updated_date": "2026-06-29T00:43:39Z",
      "ordering": 1.0
    },
    {
      "type": "003",
      "location": "/carpicture05/pic4225/42256805_003.jpg",
      "updated_date": "2026-06-29T00:43:39Z",
      "ordering": 3.0
    },
    {
      "type": "004",
      "location": "/carpicture05/pic4225/42256805_004.jpg",
      "updated_date": "2026-06-29T00:43:39Z",
      "ordering": 4.0
    },
    {
      "type": "007",
      "location": "/carpicture05/pic4225/42256805_007.jpg",
      "updated_date": "2026-06-29T00:43:39Z",
      "ordering": 7.0
    }
  ],
  "manufacturer": "벤츠",
  "model": "GLE-클래스 W166",
  "model_group": "GLE-클래스",
  "badge": "GLE350 d 4MATIC 쿠페",
  "transmission": "오토",
  "fuel_type": "디젤",
  "year": 201707.0,
  "form_year": "2017",
  "mileage": 139774.0,
  "color": "흰색",
  "color_expression": "#ffffff;#ffffff",
  "seat_color": "검정색 계열",
  "seat_color_expression": "#000000;#000000",
  "ad_type": [
    "G"
  ],
  "mobile_ad_words": null,
  "hotmark": null,
  "service_copy_car": "ORIGINAL",
  "price": 2980.0,
  "sell_type": "일반",
  "buy_type": [],
  "office_city_state": "경기",
  "dealer_photo": "/userdata/dealer/photo/stylepsh123.jpg",
  "from_url": "https://car.encar.com/list/car?page=2&search=%7B%22type%22%3A%22car%22%2C%22action%22%3A%22%28And.Hidden.N._.MultiViewHidden.N._.SellType.%EC%9D%BC%EB%B0%98._.%28Or.Separation.B._.Separation.F.%29_.ServiceCopyCar.ORIGINAL._.%28C.CarType.A._.Manufacturer.%EB%B2%A4%EC%B8%A0.%29%29%22%2C%22title%22%3A%22%EB%B2%A4%EC%B8%A0%22%2C%22toggle%22%3A%7B%7D%2C%22layer%22%3A%22%22%2C%22sort%22%3A%22MobileModifiedDate%22%2C%22cursor%22%3A%22%22%7D"
}
```

Each scraped vehicle listing returns a structured record with 30 fields:

#### Vehicle Identification

| Field | Meaning |
|---|---|
| `ID` | Unique listing identifier on Encar.com |
| `Manufacturer` | Vehicle brand/make (e.g., Toyota, BMW, Honda) |
| `Model` | Specific model name (e.g., Camry, 3 Series) |
| `Model Group` | Broader model category for classification |
| `Badge` | Trim or variant badge (e.g., Sport, Luxury, SE) |
| `Year` | Manufacturing year of the vehicle |
| `Form Year` | Year of the current body generation/refresh |

#### Technical Specifications

| Field | Meaning |
|---|---|
| `Transmission` | Drivetrain type: `Automatic`, `Manual`, `CVT` |
| `Fuel Type` | Engine fuel: `Petrol`, `Diesel`, `Hybrid`, `Electric` |
| `Mileage` | Odometer reading in kilometers (used vehicles) |
| `Condition` | Vehicle state: `New`, `Used`, `Like-New` |

#### Appearance & Details

| Field | Meaning |
|---|---|
| `Color` | Exterior paint color code |
| `Color Expression` | Human-readable color name (e.g., Pearl White, Metallic Gray) |
| `Seat Color` | Interior upholstery color |
| `Seat Color Expression` | Readable interior color description |
| `Photo` | Primary listing photo URL (thumbnail or main image) |
| `Photos` | Array of all listing photo URLs |
| `Dealer Photo` | Dealer profile or storefront photo URL |

#### Listing & Transaction Details

| Field | Meaning |
|---|---|
| `Price` | Listing price in the specified currency (e.g., USD, AED) |
| `Sell Type` | How the vehicle is sold: `Dealer`, `Individual`, `Fleet` |
| `Buy Type` | Purchase option: `Buy`, `Finance`, `Lease` |
| `Ad Type` | Listing promotion type (standard, featured, premium) |
| `Office City State` | Seller location: city and state/region |

#### Special Attributes & Status

| Field | Meaning |
|---|---|
| `Service Mark` | Certification or warranty badge (e.g., certified pre-owned) |
| `Trust` | Seller trust rating or verification status |
| `Separation` | Reserved field for internal Encar categorization |
| `Mobile Ad Words` | Keywords optimized for mobile search visibility |
| `Hotmark` | Featured/highlighted listing indicator |
| `Service Copy Car` | Indicates if vehicle is a service loaner or demo car |

***

### How to Use

1. **Visit Encar.com** — Go to the search page and apply filters (brand, price range, mileage, transmission, fuel type, year).
2. **Copy the URL** — Once filters are set, copy the full search results URL from your browser's address bar.
3. **Paste into config** — Add the URL to the `urls` array in the scraper input.
4. **Set item limit** — Adjust `max_items_per_url` based on how many listings you need per search (e.g., 200 for 2 pages, 500 for 5 pages).
5. **Enable resilience** — Keep `ignore_url_failures: true` to continue if a URL temporarily fails.
6. **Run and export** — Start the scraper and download results as JSON, CSV, or Excel.

**Tips for best results:**

- Use narrow, targeted searches (e.g., Toyota + Camry + 2020–2023) to get higher-quality data.
- Pagination is handled automatically; set `max_items_per_url` according to your needs.
- If scraping multiple regions, create separate runs per location/currency for cleaner data.
- Dealer photos and vehicle photos are returned as image URLs; download them separately if needed.

***

### Use Cases & Business Value

- **Pricing intelligence:** Build datasets tracking vehicle prices by brand, model, year, and region in real time
- **Inventory monitoring:** Track dealer stock levels and turnover rates across the platform
- **Market research:** Analyze demand for specific vehicle types (fuel efficiency, transmission preference, mileage trends)
- **Automotive aggregators:** Power job boards or marketplaces with fresh, structured vehicle data
- **Finance & insurance:** Underpin valuations and risk assessment with historical pricing data

The Encar Automotive Search Scraper turns search results into actionable intelligence, eliminating hours of manual data entry and enabling smarter business decisions.

***

### Conclusion

The **Encar Automotive Search Scraper** is the fastest way to extract structured vehicle data from Encar.com at scale. With 30+ fields per listing and support for advanced filtering, it unlocks market insights impossible to achieve manually. Whether you're a dealer, data analyst, or platform builder, this scraper delivers the clean, reliable automotive data you need.

# 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.encar.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": 1000
}
```

# 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.encar.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": 1000
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/encar-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.encar.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": 1000,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/encar-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.encar.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": 1000
}' |
apify call alexist/encar-automotive-search-scraper --silent --output-dataset

```

## MCP server setup

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