Leboncoin.fr ·Only $0.79💰· Any Category· Full Listings + GPS avatar

Leboncoin.fr ·Only $0.79💰· Any Category· Full Listings + GPS

Pricing

from $0.79 / 1,000 results

Go to Apify Store
Leboncoin.fr ·Only $0.79💰· Any Category· Full Listings + GPS

Leboncoin.fr ·Only $0.79💰· Any Category· Full Listings + GPS

[Only $0.79💰] Turn any leboncoin.fr search into a clean dataset — real estate, cars, jobs, goods. One row per ad: price, full description, GPS coordinates, seller, all images, every category attribute, plus boost flags. Anti-bot handled — no proxy or captcha setup. JSON or CSV, billed per result.

Pricing

from $0.79 / 1,000 results

Rating

5.0

(1)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

23

Total users

19

Monthly active users

4 days ago

Last modified

Categories

Share

Leboncoin.fr Scraper

Turn any leboncoin.fr search into a structured dataset — across every category. Paste a search URL (real estate, cars, jobs, goods, services — anything) and get every matching ad as a clean row: title, price, full description, location with real GPS coordinates, seller type, all images, and every category-specific attribute flattened inline (rooms, surface, energy rating, mileage, brand, etc.). The site's anti-bot access is handled for you — no captcha keys, no proxy juggling. JSON or CSV out, billed per result.

How it works

How Leboncoin Scraper works

✨ Why use this scraper?

Tracking the French classifieds market? Building real-estate or used-car price datasets? Monitoring new listings in a city or category? leboncoin is France's largest marketplace — and this actor turns any of its searches into structured data without you touching its anti-bot.

  • 🔗 One input: a search URL. Set your filters on leboncoin in the browser — category, location, price range, keyword, condition — then copy the URL. The actor translates every filter into the search API automatically.
  • 🗂️ Every category works. Real estate, vehicles, jobs, holiday rentals, fashion, electronics, services — the same actor handles all of them. Category-specific fields come through as a flattened attributes object.
  • 🛡️ Anti-bot handled for you. leboncoin is protected by an aggressive anti-bot layer; this actor clears it transparently and reuses the access token down the pages. You configure nothing — no captcha key, no special proxy setup.
  • 📍 Real GPS coordinates. Each ad carries location.lat / location.lng plus city, zip, district, department and region — not just a place name.
  • 🖼️ All images + full description. Every photo URL and the complete ad body, not a truncated preview.
  • 📤 Clean exports. One row per ad, JSON + CSV exported automatically. The dataset row count equals the ad count exactly — no padding rows.
  • 🏢 Optional seller & agency enrichment. Flip on enrichSeller to attach each seller's profile — member-since, total active listings, trust badges, typical response time — and for professional sellers their SIREN/SIRET, business address, website and customer ratings. Turns a listing feed into a B2B lead list.

🎯 Use cases

TeamWhat they build
Real-estate analystsPrice-per-m² datasets by city/district, new-listing alerts, inventory tracking
Used-car dealers / marketplacesPricing comps by make/model/mileage, arbitrage spotting
RecruitersFeeds of new job ads by region and sector
Market researchersSupply, pricing and seller-type trends across any category in France
Resellers / arbitrageUnderpriced-listing discovery in electronics, fashion, collectibles
Lead-gen / sales teamsAgency & pro-seller contact lists — SIREN/SIRET, business address, website, ratings and contact emails — via enrichSeller + enrichEmails
Data teamsA clean, structured mirror of any leboncoin search for downstream pipelines

📥 Supported inputs

Pass one or more leboncoin search URLs in startUrls. The easiest workflow:

  1. Open leboncoin.fr and apply any filters you want (category, location, price, keyword…).
  2. Copy the URL from your browser's address bar — it will look like https://www.leboncoin.fr/recherche?category=9&locations=Rennes&price=....
  3. Paste it into startUrls. Mix several different searches in one run.
URL patternBehaviour
https://www.leboncoin.fr/recherche?category=9&real_estate_type=2All apartment sales (real estate)
https://www.leboncoin.fr/recherche?category=2&...Cars, with your filters (brand, price, mileage…)
https://www.leboncoin.fr/recherche?text=macbook&...Keyword search across a category
https://www.leboncoin.fr/recherche?category=9&locations=Paris_75000__...Any category restricted to a location

