Leboncoin Listings Scraper
Pricing
from $1.00 / 1,000 product listings
Leboncoin Listings Scraper
Leboncoin Listings Scraper scrapes listings from leboncoin.fr search results, capturing titles, prices, images, location, seller info, category attributes, and optional full details — ideal for price tracking, market research, and competitive analysis of France's largest classifieds marketplace.
Pricing
from $1.00 / 1,000 product listings
Rating
0.0
(0)
Developer
FalconScrape
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Leboncoin Listings Scraper
Extract product listings from leboncoin.fr at scale. The Leboncoin Listings Scraper lets you scrape structured listing data from France's largest classifieds marketplace — titles, prices, locations, images, seller info, attributes, and more.
✨ Features
- 🔍 Keyword & Category Search: Search by free-text queries, category IDs, price ranges, location, or seller type.
- 🔗 Direct URL Mode: Paste any leboncoin search URL and scrape it directly.
- 📋 Rich Listing Data: Extracts title, price, original price, condition, images (4 resolutions), all category-specific attributes, full location, and seller details.
- 📝 Optional Full Descriptions: Fetch the complete listing description from the detail page when needed.
- ⚡ Fast & Cost-Effective: Uses HTML parsing (
__NEXT_DATA__extraction) — no browser needed, 10× cheaper than Playwright-based scrapers. - 🔄 Proxy-Ready: Built-in Apify residential proxy support to bypass DataDome anti-bot protection.
🛠️ How It Works
- Configure your search – Enter keywords, category IDs, filters, or paste a leboncoin search URL.
- Run the scraper – The actor fetches search result pages and extracts all listing data from the embedded JSON payload.
- Get structured results – Each listing is normalized and saved to the dataset with consistent field names.
Note: Leboncoin is protected by DataDome anti-bot. Residential proxies are required for any run beyond a few pages. The default proxy configuration uses Apify's residential proxy pool.
📊 Sample Output Data
{"listId": 3162295955,"title": "Vélo électrique","url": "https://www.leboncoin.fr/ad/velos/3162295955","status": "active","categoryId": "27","categoryName": "Vélos","adType": "offer","price": 350,"priceCents": 35000,"originalPrice": null,"buyerFee": 0,"description": "Cause déménagement vends vélo électrique marque Gitane xs, batterie à remplacer...","firstPublicationDate": "2026-03-15 10:22:41","lastIndexDate": "2026-03-28 08:14:55","images": [{"thumbnailUrl": "https://img.leboncoin.fr/api/v1/lbcpb1/images/ab/12/.../rule=ad-thumb","smallUrl": "https://img.leboncoin.fr/api/v1/lbcpb1/images/ab/12/.../rule=ad-small","imageUrl": "https://img.leboncoin.fr/api/v1/lbcpb1/images/ab/12/.../rule=ad-image","largeUrl": "https://img.leboncoin.fr/api/v1/lbcpb1/images/ab/12/.../rule=ad-large"}],"imageCount": 3,"condition": "Bon état","attributes": {"bike_type": "Vélo de ville/Hybride","bike_practice": "Ville"},"location": {"city": "Orléans","zipcode": "45000","department": "Loiret","region": "Centre-Val de Loire","latitude": 47.90183,"longitude": 1.90307,"country": "FR"},"seller": {"storeId": "72901445","userId": "b2e4a1f8-...","name": "Marie45","type": "private","ratingScore": null,"ratingCount": null,"profilePictureUrl": null},"shippable": false,"shippingTypes": [],"isBoosted": false,"hasOptions": false,"hasPhone": false,"scrapedAt": "2026-03-28T14:05:33.000Z"}
⚙️ Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["iPhone 16"] | Free-text keywords to search. Each query runs as a separate search. |
startUrls | RequestSource[] | [] | Leboncoin search URLs to scrape directly. Takes precedence over all filters. |
categoryIds | number[] | [] | Category IDs to filter by (e.g. 17 = Phones, 2 = Vehicles). |
locations | string[] | [] | Location filters in City_zipcode format (e.g. Paris_75000). |
priceMin | integer | — | Minimum price in euros. |
priceMax | integer | — | Maximum price in euros. |
ownerType | "pro" | "private" | — | Filter by seller type. |
shippableOnly | boolean | false | Only return listings that offer shipping. |
sort | "time" | "price" | "time" | Sort order: newest first or by price. |
includeDetails | boolean | false | Fetch the full description from each listing's detail page. Slower; charged at the item-details rate. |
maxItems | integer | 50 | Maximum number of listings to return. 0 = unlimited. |
maxPages | integer | 100 | Max result pages per search query (leboncoin hard cap: 100 pages = 3,500 results). |
proxyConfiguration | object | Apify residential | Proxy settings. Residential proxies are required — DataDome blocks datacenter IPs after a few requests. |
Category IDs (common)
| ID | Category (French) |
|---|---|
| 2 | Véhicules |
| 9 | Ventes immobilières |
| 10 | Locations |
| 15 | Informatique |
| 16 | Image & Son |
| 17 | Téléphones & Objets connectés |
| 18 | Consoles & Jeux vidéo |
| 23 | Vélos |
| 27 | Vêtements |
| 29 | Ameublement |
| 30 | Électroménager |
| 35 | Emploi |
💰 Pricing
This actor uses pay-per-event billing — you are charged per result, not per compute time.
| Event | Price | When charged |
|---|---|---|
product-listing | $1.00 per 1,000 results | Each listing scraped from search results (no detail page) |
item-details | $4.00 per 1,000 results | Each listing scraped with full description (includeDetails: true) |
The higher rate for item-details reflects the additional request required to fetch each listing's detail page.