# Yad2 Cars Search Scraper (`stealth_mode/yad2-cars-search-scraper`) Actor

Scrape structured car listing data from Yad2.co.il — Israel's largest classifieds platform. Collect price, manufacturer, model, engine specs, seller info, and more from any vehicle search page. Ideal for dealers, analysts, and price comparison tools.

- **URL**: https://apify.com/stealth\_mode/yad2-cars-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

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

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


# README

## Yad2 Cars Search Scraper: Extract Israeli Car Listings at Scale

### What Is Yad2.co.il?

Yad2.co.il is Israel's most popular online classifieds marketplace, with vehicles being one of its largest categories. The platform hosts tens of thousands of private and dealer car listings, making it a valuable source for market research, price benchmarking, and inventory tracking. Manually collecting this data is impractical at scale — the **Yad2 Cars Search Scraper** automates extraction from any search results page.

---

### Overview

The **Yad2 Cars Scraper** targets vehicle search listing pages on Yad2 and returns structured records for each car ad. It is built for:

- **Car dealers** monitoring market prices and competitor inventory
- **Price comparison platforms** aggregating Israeli automotive listings
- **Market researchers** studying used car trends by manufacturer, model, or region
- **Data engineers** building automotive datasets for ML or analytics pipelines

The scraper handles pagination via URL parameters, supports bulk URL input, and continues gracefully through any failed pages when configured to do so.

---

### Input Format