Not supported: single-ad detail URLs as a starting point (the search already returns full ad data per row), and hosts other than leboncoin.fr.

⚙️ Input parameters

ParameterTypeDefaultDescription
startUrlsarray["https://www.leboncoin.fr/recherche?category=9&real_estate_type=2"]leboncoin /recherche?... search URLs. Filters in the query string are translated to the search API. Mix several searches freely.
maxItemsinteger1000Hard cap on ads collected per search URL. Big searches return hundreds of thousands of results — use this to control run size and cost.
maxConcurrencyinteger3How many search URLs to process in parallel. Pages within one search are sequential (the access token is reused down the pages).
enrichSellerbooleanfalseAlso fetch each seller's full profile into sellerProfile — member-since, total active listings, badges, response time; and for professional sellers their SIREN/SIRET, business address, website and ratings. One extra request per unique seller (cached per run), so runs take longer and cost a little more.
enrichEmailsbooleanfalsePremium add-on. For professional sellers, finds a contact email from their own website and adds contactEmail, contactWebsite and a detailed emailEnrichment object. Cached per seller; billed only when an email is actually found (never for misses). Keep enrichSeller on so the website is available.
proxyobjectApify Residential, FRleboncoin is geo-aware; French residential proxies are strongly recommended (the default).

📊 Output overview

Each scraped ad is one dataset row of rowType: "ad". Common fields (title, price, location, seller, images, dates) are promoted to the top level; everything category-specific is flattened into the attributes object (with the untouched raw array kept in attributesRaw). The dataset row count equals the ad count exactly.

📦 Output sample

One row per ad (description trimmed here for readability):

{
"rowType": "ad",
"adId": "3201756535",
"title": "Magnifique appartement cœur de ville",
"description": "✨ Superbe appartement – Cœur de ville – 131,85 m² carrez ✨ Idéalement situé en plein cœur de Rennes…",
"price": 568000,
"priceCents": 56800000,
"currency": "EUR",
"url": "https://www.leboncoin.fr/ad/ventes_immobilieres/3201756535",
"categoryId": "9",
"categoryName": "Ventes immobilières",
"adType": "offer",
"status": "active",
"firstPublishedAt": "2026-05-20 15:37:40",
"indexedAt": "2026-06-10 15:37:40",
"expiresAt": "2026-07-19 15:37:40",
"seller": {
"type": "private",
"name": "Bihanlili22",
"storeId": "28949902",
"userId": "1e9e77c6-2d7e-4300-95b7-7655539a486a",
"sector": null
},
"location": {
"city": "Rennes",
"zipcode": "35000",
"district": "Centre",
"department": "Ille-et-Vilaine",
"region": "Bretagne",
"country": "FR",
"lat": 48.11487,
"lng": -1.67941
},
"images": {
"count": 11,
"thumb": "https://img.leboncoin.fr/api/v1/lbcpb1/images/50/f5/44/...jpg?rule=ad-thumb",
"urls": ["https://img.leboncoin.fr/.../...jpg?rule=ad-image", "..."]
},
"attributes": {
"type_real_estate_sale": "Ancien",
"real_estate_type": "Appartement",
"square": "130 m²",
"rooms": "6",
"bedrooms": "4 ch.",
"nb_bathrooms": "1",
"energy_rate": "C",
"ges": "D"
},
"attributesRaw": [ "...the full raw attribute array, untouched..." ],
"hasPhone": true,
"isBoosted": false,
"options": { "has_option": true, "gallery": true, "highlight": true, "urgent": false, "sub_toplist": false },
"favorites": null,
"scrapedAt": "2026-06-10T13:39:17.254Z"
}

With enrichSeller enabled, each row additionally carries a sellerProfile (a professional seller shown here):

{
"sellerProfile": {
"name": "Keymex Synergie",
"accountType": "pro",
"registeredAt": "2025-10-22",
"totalAds": 219,
"badges": ["Responsiveness2", "VerifiedPhoneNumber"],
"replyInMinutes": 0,
"presenceStatus": "OFFLINE",
"pro": {
"siren": "889022950",
"siret": "88902295000022",
"address": "Rue Jean Renoir",
"zipcode": "60230",
"city": "Chambly",
"department": "Oise",
"region": "Picardie",
"website": "https://www.keymex.fr/agence-immobiliere/l-isle-adam/",
"ratingValue": 4.5,
"ratingCount": 190
}
}
}

