Leboncoin Scraper — Listings, Prices & Sellers avatar

Leboncoin Scraper — Listings, Prices & Sellers

Pricing

$0.80 / 1,000 listing scrapeds

Go to Apify Store
Leboncoin Scraper — Listings, Prices & Sellers

Leboncoin Scraper — Listings, Prices & Sellers

Scrape Leboncoin.fr ads from any search URL or keyword + location + category: price, full description, all attributes, city & postcode, photos, seller type and name.

Pricing

$0.80 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

8 days ago

Last modified

Share

Scrape Leboncoin.fr, France's largest classifieds site: title, price, full description, every attribute the ad shows (surface, rooms, energy class, make, model, year, mileage, fuel, gearbox, condition and the rest), city, postcode, department and region, publication date, all photos, shipping option, seller type (private or pro), seller name and SIREN for professionals. Start from any Leboncoin search URL, a category page or an ad URL, or simply type a keyword, a category and a few locations.

It reads the same JSON search service the Leboncoin website uses, so each request returns up to 100 complete ads: the description and all attributes come with every listing, with no extra page per ad and no extra fee. Export to JSON, CSV or Excel, or pull the results through the API into your app, a spreadsheet or an LLM pipeline.

What data does Leboncoin Scraper extract?

FieldDescription
id, urlLeboncoin ad id and ad URL
title, descriptionAd title and the full description text
price, currency, oldPricePrice in EUR (monthly rent for rentals) and the previous price when the seller lowered it
category, categoryId, adTypee.g. "Voitures", "2"; offer or demand (wanted ad)
publishedAt, updatedAt, expiresAtFirst publication, last update / bump and expiry, ISO 8601 with Paris time offset
city, postcode, department, departmentId, region, regionId, locationLabele.g. "Lyon", "69003", "Rhône", "69", "Rhône-Alpes", "Lyon 69003 Part-Dieu"
latitude, longitude, locationPrecisionMap point of the ad. area = centre of the town or district shown, address = the address a professional published, approximate = a private seller's address rounded to about 1 km
attributesEvery labelled attribute as {key: value as shown}: {"mileage": "230000 km", "regdate": "2013", "fuel": "Diesel", ...} or {"square": "50 m²", "rooms": "2", "energy_rate": "C", "furnished": "Meublé", "monthly_charges": "150 €", ...}
brand, model, year, mileageKm, fuel, gearboxVehicle fields as typed columns (also phones, bikes, etc. for brand / model)
realEstateType, surfaceM2, rooms, bedrooms, energyClass, furnishedReal-estate fields as typed columns
conditionItem condition, e.g. "Très bon état"
images, imageCount, thumbnailUrlAll photo URLs in large size
shippingAvailable, shippingTypeWhether the seller ships, and how (mondial_relay, colissimo, face_to_face, ...)
transactionStatus"Achat en cours" / "Vendu" when a purchase is under way
sellerType, sellerName, sellerId, storeId, sirenpro or private, the seller name as shown on the ad, Leboncoin user / store ids, SIREN for professionals
sellerRating, sellerReviewCountSeller rating on a 0-5 scale and number of reviews, when the seller has reviews
hasPhone, isUrgent, isBoostedWhether the ad offers a phone contact (the number itself is not collected), "Urgent" and paid-boost flags
searchUrl, position, scrapedAtThe search the ad came from, its rank in that search and when it was scraped

How to scrape Leboncoin listings

  1. Open leboncoin.fr, search, and set the filters you want (category, location, radius, price, surface, mileage, private/pro, sort...).
  2. Copy the URL from the address bar into Start URLs. Add as many searches as you like; category pages (/c/voitures) and ad URLs (/ad/voitures/1234567890) work too.
  3. Or skip the browser: fill in Search keyword, Category, Locations (cities, postcodes or department numbers), Min / Max price, Seller type and Sort.
  4. Set Max items and click Start. Download the results as JSON, CSV or Excel, or read them through the API.

Input example

{
"startUrls": [
{ "url": "https://www.leboncoin.fr/recherche?category=10&locations=Lyon&price=500-1200&square=30-max" },
{ "url": "https://www.leboncoin.fr/recherche?category=2&regdate=2015-max&mileage=min-100000&owner_type=private&sort=price&order=asc" }
],
"searchQuery": "golf 7",
"category": "2",
"locations": ["Lyon", "38", "Bordeaux 33000"],
"minPrice": 5000,
"maxPrice": 20000,
"sellerType": "private",
"sort": "newest",
"maxItems": 500,
"maxItemsPerSearch": 200
}

Output example

