# Leboncoin Voitures Scraper - Annonces + Téléphones (`clearpath/leboncoin-voitures`) Actor

Annonces voitures leboncoin.fr avec le téléphone du vendeur, sans compte leboncoin. Critères exacts : marque, modèle, énergie, boîte, année, kilométrage, puissance, Crit'Air. Prix estimé, historique du véhicule, profils vendeurs et alertes de nouvelles annonces. Export JSON, CSV, Excel.

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

## Pricing

from $0.99 / 1,000 annonces

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![Téléphones des garages et particuliers, sans compte leboncoin. Kilométrage, prix estimé, historique du véhicule.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/leboncoin-voitures-readme-20261007-5f7e53a2070c.png)](https://console.apify.com/actors/FX8mMp38oGAxk96mQ/input)

Par **Clearpath**, créateurs du [scraper Leboncoin n°1 sur Apify](https://apify.com/clearpath/leboncoin-api), avec une suite dédiée à l'[immobilier](https://apify.com/clearpath/leboncoin-immobilier), aux [numéros de téléphone](https://apify.com/clearpath/leboncoin-phone-scraper) et à la [messagerie acheteur](https://apify.com/clearpath/leboncoin-acheteur).

### Pourquoi choisir cet actor ?

**Le numéro du vendeur, sans compte leboncoin.** Activez une option : chaque annonce qui affiche un téléphone revient avec le numéro, celui du particulier ou le numéro de renvoi leboncoin du garage, propre à chaque annonce. Aucun compte, mot de passe ou code SMS à fournir, et un numéro introuvable n'est pas facturé.

**Des critères exacts, appliqués par leboncoin.** Marque, modèle, énergie, boîte, année, kilométrage, puissance, Crit'Air, carrosserie, état : chaque critère est vérifié avant la recherche. Un modèle mal orthographié arrête l'exécution et propose les noms proches, au lieu d'élargir la recherche sans prévenir.

**Chaque voiture, prête à comparer.** Le bloc `vehicle` donne la marque, le modèle, la version, l'année, le kilométrage en nombre, l'énergie, la boîte, la puissance, l'estimation de prix leboncoin et le lien du rapport d'historique quand l'annonce en a un. Le mode surveillance ne renvoie que les nouvelles annonces, vers Telegram ou votre webhook.

<a href="https://console.apify.com/actors/FX8mMp38oGAxk96mQ/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/leboncoin-voitures-readme-20261007-9fff1df8a233.svg" width="244" height="48" alt="Essayer ma recherche voiture"/></a>

### Essayez avec un modèle

Cet exemple cherche 10 Peugeot 3008 dans toute la France, avec le numéro du vendeur et son profil.

```json
{
  "brands": [
    "PEUGEOT"
  ],
  "models": [
    "3008"
  ],
  "adLimit": 10,
  "includePhone": true,
  "includeSeller": true
}
```

[Ouvrir les paramètres](https://console.apify.com/actors/FX8mMp38oGAxk96mQ/input) pour changer de modèle, ajouter l'énergie, la boîte, l'année ou le kilométrage, choisir une ville, ou coller une URL de recherche leboncoin.

Les profils vendeurs et les numéros de téléphone sont des options facturées séparément selon la [tarification](https://apify.com/clearpath/leboncoin-voitures/pricing). Les champs disponibles dépendent de chaque annonce.

<table>
<tr>
<td style="background:#FF6E14;color:#1C1917;padding:10px 14px;font-size:13px;font-weight:700;border-radius:4px 4px 0 0">Clearpath · Leboncoin Suite</td>
</tr>
<tr>
<td style="padding:6px;border:1px solid #EDD2BD;border-top:none;border-radius:0 0 4px 4px;background:#FFF1E5">
<span style="display:inline-block;vertical-align:top;margin:3px;padding:8px 8px;border:1px solid #EDD2BD;border-radius:4px;background:#FFE1C9"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-JUFnhDjGAS8VM64Or-NK2uxNA7xa-leboncoin-api-scraper.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/leboncoin-voitures" style="color:#202124;text-decoration:none;font-weight:700;font-size:13px">Voitures</a></span><br><span style="color:#51443B;font-size:12px;white-space:nowrap">Vous êtes ici</span></span><span style="display:inline-block;vertical-align:top;margin:3px;padding:8px 8px;border:1px solid #EDD2BD;border-radius:4px;background:#FFF1E5"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-nfWPDHJzRb80PsNo1-75H3RM9GEy-leboncoin-api-scraper.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/leboncoin-api" style="color:#202124;text-decoration:none;font-weight:700;font-size:13px">Annonces</a></span><br><span style="color:#51443B;font-size:12px;white-space:nowrap">Recherche & détails</span></span><span style="display:inline-block;vertical-align:top;margin:3px;padding:8px 8px;border:1px solid #EDD2BD;border-radius:4px;background:#FFF1E5"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-JUFnhDjGAS8VM64Or-NK2uxNA7xa-leboncoin-api-scraper.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/leboncoin-immobilier" style="color:#202124;text-decoration:none;font-weight:700;font-size:13px">Immobilier</a></span><br><span style="color:#51443B;font-size:12px;white-space:nowrap">Biens & DPE</span></span><span style="display:inline-block;vertical-align:top;margin:3px;padding:8px 8px;border:1px solid #EDD2BD;border-radius:4px;background:#FFF1E5"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-Ktt3U5wPXmawkW1IF-nCZRq8jHrG-leboncoin-api-scraper.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/leboncoin-phone-scraper" style="color:#202124;text-decoration:none;font-weight:700;font-size:13px">Téléphones</a></span><br><span style="color:#51443B;font-size:12px;white-space:nowrap">Contacts vendeurs</span></span><span style="display:inline-block;vertical-align:top;margin:3px;padding:8px 8px;border:1px solid #EDD2BD;border-radius:4px;background:#FFF1E5"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-EoBhkQkutNdzHseHz-svR2iRzhCP-leboncoin-api-scraper.png" width="20" height="20" alt="" style="vertical-align:middle"/>&nbsp;&nbsp;<a href="https://apify.com/clearpath/leboncoin-acheteur" style="color:#202124;text-decoration:none;font-weight:700;font-size:13px">Acheteur</a></span><br><span style="color:#51443B;font-size:12px;white-space:nowrap">Messages & inbox</span></span>
</td>
</tr>
</table>

#### Copy to your AI assistant

```
clearpath/leboncoin-voitures on Apify: used-car listings from leboncoin.fr (France) with exact criteria and a typed `vehicle` object per ad (make, model, year, mileage_km, fuel, gearbox, power, leboncoin price rating and estimate, history report link). Filter with brands (leboncoin make codes such as RENAULT), models (display names such as "Clio"; add the make when a name is shared), fuel, gearbox, yearMin/yearMax, mileageMin/mileageMax, powerMin/powerMax, location, price_min_filter/price_max_filter; an unknown value stops the run with suggestions before any search, so nothing is widened (only the start fee applies). Or pass searchUrl (Voitures category only; form criteria are added to it) or adDetailUrls (each listed ad is returned, up to 100). adLimit caps search results (default 100). For seller phone numbers set includePhone=true: no leboncoin login needed, standard mode only, looked up only on ads that show a phone, $4.99 per 1,000 numbers found; dealers get a leboncoin forwarding number per listing. includeSeller (default true) adds seller profiles at $2.99 per 1,000. mode="monitor" returns only ads new since the previous run of the same search, without phones. Listings cost $1.49 per 1,000 (less on higher Apify plans). Full spec: https://api.apify.com/v2/actors/clearpath~leboncoin-voitures/builds/default (Authorization: Bearer). Pricing: https://apify.com/clearpath/leboncoin-voitures/pricing. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### Fonctionnalités

- **Critères voiture exacts** : marques, modèles par leur nom affiché, énergie, boîte de vitesse, année modèle, kilométrage, puissance DIN et fiscale, carrosserie, couleur, portes, places, Crit'Air, état du véhicule, voiture avec ou sans permis.
- **Un bloc `vehicle` prêt à l'emploi** : chaque caractéristique sous un nom clair, l'année, le kilométrage et la puissance en nombres, et chaque code leboncoin accompagné de son libellé (`fuel: "Diesel"`, `fuel_code: "2"`).
- **L'avis de prix leboncoin** : positionnement (Bonne affaire, Prix équitable, Au-dessus du marché…) et fourchette de prix estimée, quand leboncoin la calcule pour l'annonce.
- **L'historique du véhicule** : lien du rapport d'historique, nombre de propriétaires, import, entretien, contrôle technique et garantie, quand l'annonce les affiche.
- **Numéros de téléphone sans compte leboncoin**, facturés uniquement quand un numéro est trouvé.
- **Profils vendeurs** : nom, type, SIREN des professionnels, taux et délai de réponse, badges, nombre d'annonces.
- **Mode surveillance** : seulement les nouvelles annonces, avec alertes Telegram ou envoi vers votre webhook (Make, Zapier, n8n).
- **URL de recherche** : collez une recherche leboncoin de la catégorie Voitures ; les critères du formulaire s'y ajoutent.
- Export JSON, CSV, Excel, ou depuis votre code et vos outils (Make, Zapier, n8n). Toutes les données de l'annonce restent dans le résultat, y compris la liste complète `attributes`.

### Tarifs

**1,49 $ pour 1 000 annonces** sur les plans Free et Bronze ; 1,29 $ sur Silver, 0,99 $ sur Gold et au-delà.

Options facturées seulement quand elles livrent une donnée : **2,99 $ / 1 000 profils vendeurs** (un profil par vendeur, même s'il publie plusieurs annonces), **4,99 $ / 1 000 numéros de téléphone trouvés**, et **2,99 $ / 1 000 annonces** récupérées depuis une URL d'annonce.

Exemple, frais d'annonces et d'options : 100 annonces coûtent 0,15 $. Si 70 d'entre elles affichent un numéro et que vous activez `includePhone`, ajoutez 0,35 $.

Sur le plan gratuit d'Apify (sans carte bancaire), vous pouvez extraire jusqu'à 1 000 annonces et 25 numéros au total sur les actors Leboncoin de Clearpath, avec vos crédits gratuits Apify. Passez à un plan payant pour lever cette limite.

### Numéros de téléphone

Activez `includePhone: true`. Aucun e-mail, mot de passe ou code de vérification leboncoin n'est demandé.

- Seules les annonces qui affichent un téléphone sont interrogées. Presque toutes les annonces de garages en ont un, environ une annonce de particulier sur trois.
- Les garages reçoivent un numéro de renvoi leboncoin propre à chaque annonce : deux voitures du même garage ont deux numéros différents.
- Facturé 4,99 $ / 1 000 numéros trouvés. Une annonce sans numéro n'est ni interrogée ni facturée.
- Les numéros sont ajoutés en mode standard (recherche, URL de recherche ou URLs d'annonces). Le mode surveillance livre les nouvelles annonces sans numéro ; relancez-les en mode standard avec `adDetailUrls` pour obtenir leurs numéros.

### Démarrage rapide

#### Renault Clio diesel, boîte manuelle, 2018-2022, moins de 100 000 km, autour de Lyon

```json
{
  "brands": ["RENAULT"],
  "models": ["Clio"],
  "fuel": ["2"],
  "gearbox": ["1"],
  "yearMin": 2018,
  "yearMax": 2022,
  "mileageMax": 100000,
  "location": "Lyon",
  "radius": 30,
  "adLimit": 100
}
```

#### Voitures électriques automatiques à moins de 25 000 €, toute la France

```json
{
  "fuel": ["4"],
  "gearbox": ["2"],
  "price_max_filter": 25000,
  "adLimit": 200
}
```

#### Voitures sans permis de particuliers

```json
{
  "licence": ["sanspermis"],
  "seller_type": "private",
  "adLimit": 100
}
```

#### URL de recherche leboncoin, affinée par le formulaire

```json
{
  "searchUrl": "https://www.leboncoin.fr/recherche?category=2&u_car_brand=TESLA&u_car_model=TESLA_Model%203",
  "mileageMax": 60000,
  "adLimit": 50
}
```

#### Annonces précises, avec le numéro du vendeur

```json
{
  "adDetailUrls": ["https://www.leboncoin.fr/ad/voitures/3272529977"],
  "includePhone": true
}
```

### Paramètres d'entrée

Valeurs complètes dans l'onglet [Input](https://console.apify.com/actors/FX8mMp38oGAxk96mQ/input). Une valeur inconnue (marque, modèle, énergie…) arrête l'exécution avec un message qui indique la correction, avant toute recherche : seul le démarrage est facturé.

#### Critères voiture

| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| `brands` | Array | toutes | Marques, codes leboncoin : `RENAULT`, `PEUGEOT`, `MERCEDES-BENZ`, `TESLA`… |
| `models` | Array | tous | Modèles par leur nom : `Clio`, `3008`, `Model Y`. Accepte aussi `Peugeot 3008` ou le code `PEUGEOT_3008`. Si un nom existe chez plusieurs marques, ajoutez la marque. |
| `adLimit` | Integer | 100 | Nombre maximum d'annonces d'une recherche (minimum 10). Avec `adDetailUrls`, chaque annonce de la liste est renvoyée. |
| `fuel` | Array | toutes | `1` Essence, `2` Diesel, `3` GPL, `4` Électrique, `5` Autre, `6` Hybride, `7` Gaz naturel, `8` Hybride rechargeable, `9` Hydrogène. |
| `gearbox` | Array | toutes | `1` Manuelle, `2` Automatique. |
| `yearMin` / `yearMax` | Integer | | Année modèle. |
| `mileageMin` / `mileageMax` | Integer | | Kilométrage en km. |

#### Localisation, prix et recherche

| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| `location` | String | toute la France | Ville ou département : `Lyon`, `Bordeaux 33`, `Aude`. |
| `radius` | Integer | 5 | Rayon autour de la ville, en km (0 à 200). |
| `price_min_filter` / `price_max_filter` | Integer | | Prix en euros. |
| `seller_type` | String | `all` | `all`, `pro` (garages) ou `private` (particuliers). |
| `searchQuery` | String | | Mot-clé libre dans le titre et la description, par exemple `toit ouvrant`. |
| `excludeKeywords` | String | | Mots à exclure, séparés par des virgules. |
| `sortBy` / `sortOrder` | String | `time` / `desc` | Tri : `time` (plus récentes), `price`, `relevance`. |

#### Plus de critères voiture

| Paramètre | Type | Description |
|---|---|---|
| `powerMin` / `powerMax` | Integer | Puissance réelle en chevaux DIN. |
| `fiscalPowerMin` / `fiscalPowerMax` | Integer | Puissance fiscale (CV). |
| `monthlyPaymentMin` / `monthlyPaymentMax` | Integer | Mensualité de financement en €/mois ; ne renvoie que les voitures proposées avec un crédit ou une LOA. |
| `bodyType` | Array | `4x4` (4x4, SUV, crossover, pick-up), `berline`, `break`, `cabriolet`, `citadine`, `coupe`, `monospace`, `voituresociete`, `autre`. |
| `color` | Array | `blanc`, `noir`, `gris`, `bleu`, `rouge`, `argent`… |
| `doors` / `seats` | Array | Portes `2` à `5`, `999999` = 6 ou plus ; places `1` à `6`, `999999` = 7 ou plus. |
| `critair` | Array | Vignettes Crit'Air `0` à `5`. |
| `condition` | Array | `excellent_condition`, `undamaged`, `good_overall_condition`, `normal_wear_and_tear`, `minor_repairs_needed`, `major_repairs_needed`, `damaged`, `not_drivable`. |
| `licence` | Array | `avecpermis` ou `sanspermis` (voitures sans permis). |

#### Options et autres entrées

| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| `includeSeller` | Boolean | `true` | Profil vendeur détaillé, 2,99 $ / 1 000 profils. |
| `includePhone` | Boolean | `false` | Numéro du vendeur, 4,99 $ / 1 000 numéros trouvés. Aucun compte requis. |
| `searchUrl` | String | | URL de recherche leboncoin de la catégorie Voitures. Les critères du formulaire s'y ajoutent. |
| `adDetailUrls` | Array | | Jusqu'à 100 URLs d'annonces `https://www.leboncoin.fr/ad/voitures/...`. |
| `mode` | String | `standard` | `standard` ou `monitor` (nouvelles annonces seulement). |
| `telegramUserId`, `telegramNotificationLimit` | | `10` | Alertes Telegram en mode surveillance. |
| `webhookUrl`, `webhookSecret`, `webhookNotificationLimit` | | `100` | Envoi des nouvelles annonces vers votre URL HTTPS en mode surveillance. |

### Exemple de résultat

Résultat réel de l'entrée d'essai plus haut, annonce d'un garage. Le numéro est masqué ici. Pour rester lisible, la liste `attributes` (42 entrées dans ce résultat), `attributes_adview_positive` et les listes de photos sont réduites à leurs premières entrées : les autres ont exactement la même forme.

```json
{
  "list_id": 3272529977,
  "first_publication_date": "2026-10-07 23:31:42",
  "expiration_date": "2026-12-06 22:31:42",
  "index_date": "2026-10-07 23:31:42",
  "status": "active",
  "category_id": "2",
  "category_name": "Voitures",
  "subject": "Peugeot 3008 GTline 1.2 PureTech 130 EAT8",
  "body": "PEUGEOT 3008 1.2 PureTech 130ch EAT8 GT Line\nMise en circulation :\n17/05/2019\nKilométrage :\n39 900 km (Moins de 40 000 km)\nBoîte de vitesses :\nAutomatique EAT8 (8 rapports)\nÉnergie / Puissance :\nEssence / 7 CV\nFinition / Couleur :\nGT Line / Marron\n\nPOINTS FORTS & ÉTAT DU VÉHICULE\nVÉHICULE EN ÉTAT PROCHE DU NEUF (intérieur et extérieur très soignés).\nEntretien complet et exclusif dans le réseau Peugeot (factures disponibles).\nCourroie de distribution remplacée dans le réseau Peugeot en mai 2025\nDernière révision en mai 2026.\n\nÉQUIPEMENTS ET OPTIONS PRINCIPAUX\nEXTÉRIEUR ET DESIGN\nProjecteurs Full LED Technology\nToit Black Diamond\nCalandre et éléments de finition GT Line\nJantes alliage 18 pouces diamantées\nRétroviseurs rabattables électriquement\nINTÉRIEUR ET CONFORT\nPeugeot i-Cockpit numérique avec écran tactile capacitif\nGPS Navigation 3D connectée\nCompatibilité Apple CarPlay / Android Auto\nDémarrage et accès mains libres (sans clé)\nVolant cuir GT Line multifonctions avec palettes au volant\nClimatisation automatique bi-zone\nSellerie Tissu / TEP GT Line\nSÉCURITÉ ET AIDES À LA CONDUITE\nAide au stationnement avant / arrière\nCaméra de recul\nDétecteur d'angles morts\nAvertisseur de franchissement involuntaire de ligne\nRégulateur / Limiteur de vitesse\nCommutation automatique des feux de route\nMENTIONS OBLIGATOIRES & INFORMATIONS COMPLÉMENTAIRES\nPrix de vente TTC : 15 900 € (TVA non récupérable / Régime de la marge)\nFrais d'immatriculation : carte grise à la charge de l'acheteur plus 99€ de frais de dossier\nContrôle technique : vierge, moins de 6 mois\nDouble des clés disponible\nGarantie commerciale : 3 mois incluse\nGarantie légale : Véhicule vendu bénéficiant des garanties légales de conformité (art. L. 217-3 et suivants du Code de la consommation) et des vices cachés (art. 1641 du Code civil).\nVéhicule disponible immédiatement et visible sur rendez-vous.\n\nCONTACT & COORDONNÉES PROFESSIONNELLES\nSAS GESVR'OCCASIONS\n1 RUE NEWTON \n44240 LA CHAPELLE SUR ERDRE\n8H-12H  14H-18H du lundi au vendredi (fermeture à 17h le vendredi)\n[Coordonnées masquées]",
  "brand": "leboncoin",
  "ad_type": "offer",
  "url": "https://www.leboncoin.fr/ad/voitures/3272529977",
  "price": [
    15900
  ],
  "price_cents": 1590000,
  "images": {
    "thumb_url": "https://img.leboncoin.fr/api/v1/lbcpb1/images/76/c1/a7/76c1a73e3b586deb6bb09686bb9adf165b9b001f.jpg?rule=ad-thumb",
    "small_url": "https://img.leboncoin.fr/api/v1/lbcpb1/images/76/c1/a7/76c1a73e3b586deb6bb09686bb9adf165b9b001f.jpg?rule=ad-small",
    "nb_images": 5,
    "urls": [
      "https://img.leboncoin.fr/api/v1/lbcpb1/images/76/c1/a7/76c1a73e3b586deb6bb09686bb9adf165b9b001f.jpg?rule=ad-image"
    ],
    "urls_thumb": [
      "https://img.leboncoin.fr/api/v1/lbcpb1/images/76/c1/a7/76c1a73e3b586deb6bb09686bb9adf165b9b001f.jpg?rule=ad-thumb"
    ],
    "urls_large": [
      "https://img.leboncoin.fr/api/v1/lbcpb1/images/76/c1/a7/76c1a73e3b586deb6bb09686bb9adf165b9b001f.jpg?rule=ad-large"
    ]
  },
  "attributes": [
    {
      "key": "activity_sector",
      "value": "1",
      "values": [
        "1"
      ],
      "value_label": "1",
      "generic": false
    },
    {
      "key": "brand",
      "value": "Peugeot",
      "values": [
        "Peugeot"
      ],
      "key_label": "Marque",
      "value_label": "Peugeot",
      "generic": false
    },
    {
      "key": "model",
      "value": "3008",
      "values": [
        "3008",
        "model_all"
      ],
      "key_label": "Modèle",
      "value_label": "3008",
      "generic": false
    },
    {
      "key": "u_car_brand",
      "value": "PEUGEOT",
      "values": [
        "PEUGEOT"
      ],
      "key_label": "Marque",
      "value_label": "PEUGEOT",
      "generic": true
    }
  ],
  "location": {
    "country_id": "FR",
    "region_id": "18",
    "region_name": "Pays de la Loire",
    "department_id": "44",
    "department_name": "Loire-Atlantique",
    "city_label": "La Chapelle-sur-Erdre 44240",
    "city": "La Chapelle-sur-Erdre",
    "zipcode": "44240",
    "lat": 47.26279,
    "lng": -1.54823,
    "source": "address",
    "provider": "here",
    "type": "",
    "origin_type": "",
    "is_shape": false,
    "feature": {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -1.54823,
          47.26279
        ]
      },
      "properties": null
    }
  },
  "owner": {
    "store_id": "85791726",
    "user_id": "d6285f30-faac-4100-a8b4-c8e7180f803e",
    "type": "pro",
    "name": "GESVR'OCCASIONS",
    "siren": "994419539",
    "no_salesmen": true,
    "activity_sector": "1"
  },
  "options": {
    "has_option": false,
    "booster": false,
    "photosup": false,
    "urgent": false,
    "gallery": false,
    "sub_toplist": false,
    "continuous_top_ads": false,
    "highlight": false
  },
  "has_phone": true,
  "attributes_adview_positive": [
    {
      "key": "orig_index_date",
      "value": "2026-10-07 21:31:42 +0000 UTC",
      "key_label": "Date de dépot de l'annonce",
      "value_label": "Annonce récente",
      "value_label_reader": "Annonce récente",
      "generic": false
    }
  ],
  "similar": null,
  "counters": {},
  "search_query": "",
  "scraped_at": "2026-10-07T21:38:30.115838+00:00",
  "scraped_at_timestamp": 1791409110,
  "data_source": "search",
  "actor_run_id": "7flpDBoQPh8ePh8pG",
  "actor_input_hash": "-7831757412759518129",
  "is_shippable": false,
  "model": "3008",
  "regdate": "2019",
  "mileage": "39900 km",
  "fuel": "Essence",
  "gearbox": "Automatique",
  "doors": "5",
  "seats": "5",
  "vehicle_technical_inspection_valid": "Oui",
  "vehicle_technical_inspection_a": "2028",
  "issuance_date": "05/2019",
  "vehicle_damage": "Excellent état (proche du neuf)",
  "vehicle_type": "4x4, SUV, Crossover & Pick-up",
  "vehicle_upholstery": "Cuir partiel",
  "vehicle_maintenance": "Carnet d'entretien disponible, Factures disponibles, Véhicule non fumeur, Réparations utiles déjà faites",
  "vehicule_color": "Marron",
  "horsepower": "7 Cv",
  "horse_power_din": "130 Ch",
  "vehicle_vsp": "Avec permis",
  "car_contract": "Non",
  "vehicle_commercial_warranty": "Oui",
  "vehicle_commercial_warranty_duration": "3 mois",
  "vehicle_commercial_warranty_extendable": "Non",
  "vehicle_manufacturer_warranty": "Non",
  "old_price": "16450",
  "car_price_min": "13190",
  "car_price_max": "14580",
  "car_price_positioning": "Légèrement supérieur",
  "vehicle_history_teaser_critair": "1",
  "vehicle_history_teaser_owners": "2",
  "vehicle_history_teaser_expertises": "false",
  "vehicle_history_teaser_special_uses": "false",
  "vehicle_history_teaser_atypical_operations": "true",
  "vehicle_history_teaser_importations": "true",
  "price_euros": 15900,
  "location_summary": "La Chapelle-sur-Erdre (44240)",
  "vehicle": {
    "make": "Peugeot",
    "make_code": "PEUGEOT",
    "model": "3008",
    "model_code": "PEUGEOT_3008",
    "version": null,
    "trim": null,
    "year": 2019,
    "first_registration": "05/2019",
    "mileage_km": 39900,
    "fuel": "Essence",
    "fuel_code": "1",
    "gearbox": "Automatique",
    "gearbox_code": "2",
    "body_type": "4x4, SUV, Crossover & Pick-up",
    "body_type_code": "4x4",
    "color": "Marron",
    "color_code": "marron",
    "doors": "5",
    "seats": "5",
    "power_din_hp": 130,
    "fiscal_power_cv": 7,
    "critair": null,
    "critair_code": null,
    "euro_standard": null,
    "euro_standard_code": null,
    "condition": "Excellent état (proche du neuf)",
    "condition_code": "excellent_condition",
    "licence": "Avec permis",
    "licence_code": "avecpermis",
    "technical_inspection_valid": true,
    "technical_inspection_year": 2028,
    "upholstery": [
      "Cuir partiel"
    ],
    "equipment": [],
    "maintenance": [
      "Carnet d'entretien disponible",
      "Factures disponibles",
      "Véhicule non fumeur",
      "Réparations utiles déjà faites"
    ],
    "history": [],
    "is_import": false,
    "recent_used_vehicle": false,
    "licence_plate_available": true,
    "price_rating": "Légèrement supérieur",
    "price_rating_code": "badge_key_2_5",
    "price_estimate_min": 13190,
    "price_estimate_max": 14580,
    "previous_price": 16450,
    "monthly_payment": null,
    "financing_partner": null,
    "breakdown_warranty_offer": null,
    "breakdown_warranty_offer_code": null,
    "manufacturer_warranty": false,
    "commercial_warranty": true,
    "commercial_warranty_months": 3,
    "commercial_warranty_extendable": false,
    "battery_health_pct": null,
    "battery_health_date": null,
    "history_report_url": null,
    "history_owners": 2,
    "history_expert_reports": false,
    "history_imports": true,
    "history_special_uses": false,
    "history_atypical_operations": true,
    "virtual_tour_url": null,
    "argus_id": "2234889",
    "dealer_reference": null
  },
  "seller": {
    "id": "d6285f30-faac-4100-a8b4-c8e7180f803e",
    "name": "GESVR'OCCASIONS",
    "type": "pro",
    "registered_at": "2026-01-02",
    "location": "Loire-Atlantique",
    "total_ads": 1,
    "profile_url": "https://www.leboncoin.fr/boutique/d6285f30-faac-4100-a8b4-c8e7180f803e",
    "profile_picture_url": "https://img.leboncoin.fr/api/v1/tenants/9a6387a1-6259-4f2c-a887-7e67f23dd4cb/domains/20bda58f-d650-462e-a72a-a5a7ecf2bf88/buckets/21d2b0bc-e54c-4b64-a30b-89127b18b785/images/profile/pictures/default?rule=pp-large",
    "feedback": null,
    "reply": {
      "rate_percent": 100,
      "time_minutes": 30,
      "time_text": "30 minutes"
    },
    "presence": {
      "status": "OFFLINE",
      "last_activity": "2026-10-07T21:34:13Z"
    },
    "badges": [
      "Responsiveness3",
      "VerifiedPhoneNumber"
    ],
    "description": null,
    "pro": null
  },
  "phone": "+33240XXXXXX"
}
```

#### Le bloc `vehicle`

| Champ | Contenu |
|---|---|
| `make`, `model`, `version`, `trim` | Marque, modèle, version et finition, avec `make_code` et `model_code` |
| `year`, `first_registration` | Année modèle (nombre) et date de première mise en circulation |
| `mileage_km`, `power_din_hp`, `fiscal_power_cv` | Kilométrage, puissance DIN et fiscale, en nombres |
| `fuel`, `gearbox`, `body_type`, `color`, `critair`, `euro_standard`, `condition`, `licence` | Libellé lisible, et le code leboncoin dans `<champ>_code` |
| `doors`, `seats`, `upholstery`, `equipment`, `maintenance` | Portes, places, sellerie, équipements, entretien |
| `technical_inspection_valid`, `technical_inspection_year` | Contrôle technique valide, année de validité |
| `price_rating`, `price_estimate_min`, `price_estimate_max`, `previous_price` | Avis de prix leboncoin, fourchette estimée, ancien prix affiché |
| `history_report_url`, `history_owners`, `history_imports`, `history_special_uses`, `history_expert_reports`, `history_atypical_operations`, `history`, `is_import`, `recent_used_vehicle` | Rapport d'historique et ses indicateurs |
| `breakdown_warranty_offer`, `manufacturer_warranty`, `commercial_warranty`, `commercial_warranty_months`, `commercial_warranty_extendable` | Offre de garantie panne leboncoin (Essentielle, Optimale, Maximale) et garanties du vendeur |
| `monthly_payment`, `financing_partner` | Mensualité et organisme de financement, quand le garage les propose |
| `battery_health_pct`, `battery_health_date` | État de santé de la batterie des électriques |
| `virtual_tour_url`, `argus_id`, `dealer_reference`, `licence_plate_available` | Visite virtuelle, identifiant Argus, référence du garage, plaque renseignée |

Un champ vaut `null` quand l'annonce ne l'indique pas.

### Mode surveillance

Choisissez `mode: "monitor"` avec vos critères ou une URL de recherche. Le tri du plus récent au plus ancien est imposé.

| Exécution | Dataset et facturation | Notifications |
|---|---|---|
| Première | Crée une référence bornée et retourne jusqu'à `adLimit` annonces de référence, facturées normalement. | Aucune |
| Suivante, aucune nouveauté | Retourne uniquement un résumé non facturé. | Aucune |
| Suivante, nouveautés | Retourne et facture jusqu'à `adLimit` nouvelles annonces. | Telegram et/ou un lot webhook pour les annonces livrées |

Chaque recherche garde son propre historique : changer un critère crée une nouvelle surveillance. Le surplus reste en attente tant qu'il apparaît dans le scan, puis est abandonné après trois scans complets où il est absent. La surveillance est au mieux : ni zéro annonce manquée ni une livraison exactement une fois ne sont garanties. Dédupliquez par (`attempt_id`, `list_id`).

**Planifier** : lancez une première fois en `monitor`, puis créez un schedule dans l'onglet Schedules d'Apify avec la même entrée, par exemple `0 */2 * * *` (toutes les 2 heures).

**Telegram** : envoyez `/start` à [@userinfobot](https://t.me/userinfobot), puis renseignez votre ID dans `telegramUserId`.

**Webhook** : quand une exécution livre de nouvelles annonces, un POST JSON part vers `webhookUrl` avec `event` (`new_ads_batch`), `attempt_id`, `event_id`, `actor`, `run_id`, `detected_at`, `count`, `total_detected`, `truncated` et `ads`. Avec `webhookSecret`, l'en-tête `X-Webhook-Signature: sha256=<hex>` contient le HMAC-SHA256 du corps. Au-delà de `webhookNotificationLimit`, `ads` est tronqué et `truncated` vaut `true`. Les nouvelles tentatives restent dans l'exécution courante.

### Utiliser depuis votre code

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("your_token")
run = client.actor("clearpath/leboncoin-voitures").call(run_input={
    "brands": ["PEUGEOT"],
    "models": ["3008"],
    "fuel": ["2"],
    "yearMin": 2019,
    "mileageMax": 120000,
    "includePhone": True,
    "adLimit": 200,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    v = item["vehicle"]
    print(v["make"], v["model"], v["year"], v["mileage_km"], item["price_euros"], item.get("phone"))
```

#### JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'your_token' });
const run = await client.actor('clearpath/leboncoin-voitures').call({
    fuel: ['4'],
    gearbox: ['2'],
    price_max_filter: 25000,
    adLimit: 200,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`${items.length} voitures électriques trouvées`);
```

### FAQ

**Faut-il un compte leboncoin ?**
Non, pas même pour les numéros de téléphone.

**Comment ne garder que les voitures automatiques, électriques ou sans permis ?**
`gearbox: ["2"]` pour les automatiques, `fuel: ["4"]` pour les électriques (`["6", "8"]` pour les hybrides), `licence: ["sanspermis"]` pour les voitures sans permis. Les critères se combinent.

**Puis-je chercher dans toute la France, ou dans les DOM ?**
Laissez `location` vide (ou « Toute la France ») pour tout le territoire. Pour une ville ou un département, indiquez son nom, par exemple `Saint-Denis 974` ou `Guadeloupe`.

**Je tape un nom de modèle et l'exécution s'arrête. Pourquoi ?**
Le modèle n'existe pas sous ce nom chez leboncoin, ou il existe chez plusieurs marques. Le message propose les noms les plus proches ; choisissez-en un, ou ajoutez la marque dans `brands`. Rien n'est cherché, seul le démarrage de l'exécution est facturé.

**Où trouver le rapport d'historique et l'estimation de prix ?**
Dans `vehicle.history_report_url`, `vehicle.price_rating` et `vehicle.price_estimate_min` / `max`, quand l'annonce les affiche. Toutes les annonces n'en ont pas.

**Puis-je coller une URL de recherche leboncoin ?**
Oui, si elle est dans la catégorie Voitures. Ses filtres sont repris tels quels et les critères remplis dans le formulaire s'y ajoutent.

**Pourquoi mon exécution ne renvoie aucune annonce ?**
Aucune annonce ne correspondait à ce moment-là. Élargissez le rayon, l'année, le kilométrage ou le prix ; chaque critère réduit le marché. Une exécution vide ne coûte que le démarrage.

**Est-il légal d'extraire des annonces leboncoin ?**
L'actor collecte des données affichées publiquement sur leboncoin.fr. Les numéros de téléphone et noms de vendeurs sont des données personnelles : vous êtes responsable de leur usage, notamment au regard du RGPD et des conditions d'utilisation de leboncoin.

**Et pour les motos, les utilitaires ou l'immobilier ?**
Le [scraper Leboncoin](https://apify.com/clearpath/leboncoin-api) couvre toutes les catégories, et [Leboncoin Immobilier](https://apify.com/clearpath/leboncoin-immobilier) l'immobilier.

### Retours et suggestions

- **Bug ou problème ?** Ouvrez une issue dans l'onglet Issues
- **Suggestion ou demande de fonctionnalité ?** Même endroit, l'onglet Issues
- **Contact :** max@mapa.slmail.me

### Conformité

Cet actor extrait des données publiquement accessibles sur leboncoin.fr. Il n'est ni affilié à leboncoin ni approuvé par leboncoin. Les utilisateurs sont responsables du respect des conditions d'utilisation de leboncoin.fr et du RGPD.

# Actor input Schema

## `brands` (type: `array`):

Une ou plusieurs marques. Vide = toutes les marques.<br><i>One or more makes. Empty = all makes.</i>

## `models` (type: `array`):

Noms de modèles tels qu'affichés sur leboncoin, par exemple <code>Clio</code>, <code>3008</code>, <code>Model Y</code>. Choisissez aussi la marque quand un nom existe chez plusieurs constructeurs. Un modèle introuvable arrête l'exécution et propose les noms les plus proches.<br><i>Model names as shown on leboncoin. Also select the make when a name exists for several makes. An unknown model stops the run and suggests the closest names.</i>

## `adLimit` (type: `integer`):

Nombre maximum d'annonces voitures pour une recherche (critères ou URL de recherche). Avec des URLs d'annonces, chaque annonce de la liste est renvoyée.<br><i>Maximum number of car ads for a search. With ad URLs, every listed ad is returned.</i>

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

Vide = toutes.<br><i>Empty = all.</i>

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

Vide = toutes.<br><i>Empty = all.</i>

## `yearMin` (type: `integer`):

Année modèle minimale, par exemple 2018.<br><i>Earliest model year.</i>

## `yearMax` (type: `integer`):

Année modèle maximale.<br><i>Latest model year.</i>

## `mileageMin` (type: `integer`):

Kilométrage minimal.<br><i>Minimum mileage.</i>

## `mileageMax` (type: `integer`):

Kilométrage maximal, par exemple 150000.<br><i>Maximum mileage.</i>

## `location` (type: `string`):

Ville ou département. Vide (ou « Toute la France ») = recherche sur toute la France.<br><br>Exemples : <code>Paris</code>, <code>Lyon 69</code>, <code>Bordeaux 33</code>

## `radius` (type: `integer`):

Rayon autour de la localisation choisie.

## `price_min_filter` (type: `integer`):

Filtre prix minimum en euros.

## `price_max_filter` (type: `integer`):

Filtre prix maximum en euros.

## `seller_type` (type: `string`):

Filtrer par type de vendeur.

## `searchQuery` (type: `string`):

Mot-clé libre, cherché dans le titre et la description. Pour un modèle précis, préférez Marques et Modèles, qui sont exacts.<br><i>Free keyword, matched in title and description. For an exact model, prefer Makes and Models.</i>

## `excludeKeywords` (type: `string`):

Mots à exclure des titres, séparés par des virgules.

## `sortBy` (type: `string`):

Ordre de tri des résultats.

## `sortOrder` (type: `string`):

Ordre de tri (pour le prix).

## `powerMin` (type: `integer`):

Puissance réelle minimale en chevaux DIN.<br><i>Minimum DIN horsepower.</i>

## `powerMax` (type: `integer`):

Puissance réelle maximale en chevaux DIN.<br><i>Maximum DIN horsepower.</i>

## `fiscalPowerMin` (type: `integer`):

Chevaux fiscaux minimum.<br><i>Minimum French fiscal horsepower.</i>

## `fiscalPowerMax` (type: `integer`):

Chevaux fiscaux maximum.<br><i>Maximum French fiscal horsepower.</i>

## `monthlyPaymentMin` (type: `integer`):

Mensualité de financement minimale, pour les voitures proposées avec un crédit ou une LOA.<br><i>Minimum monthly financing payment.</i>

## `monthlyPaymentMax` (type: `integer`):

Mensualité de financement maximale. Seules les voitures proposées avec un financement sont alors renvoyées.<br><i>Maximum monthly financing payment; only financed offers are returned.</i>

## `bodyType` (type: `array`):

Vide = tous.<br><i>Empty = all.</i>

## `color` (type: `array`):

Vide = toutes.<br><i>Empty = all.</i>

## `doors` (type: `array`):

Vide = tous.<br><i>Empty = all.</i>

## `seats` (type: `array`):

Vide = tous.<br><i>Empty = all.</i>

## `critair` (type: `array`):

Vignettes Crit'Air acceptées. Vide = toutes.<br><i>Accepted Crit'Air stickers. Empty = all.</i>

## `condition` (type: `array`):

Vide = tous.<br><i>Empty = all.</i>

## `licence` (type: `array`):

Voitures avec ou sans permis. Vide = toutes.<br><i>Cars needing a licence or licence-free microcars. Empty = all.</i>

## `includeSeller` (type: `boolean`):

Récupère le profil complet du vendeur : taux de réponse, badges, avis.<br><br>Facturé 2,99 $ / 1 000 profils vendeurs récupérés.<br>Peut ralentir l'exécution au-delà de 100 annonces.

## `includePhone` (type: `boolean`):

Ajoute le numéro de téléphone du vendeur à chaque annonce qui en affiche un. Aucun compte leboncoin n'est nécessaire. Les garages reçoivent un numéro de renvoi leboncoin propre à chaque annonce.<br><br>Facturé 4,99 $ / 1 000 numéros récupérés, uniquement quand un numéro est trouvé.<br><br><i>Adds the seller's phone number to every ad that shows one. No leboncoin account needed. Dealers get a leboncoin forwarding number per listing. Billed only when a number is found. Standard mode only.</i>

## `searchUrl` (type: `string`):

Collez une URL de recherche leboncoin.fr de la catégorie Voitures. Tous ses filtres sont repris (marque, modèle, énergie, kilométrage, localisation...). Les critères voiture remplis dans ce formulaire s'y ajoutent.<br><br><i>Paste a leboncoin.fr search URL from the Voitures category. Car criteria filled in on this form are added to it.</i>

## `adDetailUrls` (type: `array`):

Liste d'URLs d'annonces voitures (/ad/voitures/...), 100 maximum.<br><br><i>Car ad URLs, up to 100.</i>

## `mode` (type: `string`):

<b>Standard :</b> extraction classique. <b>Monitor :</b> la première exécution retourne une référence bornée facturée sans notification. Le surplus reste en attente tant qu'il apparaît dans le scan borné, du plus récent au plus ancien, puis est abandonné après trois absences complètes. La livraison est au mieux ; aucune garantie de zéro annonce manquée ou de livraison finale.<br><i>Standard extracts current results. Monitor returns a billed, notification-silent bounded baseline first. Overflow remains pending only while it appears in the bounded newest-first scan, then is dropped after three complete misses. Delivery is best-effort; zero missed listings and eventual delivery are not guaranteed.</i>

## `telegramUserId` (type: `string`):

Votre ID Telegram pour les notifications (mode Monitor uniquement).<br>Obtenez-le via <code>@userinfobot</code> sur Telegram.

## `telegramNotificationLimit` (type: `integer`):

Nombre maximum de notifications Telegram par exécution (anti-spam).

## `webhookUrl` (type: `string`):

URL HTTPS contactée uniquement lorsque des annonces sont livrées. Envoi au mieux, avec nouvelle tentative limitée à l'exécution courante ; un échec n'est pas rejoué plus tard.<br><i>HTTPS URL attempted only when ads are delivered. Best-effort, with retries limited to the current run; failures are not replayed later.</i>

## `webhookSecret` (type: `string`):

Secret optionnel pour signer le corps JSON avec HMAC-SHA256 dans <code>X-Webhook-Signature</code>. Chiffré et masqué.<br><i>Optional secret used to sign the JSON body with HMAC-SHA256. Encrypted and masked.</i>

## `webhookNotificationLimit` (type: `integer`):

Nombre maximum d'annonces dans le lot. <code>truncated: true</code> indique une troncature. Dédupliquez par <code>attempt_id + list_id</code> ; <code>event_id</code> ne couvre qu'un lot identique.<br><i>Maximum ads per batch. <code>truncated: true</code> marks truncation. Deduplicate by <code>attempt_id + list_id</code>; <code>event_id</code> covers only an identical batch.</i>

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "brands": [
    "PEUGEOT"
  ],
  "models": [
    "Clio",
    "Captur"
  ],
  "adLimit": 20,
  "location": "Paris",
  "radius": 5,
  "seller_type": "all",
  "searchQuery": "toit ouvrant",
  "excludeKeywords": "accidenté, pour pièces",
  "sortBy": "time",
  "sortOrder": "desc",
  "includeSeller": true,
  "includePhone": true,
  "searchUrl": "https://www.leboncoin.fr/recherche?category=2&u_car_brand=PEUGEOT&u_car_model=PEUGEOT_3008&fuel=2&regdate=2018-2022",
  "adDetailUrls": [
    "https://www.leboncoin.fr/ad/voitures/3284235231"
  ],
  "mode": "standard",
  "telegramNotificationLimit": 10,
  "webhookUrl": "https://hook.eu1.make.com/abc123",
  "webhookNotificationLimit": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "brands": [
        "PEUGEOT"
    ],
    "models": [
        "3008"
    ],
    "adLimit": 20,
    "includePhone": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/leboncoin-voitures").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 = {
    "brands": ["PEUGEOT"],
    "models": ["3008"],
    "adLimit": 20,
    "includePhone": True,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/leboncoin-voitures").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 '{
  "brands": [
    "PEUGEOT"
  ],
  "models": [
    "3008"
  ],
  "adLimit": 20,
  "includePhone": true
}' |
apify call clearpath/leboncoin-voitures --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/leboncoin-voitures"
        }
    }
}
```

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/FX8mMp38oGAxk96mQ/builds/CfyqpxoaldKYD1Fff/openapi.json
