# Leboncoin Universal Scraper - Vehicles (`scrapifier/leboncoin-universal-scraper-vehicles`) Actor

⚡ Scrape unlimited Leboncoin vehicle listings — no URL needed! Choose cars, motorbikes or vans, add your filters (brand, fuel, gearbox, mileage, year, price…) and instantly get rich, structured data for market analysis, deal sourcing, price monitoring or lead generation.

- **URL**: https://apify.com/scrapifier/leboncoin-universal-scraper-vehicles.md
- **Developed by:** [Scrapifier](https://apify.com/scrapifier) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.60 / 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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## 🚗 Leboncoin Universal Scraper - Vehicles

**English** | [Français](#-leboncoin-universal-scraper---vehicles-français)

Scrape **Leboncoin vehicles** with simple filters — no URL needed. Pick a category (cars, motorbikes, vans…), a location and your criteria, and export structured data as JSON, CSV or Excel.

### 📋 Contents

- [Overview](#-overview)
- [How to use](#-how-to-use)
- [Input](#-input)
- [Filters reference](#-filters-reference)
- [Output](#-output)
- [Proxy and performance](#-proxy-and-performance)
- [Related Actors](#-related-actors)
- [FAQ](#-faq)
- [Support](#-support)

### 📖 Overview

Choose what to search (cars, motorbikes, vans & utility, caravanning, trucks, boats) and your filters. The Actor turns it into the exact Leboncoin search and collects every matching listing: title, price, description, typed attributes (brand, model, fuel, gearbox, mileage, year, power, Crit'Air…), images, seller signals and full geolocation.

- **No URL to build** — pick a category and your criteria.
- **Full vehicle filter set** — brand, model, fuel, gearbox, year, mileage, price, body type, colour, doors, seats, power, Crit'Air, Euro standard — plus engine cc / type / licence for motorbikes, and an advanced object for anything else (see the [Filters reference](#-filters-reference)).
- **Locations by name** — city, arrondissement or postal code (geocoded automatically); empty = all France.
- **Complete coverage** — automatic price-splitting for large result sets.
- Exports to JSON, CSV, Excel, or the Apify dataset API.

> Looking for real estate? Use the **[Leboncoin Universal Scraper - Real Estate](https://apify.com/scrapifier/leboncoin-universal-scraper-real-estate)**. Prefer pasting a search URL for any category? Use the **[Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper)** (URL mode).

### 🚀 How to use

1. Pick a **category** (cars / motorbikes / vans / caravanning / trucks / boats).
2. Add a **location** (city / postcode) — or leave empty for all France.
3. Set your filters: brand, fuel, gearbox, mileage, year, price, seller type… anything not listed goes in **Advanced filters** (see the [Filters reference](#-filters-reference)).
4. Start the run and download your data from the **Storage** tab or the API.

### 📥 Input

| Field | Key | Type | Description |
|---|---|---|---|
| Vehicle type | `category` | string | `2` cars, `3` motorbikes, `5` vans, `4` caravanning, `300` trucks, `7` boats (dropdown). |
| Locations | `locations` | array | Cities / arrondissements / postal codes, e.g. `Lyon`, `75011`. Empty = all France. |
| Keywords | `text` | string | Free-text keywords. |
| Brand / model | `vehicle_brand`, `vehicle_model` | string | e.g. `RENAULT`, `RENAULT_Clio`. |
| Fuel / gearbox | `fuel`, `gearbox` | array | `1` petrol, `2` diesel, `4` electric… / `1` manual, `2` automatic. |
| Year / mileage | `year_min/max`, `mileage_min/max` | integer | Registration year, km. |
| Min / Max price | `price_min` / `price_max` | integer | Price range in €. |
| Seller type | `owner_type` | string | `all`, `private` or `pro`. |
| Sort | `sort` | string | `relevance`, `newest`, `price_asc`, `price_desc`. |
| Car filters | `vehicle_type`, `vehicle_color`, `doors_min`, `seats_min`, `power_min`, `critair_max`, `euro_standard`, `vsp`, `vehicle_condition` | — | Body, colour, power, Crit'Air… |
| Motorbike filters | `cc_min/max`, `cycle_type`, `motorcycle_type`, `cycle_licence` | — | Engine cc, type, style, licence. |
| **Advanced filters** | `filters` | object | Any other Leboncoin filter — `key: [codes]` (enum) or `key: {"min":.., "max":..}` (range). See the [Filters reference](#-filters-reference). |
| Max results | `max_results` | integer | How many listings to collect (`0` = all). |
| Proxy | `proxyConfiguration` | object | Residential FR recommended. |

<details>
<summary>Example — used diesel cars near Lyon</summary>

```json
{
  "category": "2",
  "locations": ["Lyon"],
  "vehicle_brand": "RENAULT",
  "fuel": ["2"],
  "year_min": 2018,
  "mileage_max": 150000,
  "price_max": 25000,
  "max_results": 100,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" }
}
````

This is the Actor's default (pre-filled) input — run it as-is to get results immediately.

</details>

<details>
<summary>Example — motorbikes in Paris</summary>

```json
{
  "category": "3",
  "locations": ["Paris"],
  "vehicle_brand": "YAMAHA",
  "cc_min": 500,
  "cycle_type": ["moto"],
  "motorcycle_type": ["roadster"],
  "price_max": 8000,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" }
}
```

</details>

### 🎛️ Filters reference

Every dedicated input maps to one Leboncoin filter — the tables below give the underlying key and its codes. The **Advanced filters** (`filters`) object accepts **any other Leboncoin filter**: each entry is either an **enum** (a list of codes) or a **range** (`{"min": …, "max": …}`). Codes verified live against the Leboncoin API (July 2026).

#### 🚗 Cars (and mostly vans / trucks)

| Dedicated input | Leboncoin key | Type | Values / codes |
|---|---|---|---|
| `vehicle_brand` | `u_car_brand` | enum | `RENAULT`, `PEUGEOT`, `CITROEN`, `BMW`, `AUDI`, `VOLKSWAGEN`, `MERCEDES-BENZ`, `TESLA`, `TOYOTA`, `FORD`… (UPPERCASE) |
| `vehicle_model` | `u_car_model` | enum | `RENAULT_Clio`, `PEUGEOT_208`… (format `BRAND_Model`) |
| `fuel` | `fuel` | enum | `1` Petrol · `2` Diesel · `4` Electric · `6` Hybrid · `8` Plug-in hybrid |
| `gearbox` | `gearbox` | enum | `1` Manual · `2` Automatic |
| `vehicle_type` | `vehicle_type` | enum | `citadine`, `berline`, `break`, `coupe`, `cabriolet`, `monospace`, `4x4`, `autre` |
| `vehicle_color` | `vehicule_color` | enum | `blanc`, `noir`, `gris`, `bleu`, `rouge`, `vert`, `marron`, `beige`, `argent`, `orange`, `bordeaux`, `jaune`, `violet`, `autre` |
| `year_min/max` | `regdate` | range | Registration year |
| `mileage_min/max` | `mileage` | range | Mileage (km) |
| `power_min` | `horse_power_din` | range | Power (ch DIN) |
| — | `horsepower` | range | Fiscal power (CV) — advanced only |
| `doors_min` | `doors` | range | Number of doors |
| `seats_min` | `seats` | range | Number of seats |
| `critair_max` | `critair` | range | Crit'Air `0`–`5` (0 = cleanest) |
| `euro_standard` | `vehicle_euro_emissions_standard` | enum | `euro2`, `euro3`, `euro4`, `euro5`, `euro5plus`, `euro6` |
| `vsp` | `vehicle_vsp` | enum | `avecpermis`, `sanspermis` |
| `vehicle_condition` | `vehicle_damage` | enum | `undamaged`, `normal_wear_and_tear`, `excellent_condition`, `good_overall_condition`, `minor_repairs_needed`, `major_repairs_needed` |

#### 🏍️ Motorbikes

| Dedicated input | Leboncoin key | Type | Values / codes |
|---|---|---|---|
| `vehicle_brand` | `u_moto_brand` | enum | `YAMAHA`, `HONDA`, `KAWASAKI`, `BMW`, `PEUGEOT`… (UPPERCASE) |
| `vehicle_model` | `u_moto_model` | enum | Format `BRAND_Model` |
| `cc_min/max` | `cubic_capacity` | range | Engine displacement (cm³) |
| `cycle_type` | `cycle_type` | enum | `moto`, `scooter`, `moped&motorbike` |
| `motorcycle_type` | `motorcycle_type` | enum | `sportive`, `motocross`, `supermotard`, `trail`, `roadster`, `touring`, `enduro` |
| `cycle_licence` | `cycle_licence` | enum | `permisam`, `permisa2`, `permisa`, `permisal`, `sanspermis` |
| `fuel` / `gearbox` | `fuel` / `gearbox` | enum | `1` Petrol · `4` Electric / `1` Manual · `2` Automatic |
| `year_min/max`, `mileage_min/max`, `critair_max` | `regdate`, `mileage`, `critair` | range | Same as cars |

> The brand/model keys are picked automatically: motorbikes use `u_moto_brand` / `u_moto_model`, every other category uses `u_car_brand` / `u_car_model`.

#### 🚐 Caravanning, boats & category-specific keys

Caravanning (`4`) and boats (`7`) share the universal filters (price, year, seller…); their specific keys (berths, boat length…) go in **Advanced filters**.

**Using Advanced filters** — pass the Leboncoin key directly (it also lets you override any dedicated input, e.g. use a range for power instead of a minimum):

```json
"filters": {
  "u_car_model": ["RENAULT_Clio"],
  "horsepower": { "min": 4, "max": 7 },
  "vehicule_color": ["noir", "gris"]
}
```

> 💡 **Finding any key or code:** build your search on [leboncoin.fr](https://www.leboncoin.fr) and read the URL — the query parameters are exactly these keys and values (e.g. `fuel=2&gearbox=2&mileage=0-100000`). Anything in the URL works in **Advanced filters**.

### 📤 Output

Each listing is one dataset item (JSON / CSV / Excel / API). Fields include `id`, `subject`, `body`, `price`, `url`, `category_name`, typed `attributes[]` (brand, model, fuel, gearbox, mileage, year, power…), `images[]`, `location{}` (city, zipcode, lat, lng), `has_phone`, `scraped_at`, and `search_category` / `search_location`.

### 🛡️ Proxy and performance

- Use **Apify residential proxies (country FR)** for the most reliable runs.
- Set **Max results** to the volume you want; use `0` to collect everything available.
- Add a price range for very large searches — the Actor splits it automatically to cover all results.

### 🔗 Related Actors

- [Leboncoin Universal Scraper - Real Estate](https://apify.com/scrapifier/leboncoin-universal-scraper-real-estate) — rentals, sales, flatshares… by filters.
- [Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper) — any category, **by URL**.
- [SeLoger Universal Scraper](https://apify.com/scrapifier/seloger-universal-scraper) — real estate on SeLoger.

### ❓ FAQ

**Which categories are supported?** Cars, motorbikes, vans & utility, caravanning, trucks, and boats.

**How do I find a filter's code?** Build the search on leboncoin.fr and read the URL parameters (e.g. `fuel=2&gearbox=2`), or see the [Filters reference](#-filters-reference).

**How fresh is the data?** Collected live at runtime.

### 💬 Support

Questions or issues? Post them in the **Issues** tab.

<br>

***

<br>

## 🚗 Leboncoin Universal Scraper - Vehicles (Français)

[English](#-leboncoin-universal-scraper---vehicles) | **Français**

Scrapez **les véhicules Leboncoin** avec des filtres simples — sans URL. Choisissez une catégorie (voitures, motos, utilitaires…), un lieu et vos critères, et exportez des données structurées en JSON, CSV ou Excel.

### 📋 Sommaire

- [Présentation](#-présentation)
- [Utilisation](#-utilisation)
- [Paramètres](#-paramètres)
- [Référence des filtres](#-filters-reference)
- [Données extraites](#-données-extraites)
- [Proxy et performance](#-proxy-et-performance)
- [Actors similaires](#-actors-similaires)
- [FAQ](#-faq-1)
- [Support](#-support-1)

### 📖 Présentation

Choisissez quoi chercher (voitures, motos, utilitaires, caravaning, camions, bateaux) et vos filtres. L'Actor construit la recherche Leboncoin exacte et collecte toutes les annonces : titre, prix, description, attributs typés (marque, modèle, carburant, boîte, kilométrage, année, puissance, Crit'Air…), images, signaux vendeur et géolocalisation complète.

- **Aucune URL à construire** — juste une catégorie et vos critères.
- **Tous les filtres véhicules** — marque, modèle, carburant, boîte, année, kilométrage, prix, carrosserie, couleur, portes, places, puissance, Crit'Air, norme Euro — plus cylindrée / type / permis pour les motos, et un objet avancé pour le reste (voir la [référence des filtres](#-filters-reference)).
- **Lieux par nom** — ville, arrondissement ou code postal (géocodés) ; vide = toute la France.
- **Couverture complète** — découpe automatique par prix pour les gros volumes.
- Export JSON, CSV, Excel, ou API dataset Apify.

> Vous cherchez de l'immobilier ? Utilisez le **[Leboncoin Universal Scraper - Real Estate](https://apify.com/scrapifier/leboncoin-universal-scraper-real-estate)**. Vous préférez coller une URL (toute catégorie) ? Utilisez le **[Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper)** (mode URL).

### 🚀 Utilisation

1. Choisissez une **catégorie** (voitures / motos / utilitaires / caravaning / camions / bateaux).
2. Ajoutez un **lieu** (ville / code postal) — ou laissez vide pour toute la France.
3. Réglez vos filtres : marque, carburant, boîte, kilométrage, année, prix, type de vendeur… le reste va dans **Advanced filters** (voir la [référence des filtres](#-filters-reference)).
4. Lancez le run et récupérez vos données dans l'onglet **Storage** ou l'API.

### 📥 Paramètres

| Champ | Clé | Type | Description |
|---|---|---|---|
| Type de véhicule | `category` | chaîne | `2` voitures, `3` motos, `5` utilitaires, `4` caravaning, `300` camions, `7` bateaux (menu déroulant). |
| Localisations | `locations` | tableau | Villes / arrondissements / codes postaux, ex. `Lyon`, `75011`. Vide = toute la France. |
| Mots-clés | `text` | chaîne | Recherche par mots-clés. |
| Marque / modèle | `vehicle_brand`, `vehicle_model` | chaîne | ex. `RENAULT`, `RENAULT_Clio`. |
| Carburant / boîte | `fuel`, `gearbox` | tableau | `1` essence, `2` diesel, `4` électrique… / `1` manuelle, `2` automatique. |
| Année / kilométrage | `year_min/max`, `mileage_min/max` | entier | Année de mise en circulation, km. |
| Prix min / max | `price_min` / `price_max` | entier | Fourchette de prix en €. |
| Type de vendeur | `owner_type` | chaîne | `all`, `private` ou `pro`. |
| Tri | `sort` | chaîne | `relevance`, `newest`, `price_asc`, `price_desc`. |
| Filtres voiture | `vehicle_type`, `vehicle_color`, `doors_min`, `seats_min`, `power_min`, `critair_max`, `euro_standard`, `vsp`, `vehicle_condition` | — | Carrosserie, couleur, puissance, Crit'Air… |
| Filtres moto | `cc_min/max`, `cycle_type`, `motorcycle_type`, `cycle_licence` | — | Cylindrée, type, style, permis. |
| **Advanced filters** | `filters` | objet | Tout autre filtre Leboncoin — `clé : [codes]` (enum) ou `clé : {"min":.., "max":..}` (plage). Voir la [référence des filtres](#-filters-reference) (tableaux clés/codes, en anglais). |
| Résultats max | `max_results` | entier | Nombre d'annonces à collecter (`0` = tout). |
| Proxy | `proxyConfiguration` | objet | Résidentiel FR recommandé. |

### 📤 Données extraites

Chaque annonce est un élément du dataset (JSON / CSV / Excel / API). Champs : `id`, `subject`, `body`, `price`, `url`, `category_name`, `attributes[]` typés (marque, modèle, carburant, boîte, kilométrage, année, puissance…), `images[]`, `location{}` (ville, code postal, lat, lng), `has_phone`, `scraped_at`, et `search_category` / `search_location`.

### 🛡️ Proxy et performance

- Utilisez les **proxies résidentiels Apify (pays FR)** pour des runs plus fiables.
- Réglez **Résultats max** selon le volume voulu ; mettez `0` pour tout récupérer.
- Ajoutez une fourchette de prix pour les très grosses recherches — l'Actor la découpe automatiquement pour tout couvrir.

### 🔗 Actors similaires

- [Leboncoin Universal Scraper - Real Estate](https://apify.com/scrapifier/leboncoin-universal-scraper-real-estate) — locations, ventes, colocations… par filtres.
- [Leboncoin Scraper](https://apify.com/scrapifier/leboncoin-universal-scraper) — toute catégorie, **par URL**.
- [SeLoger Universal Scraper](https://apify.com/scrapifier/seloger-universal-scraper) — immobilier sur SeLoger.

### ❓ FAQ

**Quelles catégories ?** Voitures, motos, utilitaires, caravaning, camions, et bateaux.

**Comment trouver le code d'un filtre ?** Construisez la recherche sur leboncoin.fr et lisez les paramètres de l'URL (ex. `fuel=2&gearbox=2`), ou voir la [référence des filtres](#-filters-reference).

**Les données sont-elles à jour ?** Collectées en direct au moment du run.

### 💬 Support

Une question ou un souci ? Postez dans l'onglet **Issues**.

# Actor input Schema

## `category` (type: `string`):

Which vehicle category to search. Car filters apply to cars/vans; motorbike filters (engine cc, type, licence) apply to motorbikes.

## `text` (type: `string`):

Optional free-text keywords, e.g. a model or trim.

## `locations` (type: `array`):

City, arrondissement or postal code, e.g. "Paris 11", "Lyon", "75011". Add several, or leave empty to search all of France.

## `vehicle_brand` (type: `string`):

Brand in UPPERCASE, e.g. RENAULT, PEUGEOT, BMW, YAMAHA, HONDA.

## `vehicle_model` (type: `string`):

Model as BRAND\_Model, e.g. RENAULT\_Clio, PEUGEOT\_208, BMW\_Serie 3.

## `fuel` (type: `array`):

One or more fuel types.

## `gearbox` (type: `array`):

Manual and/or automatic.

## `year_min` (type: `integer`):

Minimum registration year.

## `year_max` (type: `integer`):

Maximum registration year.

## `mileage_min` (type: `integer`):

Minimum mileage.

## `mileage_max` (type: `integer`):

Maximum mileage.

## `price_min` (type: `integer`):

Minimum price.

## `price_max` (type: `integer`):

Maximum price.

## `owner_type` (type: `string`):

Filter by seller.

## `sort` (type: `string`):

Result ordering.

## `vehicle_type` (type: `array`):

Car body type.

## `vehicle_color` (type: `array`):

Vehicle colour.

## `doors_min` (type: `integer`):

Minimum number of doors.

## `seats_min` (type: `integer`):

Minimum number of seats.

## `power_min` (type: `integer`):

Minimum DIN horsepower.

## `critair_max` (type: `integer`):

Maximum Crit'Air rating (0 = cleanest, e.g. electric).

## `euro_standard` (type: `array`):

Emission standard.

## `vsp` (type: `array`):

With or without driving licence.

## `vehicle_condition` (type: `array`):

Vehicle condition.

## `cc_min` (type: `integer`):

Minimum engine displacement (motorbikes).

## `cc_max` (type: `integer`):

Maximum engine displacement (motorbikes).

## `cycle_type` (type: `array`):

Two-wheeler type.

## `motorcycle_type` (type: `array`):

Motorcycle style.

## `cycle_licence` (type: `array`):

Required licence (motorbikes).

## `filters` (type: `object`):

Any other Leboncoin vehicle filter — each entry is a key with either a list of codes (enum) or a {"min":.., "max":..} range. Example: {"u\_car\_model": \["RENAULT\_Clio"], "horsepower": {"min": 4, "max": 7}, "vehicule\_color": \["noir", "gris"]}. The full key/code tables are in the README (Filters reference section). Tip: build your search on leboncoin.fr and copy the URL query parameters — every key and value from the URL works here (e.g. fuel=2\&gearbox=2\&mileage=0-100000 → {"fuel": \["2"], "gearbox": \["2"], "mileage": {"max": 100000}}). Also lets you override any dedicated input above.

## `max_results` (type: `integer`):

How many listings to collect (0 = as many as available).

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

Residential FR proxies are recommended for reliable runs.

## Actor input object example

```json
{
  "category": "2",
  "locations": [
    "Lyon"
  ],
  "vehicle_brand": "RENAULT",
  "fuel": [
    "2"
  ],
  "year_min": 2018,
  "mileage_max": 150000,
  "price_max": 25000,
  "owner_type": "all",
  "sort": "relevance",
  "filters": {},
  "max_results": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "FR"
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

All Leboncoin vehicle listings extracted by this run.

# 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 = {
    "locations": [
        "Lyon"
    ],
    "vehicle_brand": "RENAULT",
    "fuel": [
        "2"
    ],
    "year_min": 2018,
    "mileage_max": 150000,
    "price_max": 25000,
    "filters": {},
    "max_results": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "FR"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapifier/leboncoin-universal-scraper-vehicles").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 = {
    "locations": ["Lyon"],
    "vehicle_brand": "RENAULT",
    "fuel": ["2"],
    "year_min": 2018,
    "mileage_max": 150000,
    "price_max": 25000,
    "filters": {},
    "max_results": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "FR",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapifier/leboncoin-universal-scraper-vehicles").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 '{
  "locations": [
    "Lyon"
  ],
  "vehicle_brand": "RENAULT",
  "fuel": [
    "2"
  ],
  "year_min": 2018,
  "mileage_max": 150000,
  "price_max": 25000,
  "filters": {},
  "max_results": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "FR"
  }
}' |
apify call scrapifier/leboncoin-universal-scraper-vehicles --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapifier/leboncoin-universal-scraper-vehicles",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Leboncoin Universal Scraper - Vehicles",
        "description": "⚡ Scrape unlimited Leboncoin vehicle listings — no URL needed! Choose cars, motorbikes or vans, add your filters (brand, fuel, gearbox, mileage, year, price…) and instantly get rich, structured data for market analysis, deal sourcing, price monitoring or lead generation.",
        "version": "0.1",
        "x-build-id": "LWnxvyj41nYO5ADXE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapifier~leboncoin-universal-scraper-vehicles/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapifier-leboncoin-universal-scraper-vehicles",
                "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/scrapifier~leboncoin-universal-scraper-vehicles/runs": {
            "post": {
                "operationId": "runs-sync-scrapifier-leboncoin-universal-scraper-vehicles",
                "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/scrapifier~leboncoin-universal-scraper-vehicles/run-sync": {
            "post": {
                "operationId": "run-sync-scrapifier-leboncoin-universal-scraper-vehicles",
                "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": {
                    "category": {
                        "title": "Vehicle type",
                        "enum": [
                            "2",
                            "3",
                            "5",
                            "4",
                            "300",
                            "7"
                        ],
                        "type": "string",
                        "description": "Which vehicle category to search. Car filters apply to cars/vans; motorbike filters (engine cc, type, licence) apply to motorbikes.",
                        "default": "2"
                    },
                    "text": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Optional free-text keywords, e.g. a model or trim."
                    },
                    "locations": {
                        "title": "Location(s)",
                        "type": "array",
                        "description": "City, arrondissement or postal code, e.g. \"Paris 11\", \"Lyon\", \"75011\". Add several, or leave empty to search all of France.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "vehicle_brand": {
                        "title": "Brand",
                        "type": "string",
                        "description": "Brand in UPPERCASE, e.g. RENAULT, PEUGEOT, BMW, YAMAHA, HONDA."
                    },
                    "vehicle_model": {
                        "title": "Model",
                        "type": "string",
                        "description": "Model as BRAND_Model, e.g. RENAULT_Clio, PEUGEOT_208, BMW_Serie 3."
                    },
                    "fuel": {
                        "title": "Fuel",
                        "type": "array",
                        "description": "One or more fuel types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2",
                                "4",
                                "6",
                                "8"
                            ],
                            "enumTitles": [
                                "Petrol",
                                "Diesel",
                                "Electric",
                                "Hybrid",
                                "Plug-in hybrid"
                            ]
                        }
                    },
                    "gearbox": {
                        "title": "Gearbox",
                        "type": "array",
                        "description": "Manual and/or automatic.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2"
                            ],
                            "enumTitles": [
                                "Manual",
                                "Automatic"
                            ]
                        }
                    },
                    "year_min": {
                        "title": "Min year",
                        "minimum": 1900,
                        "type": "integer",
                        "description": "Minimum registration year."
                    },
                    "year_max": {
                        "title": "Max year",
                        "minimum": 1900,
                        "type": "integer",
                        "description": "Maximum registration year."
                    },
                    "mileage_min": {
                        "title": "Min mileage (km)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum mileage."
                    },
                    "mileage_max": {
                        "title": "Max mileage (km)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum mileage."
                    },
                    "price_min": {
                        "title": "Min price (€)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price."
                    },
                    "price_max": {
                        "title": "Max price (€)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price."
                    },
                    "owner_type": {
                        "title": "Seller type",
                        "enum": [
                            "all",
                            "private",
                            "pro"
                        ],
                        "type": "string",
                        "description": "Filter by seller.",
                        "default": "all"
                    },
                    "sort": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "newest",
                            "price_asc",
                            "price_desc"
                        ],
                        "type": "string",
                        "description": "Result ordering.",
                        "default": "relevance"
                    },
                    "vehicle_type": {
                        "title": "Body type (cars)",
                        "type": "array",
                        "description": "Car body type.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "citadine",
                                "berline",
                                "break",
                                "coupe",
                                "cabriolet",
                                "monospace",
                                "4x4",
                                "autre"
                            ],
                            "enumTitles": [
                                "City car",
                                "Sedan",
                                "Estate",
                                "Coupé",
                                "Convertible",
                                "Minivan",
                                "SUV / 4x4",
                                "Other"
                            ]
                        }
                    },
                    "vehicle_color": {
                        "title": "Colour",
                        "type": "array",
                        "description": "Vehicle colour.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "blanc",
                                "noir",
                                "gris",
                                "bleu",
                                "rouge",
                                "vert",
                                "marron",
                                "beige",
                                "argent",
                                "orange",
                                "bordeaux",
                                "jaune",
                                "violet",
                                "autre"
                            ],
                            "enumTitles": [
                                "White",
                                "Black",
                                "Grey",
                                "Blue",
                                "Red",
                                "Green",
                                "Brown",
                                "Beige",
                                "Silver",
                                "Orange",
                                "Burgundy",
                                "Yellow",
                                "Purple",
                                "Other"
                            ]
                        }
                    },
                    "doors_min": {
                        "title": "Min doors",
                        "minimum": 2,
                        "type": "integer",
                        "description": "Minimum number of doors."
                    },
                    "seats_min": {
                        "title": "Min seats",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of seats."
                    },
                    "power_min": {
                        "title": "Min power (hp / ch DIN)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum DIN horsepower."
                    },
                    "critair_max": {
                        "title": "Max Crit'Air",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Maximum Crit'Air rating (0 = cleanest, e.g. electric)."
                    },
                    "euro_standard": {
                        "title": "Euro emission standard",
                        "type": "array",
                        "description": "Emission standard.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "euro2",
                                "euro3",
                                "euro4",
                                "euro5",
                                "euro5plus",
                                "euro6"
                            ],
                            "enumTitles": [
                                "Euro 2",
                                "Euro 3",
                                "Euro 4",
                                "Euro 5",
                                "Euro 5+",
                                "Euro 6"
                            ]
                        }
                    },
                    "vsp": {
                        "title": "Licence (cars)",
                        "type": "array",
                        "description": "With or without driving licence.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "avecpermis",
                                "sanspermis"
                            ],
                            "enumTitles": [
                                "Licence required",
                                "No licence (VSP)"
                            ]
                        }
                    },
                    "vehicle_condition": {
                        "title": "Condition",
                        "type": "array",
                        "description": "Vehicle condition.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "excellent_condition",
                                "good_overall_condition",
                                "minor_repairs_needed",
                                "major_repairs_needed",
                                "undamaged",
                                "normal_wear_and_tear"
                            ],
                            "enumTitles": [
                                "Excellent",
                                "Good overall",
                                "Minor repairs needed",
                                "Major repairs needed",
                                "Undamaged",
                                "Normal wear"
                            ]
                        }
                    },
                    "cc_min": {
                        "title": "Min engine (cm³)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum engine displacement (motorbikes)."
                    },
                    "cc_max": {
                        "title": "Max engine (cm³)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum engine displacement (motorbikes)."
                    },
                    "cycle_type": {
                        "title": "Type",
                        "type": "array",
                        "description": "Two-wheeler type.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "moto",
                                "scooter",
                                "moped&motorbike"
                            ],
                            "enumTitles": [
                                "Motorcycle",
                                "Scooter",
                                "Moped"
                            ]
                        }
                    },
                    "motorcycle_type": {
                        "title": "Style",
                        "type": "array",
                        "description": "Motorcycle style.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "sportive",
                                "motocross",
                                "supermotard",
                                "trail",
                                "roadster",
                                "touring",
                                "enduro"
                            ],
                            "enumTitles": [
                                "Sport",
                                "Motocross",
                                "Supermoto",
                                "Trail",
                                "Roadster",
                                "Touring",
                                "Enduro"
                            ]
                        }
                    },
                    "cycle_licence": {
                        "title": "Licence",
                        "type": "array",
                        "description": "Required licence (motorbikes).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "permisam",
                                "permisa2",
                                "permisa",
                                "permisal",
                                "sanspermis"
                            ],
                            "enumTitles": [
                                "AM",
                                "A2",
                                "A",
                                "AL",
                                "No licence"
                            ]
                        }
                    },
                    "filters": {
                        "title": "Advanced filters",
                        "type": "object",
                        "description": "Any other Leboncoin vehicle filter — each entry is a key with either a list of codes (enum) or a {\"min\":.., \"max\":..} range. Example: {\"u_car_model\": [\"RENAULT_Clio\"], \"horsepower\": {\"min\": 4, \"max\": 7}, \"vehicule_color\": [\"noir\", \"gris\"]}. The full key/code tables are in the README (Filters reference section). Tip: build your search on leboncoin.fr and copy the URL query parameters — every key and value from the URL works here (e.g. fuel=2&gearbox=2&mileage=0-100000 → {\"fuel\": [\"2\"], \"gearbox\": [\"2\"], \"mileage\": {\"max\": 100000}}). Also lets you override any dedicated input above."
                    },
                    "max_results": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many listings to collect (0 = as many as available).",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy",
                        "type": "object",
                        "description": "Residential FR proxies are recommended for reliable runs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