🗂 Key output fields

GroupFields
IdentifiersrowType, adId, url, scrapedAt
Listingtitle, description (full text), adType (offer / demand), status
Priceprice (number), priceCents, currency
CategorycategoryId, categoryName
DatesfirstPublishedAt, indexedAt, expiresAt
Sellerseller.{type (private / pro), name, storeId, userId, sector}
Locationlocation.{city, zipcode, district, department, region, country, lat, lng}
Imagesimages.{count, thumb, urls[]}
Attributesattributes (flattened key→value for the category: rooms, square, energy_rate, mileage, brand, condition…), attributesRaw (the original array, with labels)
PromotionisBoosted (seller paid for extra visibility), options (boost flags: urgent, gallery, highlight, sub_toplist…), favorites (popularity count, when leboncoin exposes it)
MischasPhone (whether a phone number is offered on the ad)
Seller profile (only with enrichSeller)sellerProfile.{name, accountType, registeredAt, totalAds, badges, replyInMinutes, presenceStatus, feedbackScore}, plus for professional sellers sellerProfile.pro.{siren, siret, address, zipcode, city, department, region, website, ratingValue, ratingCount}
Contact email (only with enrichEmails)contactEmail, contactWebsite, emailEnrichment.{emails[], source, confidence} — professional sellers only

The exact keys inside attributes depend on the category — a real-estate ad carries rooms / square / energy_rate, a car ad carries brand / mileage / fuel, and so on. Whatever leboncoin shows on the ad, you get.

❓ FAQ

Do I need a captcha-solver or special proxy? No. The actor handles leboncoin's anti-bot access layer itself and ships with a sensible French-residential proxy default. You just paste a search URL.

How do I scrape a specific category, city, or price range? Set the filters on leboncoin.fr in your browser, then copy the URL — every filter (category, locations, price, text, condition, etc.) is carried through to the search API. No need to learn the API yourself.

Why is there a cap on very large searches? leboncoin itself caps how deep you can paginate a single search. For searches with hundreds of thousands of results, split by location or add filters to stay under the cap and get complete coverage of each slice.

Can I scrape private data or contact details? No. The actor reads only the public search results. It does not log in, does not reveal hidden phone numbers, and collects no private user data — hasPhone is simply leboncoin's public flag for whether a phone number is offered.

What does enrichSeller add, and is it still public data? Yes — it reads each seller's public profile (the same page anyone sees on leboncoin): join date, number of active listings, trust badges and typical response time. For professional sellers it also captures the business details they publish — store name, SIREN/SIRET, address, website and customer ratings. Lookups are cached per seller, so an agency with hundreds of listings costs a single extra request. No login, no hidden contact details.

One row per ad — no duplicates? Correct. Ads are de-duplicated by their adId within a run, so the dataset row count matches the unique ad count.

💬 Support

🛠 Additional services

  • Custom output shape, extra fields, or one-off datasets: muhamed.didovic@gmail.com
  • Need detail-page enrichment, scheduled monitoring, or another French marketplace scraped? Drop an email.
  • For API access (no Apify fee, just a usage fee for the API): muhamed.didovic@gmail.com

🔎 Explore more scrapers

If this Leboncoin Scraper was useful, see other scrapers and actors at memo23's Apify profile — covering real estate, classifieds, job boards, social media, and more.


⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by leboncoin, Adevinta, or any of their subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available search-result data on leboncoin.fr — no authenticated endpoints, no logged-in content, and no private user data. Users are responsible for ensuring their use complies with leboncoin.fr's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.


SEO Keywords

leboncoin scraper, scrape leboncoin, leboncoin api, leboncoin.fr scraper, Apify leboncoin, leboncoin data extraction, france classifieds scraper, leboncoin real estate scraper, leboncoin immobilier scraper, leboncoin cars scraper, leboncoin voiture scraper, leboncoin price data, french marketplace scraper, leboncoin listings api, leboncoin annonces scraper, scrape french classifieds, leboncoin monitoring, leboncoin alerts, leboncoin jobs scraper, leboncoin location scraper, adevinta scraper