{
"id": "3283620928",
"url": "https://www.leboncoin.fr/ad/locations/3283620928",
"title": "GRAND T2 MEUBLÉ 50 m² – PARIS 15e – PARC GEORGES-BRASSENS À 2 MIN – DPE C",
"description": "PARIS 15e – SAINT-LAMBERT – CALME – LUMINEUX – VUE DÉGAGÉE\n\nÀ louer, très beau T2 meublé de 50 m², situé au 3e étage avec ascenseur ...",
"price": 1950,
"currency": "EUR",
"oldPrice": null,
"category": "Locations",
"categoryId": "10",
"adType": "offer",
"publishedAt": "2026-10-06T22:31:46+02:00",
"updatedAt": "2026-10-06T22:31:46+02:00",
"expiresAt": "2026-12-05T21:31:46+01:00",
"city": "Paris",
"postcode": "75015",
"department": "Paris",
"departmentId": "75",
"region": "Ile-de-France",
"regionId": "12",
"locationLabel": "Paris 75015 Georges Brassens",
"latitude": 48.83,
"longitude": 2.3,
"locationPrecision": "approximate",
"condition": null,
"realEstateType": "Appartement",
"surfaceM2": 50,
"rooms": 2,
"bedrooms": 1,
"energyClass": "C",
"furnished": "Meublé",
"attributes": {
"real_estate_type": "Appartement", "furnished": "Meublé", "square": "50 m²", "rooms": "2", "bedrooms": "1 ch.",
"energy_rate": "C", "ges": "C", "heating_type": "Collectif", "floor_number": "3", "elevator": "Oui",
"building_year": "1971", "monthly_charges": "150 €", "security_deposit": "3600 €", "charges_included": "Oui"
},
"images": ["https://img.leboncoin.fr/api/v1/lbcpb1/images/.../....jpg?rule=ad-large"],
"imageCount": 4,
"shippingAvailable": null,
"sellerType": "private",
"sellerName": "Kamel",
"siren": null,
"sellerRating": null,
"hasPhone": true,
"isUrgent": false,
"searchUrl": "https://www.leboncoin.fr/recherche?category=10&locations=Paris",
"position": 2,
"scrapedAt": "2026-10-06T23:39:40+00:00"
}

A car ad fills brand, model, year, mileageKm, fuel, gearbox (e.g. "Volkswagen", "Golf", 2013, 230000, "Diesel", "Automatique") and, for dealers, sellerName and siren (e.g. "AB MOTORS", "895063410").

Leboncoin serves at most 3,500 ads per search (the site shows 100 pages of 35). That is a limit of the site, not of the scraper; the run log and the resultCapHit note tell you when a search had more. To collect more, split the search: by department or city, by price band, or by subcategory, and add each as its own start URL. Ads that appear in several of your searches are saved and charged only once per run. For new-ads monitoring, sort by newest (the default for the search fields) and set Max items per search to the number you need.

Does it get the full description and all attributes?

Yes, for every listing, without opening each ad. Leboncoin's search service returns the complete ad, so the description, all attributes (real estate: surface, rooms, bedrooms, floor, elevator, heating, DPE/GES, charges, deposit; vehicles: make, model, version, year, first registration, mileage, fuel, gearbox, horsepower, colour, doors, equipment; items: brand, model, condition, size...) and all photos are in each row.

Does it collect phone numbers or require a login?

No login is needed and none is used. The scraper exports what any visitor sees on a Leboncoin ad: the seller's name as displayed, whether the seller is a private person or a professional, and the professional's SIREN and store id. Phone numbers sit behind a click (and often a login) and are never collected; hasPhone only tells you that a phone contact exists. A private seller's exact address is never exported: when a private ad carries an exact map point it is rounded to about 1 km (locationPrecision: "approximate").

Do I need a proxy? What does a run cost?

Leboncoin is protected by DataDome and refuses datacenter IPs. The default proxy, Apify residential, France, works reliably: in our tests 100% of requests went through (the scraper retries on a fresh IP when one is refused). A request returns up to 100 complete ads and moves about 0.1 MB, so 1,000 listings use roughly 1 MB of residential traffic, under $0.01 at Apify's residential rate, plus a little compute. Apify's UNBLOCKER proxy group also works; it bills about $0.0015 per request, i.e. about $0.015 per 1,000 listings. Datacenter proxies do not work.

Monitor changes on a schedule

Turn on Only new or changed items to watch a search: each run remembers what earlier runs returned and outputs only ads that are new or whose price, crossed-out old price, transaction status (e.g. "Achat en cours") or ad status changed. Unchanged ads are dropped before they are saved, so they are not charged. Max items then sets how many ads are checked per run (keep the newest-first sort, e.g. the newest 50-100 ads of a search). Save the input as a task and add a Schedule in Apify (for example every hour or daily); give each watch its own Monitoring key if several schedules use the same search. Every output item has changeType (new or changed), and changed items have previousValues with the old values, e.g. {"price": 450}.

Pricing

Pay per result: you are charged per listing saved to the dataset, with the full description and all attributes included. There is no start fee and no detail fee. See the Pricing tab for the current price. Platform usage (proxy traffic and compute) is billed by Apify and stays around one cent per 1,000 listings.

Integrations and API

Run it from the Apify API, schedule it (e.g. every hour for new ads in your city), and send the results to Google Sheets, Slack, Make, Zapier, n8n or a webhook. Use maxItems to cap the cost of each run.

This Actor collects publicly visible ad data that anyone can see without an account. It does not log in, does not collect phone numbers or anything behind a click or login, and does not export private sellers' exact addresses. Seller names are personal data under the GDPR when they belong to private individuals: you are responsible for having a legitimate purpose and a legal basis for processing them, and for respecting Leboncoin's terms of use. If in doubt, ask a lawyer.

Support

Found a bug or need a field that is not there? Open an issue on the Issues tab with the input you used and the run link.