```json
{
  "urls": ["https://www.yad2.co.il/vehicles/cars?page=3"],
  "ignore_url_failures": true,
  "max_items_per_url": 50
}
````

| Field | Type | Default | Description |
|---|---|---|---|
| `urls` | `array` | `["https://www.yad2.co.il/vehicles/cars"]` | One or more Yad2 car search page URLs. Supports pagination via `?page=N`. Add URLs one by one or use bulk edit. |
| `ignore_url_failures` | `boolean` | `true` | If `true`, the scraper skips failed URLs and continues the run instead of stopping. |
| `max_items_per_url` | `integer` | `20` | Maximum number of listings to collect per URL. Increase for wider coverage per page. |

> **Tip:** To scrape multiple pages, add each paginated URL separately (e.g., `?page=1`, `?page=2`, `?page=3`) or adjust `max_items_per_url` to match the listings per page.

***

### Output Format

**Sample output**

```json
{
  "token": "zxho7i9d",
  "order_id": 56903603,
  "ad_type": "commercial",
  "category_id": 1,
  "subcategory_id": 21,
  "priority": 4,
  "price": 57900,
  "address": {
    "area": {
      "id": 17,
      "text": "אזור נתניה והסביבה"
    }
  },
  "meta_data": {
    "cover_image": "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010783_20260506124334.jpeg",
    "images": [
      "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010783_20260506124334.jpeg",
      "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010066_20260506124341.jpeg",
      "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010463_20260506124346.jpeg",
      "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010660_20260506124353.jpeg",
      "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010931_20260506124402.jpeg",
      "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010053_20260506124413.jpeg",
      "https://img.yad2.co.il/Pic/202605/06/1_3/o/y2_1pa_010011_20260506124417.jpeg"
    ]
  },
  "tags": [
    {
      "name": "תא מטען גדול",
      "id": 206,
      "priority": 1
    },
    {
      "name": "גלגלי מגנזיום",
      "id": 208,
      "priority": 1
    },
    {
      "name": "נסיעת מבחן",
      "id": 216,
      "priority": 1
    }
  ],
  "packages": {
    "is_trade_in_button": true
  },
  "customer": {
    "id": 4130846,
    "agency_name": "auto perfect",
    "agency_logo": "//images.yad2.co.il/Pic/TradeMiniSite/e1b703c3-2d77-4b7f-8932-997cb16cc596.jpeg?t=1778313295150"
  },
  "manufacturer": {
    "id": 21,
    "text": "יונדאי"
  },
  "model": {
    "id": 10291,
    "text": "טוסון"
  },
  "sub_model": {
    "id": 104994,
    "text": "4X2 Premium אוט׳ 2.0 (155 כ״ס)"
  },
  "vehicle_dates": {
    "year_of_production": 2016
  },
  "engine_type": {
    "id": 1101,
    "text": "בנזין"
  },
  "engine_volume": 1999,
  "hand": {
    "id": 2,
    "text": "יד שניה"
  },
  "agent": {
    "id": 4130846,
    "name": "בן",
    "phone": "055-4538743",
    "second_name": "משרד",
    "second_phone": "055-4538749",
    "is_virtual_phone_number": true,
    "agency_name": "auto perfect",
    "agency_logo": "//images.yad2.co.il/Pic/TradeMiniSite/e1b703c3-2d77-4b7f-8932-997cb16cc596.jpeg?t=1778313295150"
  },
  "from_url": "https://www.yad2.co.il/vehicles/cars"
}
```

Each listing returns up to 20 structured fields:

#### Ad Identification

| Field | Meaning |
|---|---|
| `Token` | Unique internal identifier for the listing on Yad2 |
| `Order ID` | Ordering/sequence reference used by the platform |
| `Ad Type` | Type of advertisement (e.g., private seller, dealer, promoted) |
| `Priority` | Listing priority tier — higher values typically indicate paid promotion |

#### Classification

| Field | Meaning |
|---|---|
| `Category ID` | Top-level category code (vehicles) |
| `Subcategory ID` | Subcategory code (e.g., private cars, SUVs, commercial) |
| `Tags` | Labels attached to the listing (e.g., "price reduced", "new listing") |
| `Packages` | Promotion packages applied to the ad |

#### Pricing & Location

| Field | Meaning |
|---|---|
| `Price` | Listed sale price in ILS (Israeli Shekel) |
| `Address` | Geographic location of the vehicle or seller |

#### Vehicle Specifications

| Field | Meaning |
|---|---|
| `Manufacturer` | Car brand (e.g., Toyota, Hyundai, Kia) |
| `Model` | Model name (e.g., Corolla, Tucson) |
| `Sub Model` | Trim level or variant (e.g., Sport, Elite, Executive) |
| `Vehicle Dates` | Year of manufacture and/or registration dates |
| `Engine Type` | Fuel type — petrol, diesel, hybrid, electric, etc. |
| `Engine Volume` | Engine displacement in cc (e.g., 1600, 2000) |
| `Hand` | Ownership history — number of previous owners (1st hand = new/near-new) |

#### Seller & Meta

| Field | Meaning |
|---|---|
| `Customer` | Seller information — private individual or dealer profile |
| `Agent` | Listing agent or dealership contact details, if applicable |
| `Meta Data` | Additional structured metadata attached to the listing by Yad2 |

***

### How to Use

1. **Find your search URL** — Go to `yad2.co.il/vehicles/cars`, apply filters (brand, region, price range), and copy the URL.
2. **Add to input** — Paste into the `urls` array. For multi-page scraping, add each `?page=N` variant separately.
3. **Set item limit** — Adjust `max_items_per_url` based on how many listings per page you need (typically 20–40 per Yad2 page).
4. **Run and export** — Start the actor and download results as JSON, CSV, or Excel.

**Common issues:**

- Ensure the URL points to a **search/listing page**, not an individual car detail page.
- If listings appear incomplete, check whether Yad2 requires a regional filter in the URL.
- Set `ignore_url_failures: true` for bulk multi-page runs to avoid stopping on transient errors.

***

### Use Cases & Business Value

- **Price benchmarking:** Compare prices across manufacturers, models, and ownership history hands
- **Inventory monitoring:** Track new listings matching specific criteria daily
- **Market trend analysis:** Identify which car models are most frequently listed in specific regions
- **Lead generation:** Dealers can identify private sellers for potential trade-in outreach

***

### Conclusion

The **Yad2 Cars Search Scraper** turns Israel's largest vehicle marketplace into a structured data source — no manual browsing, no copy-pasting. With flexible URL input, item limits, and fault-tolerant crawling, it is a practical tool for anyone needing reliable, up-to-date Israeli automotive market data.

# Actor input Schema

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

Add the URLs of the cars 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.yad2.co.il/vehicles/cars"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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.yad2.co.il/vehicles/cars"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/yad2-cars-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.yad2.co.il/vehicles/cars"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/yad2-cars-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.yad2.co.il/vehicles/cars"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/yad2-cars-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Yad2 Cars Search Scraper",
        "description": "Scrape structured car listing data from Yad2.co.il — Israel's largest classifieds platform. Collect price, manufacturer, model, engine specs, seller info, and more from any vehicle search page. Ideal for dealers, analysts, and price comparison tools.",
        "version": "0.0",
        "x-build-id": "FzjFLe3BbF4IvxTTI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~yad2-cars-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-yad2-cars-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~yad2-cars-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-yad2-cars-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~yad2-cars-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-yad2-cars-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the cars list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the cars list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
