Leboncoin Voiture Scraper — French Used Cars
Pricing
from $2.00 / 1,000 car listings
Leboncoin Voiture Scraper — French Used Cars
Scrape Leboncoin.fr Voitures: brand, model, year, km, fuel, gearbox, price EUR and ad URL. FR RESIDENTIAL proxy recommended — Leboncoin blocks datacenter IPs. Keyword or full search URL; clean car rows for comps and leads.
Pricing
from $2.00 / 1,000 car listings
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Leboncoin Voiture / Cars Scraper 🇫🇷
Leboncoin.fr Voitures scraper for French used cars (category=2): brand, model, year, mileage, fuel, gearbox, Crit'Air, seller type, city, and price — one clean Dataset row per listing.
Built for auto dealers, pricing intel, lead gen (FR), and PPE-friendly exports. No browser automation — HTTP + Chrome TLS fingerprint + parse of embedded __NEXT_DATA__ from search HTML.
Leboncoin search pages ship ad payloads inside Next.js
__NEXT_DATA__. This Actor GETs/recherche?category=2&…, extractsprops.pageProps.searchData.ads(~35 per page), and paginates untilmaxItems. France residential proxy is recommended (bot protection is strong; default input enables Apify RESIDENTIAL + country FR).
Why this Actor: Cars-only vertical · Rich vehicle fields · No Playwright · FR SEO (voiture / occasion) · Cheaper focus than generalist Leboncoin scrapers · CSV / API / webhooks ready
Store icon: set the Actor icon in Apify Console (PNG not shipped in this repo).
Table of contents
- What this Actor does
- What you get
- Features
- Input
- Output example
- Output fields
- Quick start (API)
- Use cases
- Limitations
- FAQ
- Keywords
What this Actor does
| Step | Action |
|---|---|
| 1 | Accept keyword and/or Voitures searchUrl, plus price / sort / maxItems |
| 2 | Build https://www.leboncoin.fr/recherche?category=2&text=…&page=n |
| 3 | GET with curl_cffi (chrome124) + Accept-Language: fr-FR |
| 4 | Parse __NEXT_DATA__ → searchData.ads |
| 5 | Map brand / model / year / km / fuel / gearbox / Crit'Air / seller / geo |
| 6 | Paginate until maxItems or empty page |
Input: keyword or search URL, max items, optional EUR price band, sort, proxy.
Output: one Dataset row per car ad.
What you get
Vehicle
brand,model,year,mileageKm,fuel,gearbox,horsePower,doors,seats,color,criticalAir
Listing / price
listingId,title,url,price,priceCents,categoryId,categoryName
Seller / location
sellerType(pro/private),sellerName,city,zipcode,department,region,latitude,longitude
Media / dates / raw
thumbUrl,imageCount,firstPublicationDate,indexDate,attributes
Meta
keyword,scrapedAt,error,errorMessage
Features
| Capability | Detail |
|---|---|
| Voitures only | Forced category=2 — not a general Leboncoin dump |
| No browser | curl_cffi impersonate chrome124 (+ optional browserforge headers) |
Live __NEXT_DATA__ | Same payload the public search UI embeds |
| Keyword or URL | Free text (peugeot, golf) or full searchUrl override |
| Price band | minPrice / maxPrice → price=min-max |
| Sort | relevance (default), time, price |
| Proxy-aware | Default Apify RESIDENTIAL + FR (Leboncoin bot protection) |
Input
| Field | Required | Description |
|---|---|---|
keyword | Cond. | Search text (e.g. peugeot, clio). Required if searchUrl is empty |
searchUrl | Cond. | Full Leboncoin search URL; must be Voitures (category=2) |
maxItems | No | Cap (default 50, max 300) |
minPrice / maxPrice | No | EUR filters |
sort | No | relevance | time | price |
proxyConfiguration | No | Default on: RESIDENTIAL, country FR |
Example
{"keyword": "peugeot","maxItems": 50,"minPrice": 5000,"maxPrice": 20000,"sort": "time","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FR"}}
Example with search URL
{"searchUrl": "https://www.leboncoin.fr/recherche?category=2&text=golf&price=3000-15000","maxItems": 30}
Output example
{"listingId": "3202619127","title": "Peugeot 2008 PureTech 100 S&S BVM6 - Style","url": "https://www.leboncoin.fr/ad/voitures/3202619127","price": 15790,"priceCents": 1579000,"categoryId": 2,"categoryName": "Voitures","brand": "Peugeot","model": "2008","year": 2023,"mileageKm": 24452,"fuel": "Essence","gearbox": "Manuelle","horsePower": "100","doors": "5","seats": "5","color": "Noir","criticalAir": "1","sellerType": "pro","sellerName": "Example Auto","city": "Périgueux","zipcode": "24750","department": "Dordogne","region": "Aquitaine","latitude": 45.195,"longitude": 0.78,"thumbUrl": "https://img.leboncoin.fr/...","imageCount": 20,"firstPublicationDate": "2026-09-10 13:38:14","indexDate": "2026-09-20 19:43:19","attributes": {"brand": "Peugeot","model": "2008","regdate": "2023","mileage": "24452","fuel": "1","gearbox": "1","critair": "1"},"keyword": "peugeot","scrapedAt": "2026-09-21T00:00:00Z","error": false,"errorMessage": null}
Output fields
| Field | Notes |
|---|---|
listingId, title, url | From list_id / subject / url |
price, priceCents | price[0] EUR + price_cents |
brand, model, year, mileageKm | Attributes brand/model/regdate/mileage (flexible aliases) |
fuel, gearbox, color, criticalAir | Prefer Leboncoin value_label when present |
sellerType | Normalized pro / private from owner.type |
attributes | Full key→value map from the attributes array |
keyword, scrapedAt, error, errorMessage | Run metadata |
Quick start (API)
from apify_client import ApifyClientclient = ApifyClient("<YOUR_TOKEN>")run = client.actor("YOUR_USERNAME/leboncoin-voiture").call(run_input={"keyword": "peugeot","maxItems": 20,"proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FR",},})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("brand"), item.get("model"), item.get("year"), item.get("price"))
Use cases
- Suivi des annonces auto / voitures d'occasion sur Leboncoin
- Benchmark prix par marque / modèle / km / année
- Lead lists for dealers (pro vs particulier)
- Market monitoring for FR used-car verticals
- Niche SEO: leboncoin voiture vs generalist marketplace scrapers
Limitations
- Voitures only: other Leboncoin categories are out of scope.
- Search cards: phone / full detail page enrichment is out of v0.1.
- Blocking: Leboncoin bot protection is aggressive — keep FR RESIDENTIAL on for production runs. Local smoke may work without proxy.
- Pagination: capped by
maxItems(300) and an internal page safety limit. - Respect Leboncoin Terms of Service and applicable laws when scraping.
FAQ
Keyword or URL?
Either. searchUrl must target Voitures (category=2). Keyword alone builds the search URL.
Why FR residential proxy by default?
Leboncoin often challenges datacenter IPs. Residential France maximizes success rate.
Does this use Playwright?
No. HTTP only (curl_cffi + optional browserforge).
Fuel / gearbox as codes?
Top-level fields prefer human value_label (e.g. Hybride, Automatique). Raw codes stay in attributes.
Icon missing?
Configure the Actor icon in Apify Console when you publish.
Keywords
leboncoin voiture, leboncoin occasion, leboncoin annonces auto, scraper leboncoin voiture, leboncoin cars scraper, voitures occasion france export, leboncoin catégorie voitures api, scrape leboncoin peugeot golf clio, occasion auto dataset, leboncoin Crit'Air km carburant, PPE leboncoin voiture, france used car lead gen, leboncoin.fr recherche category=2