Leboncoin Scraper avatar

Leboncoin Scraper

Pricing

from $2.00 / 1,000 listings

Go to Apify Store
Leboncoin Scraper

Leboncoin Scraper

Extract data from leboncoin.fr across thousands of listings — real estate, cars, jobs, and more. Scrape titles, descriptions, images, prices, location, seller names, and contact details, plus every other ad field. Unlimited and extremely fast!

Pricing

from $2.00 / 1,000 listings

Rating

0.0

(0)

Developer

Gen First

Gen First

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Extract listings, prices, seller info, photos, and location data from Leboncoin.fr — no login, no cookies, and no proxy setup required. Leboncoin Scraper turns any Leboncoin search, category, ad, seller profile, or shop (boutique) URL into clean, structured JSON you can export to CSV, Excel, JSON, XML, or HTML.

What does Leboncoin Scraper do?

  • 🔎 Scrapes search & category pages — paste any Leboncoin category or search-results URL and collect every listing on it.
  • 📄 Scrapes individual ads — paste a single ad URL to get its full detail record.
  • 👤 Scrapes seller profiles — paste a seller/store profile URL to collect every listing they have published.
  • 🏬 Scrapes shops (boutiques) — paste a professional shop's boutique URL to collect that store's entire public inventory.
  • 🏠 Works across all categories — real estate, vehicles, jobs, electronics, fashion, services, and more.
  • 🧾 Returns rich structured data — title, description, price, currency, images, geolocation, seller/owner profile, listing options, and category-specific attributes (e.g. energy rating, surface, rooms for real estate).
  • 🔓 No login or session cookies required.
  • 🌐 Proxy preconfigured for reliable performance out of the box.
  • 📤 Export anywhere — JSON, CSV, Excel, XML, RSS, or HTML Table.

About Leboncoin

Leboncoin is one of France's largest classifieds websites, founded in 2006 and operated by LBC France (part of the Adevinta group). It hosts millions of listings across real estate, vehicles, jobs, and consumer goods, making it a key source of French marketplace and pricing data.

What can you do with this data?

  • Real-estate market & price monitoring — track property prices, surfaces, and energy ratings by city or department.
  • Vehicle & product price comparison — benchmark asking prices across listings.
  • Lead generation — collect professional sellers and agencies with their public profile data.
  • Competitor & agency tracking — drop a seller's profile URL to monitor a specific store's or pro's full inventory over time.
  • Dataset building — feed structured listing data into analytics, dashboards, or ML pipelines.

How to use Leboncoin Scraper

  1. Open the actor on Apify.
  2. Add one or more Leboncoin URLs to the urls field (search/category pages, single ads, seller profiles, or shop/boutique pages).
  3. Set maxRecords to cap how many listings to collect (default 100).
  4. Click Start and let the scraper run.
  5. Download the results in JSON, CSV, Excel, XML, RSS, or HTML Table.

Input parameters

Input parameterDescriptionRequiredDefault value
urlsLeboncoin URLs to scrape (search, ad, profile, or boutique URLs)true{url: "https://www.leboncoin.fr/c/ventes_immobilieres/real_estate_type:2"}
maxRecordsMaximum number of records to scrapefalse100

Supported input URLs

Leboncoin Scraper accepts four kinds of URLs:

  • Search / category URL — collects every listing on the page (and paginates):
    • https://www.leboncoin.fr/c/ventes_immobilieres/real_estate_type:2
  • Single ad URL — collects one listing's full detail record:
    • https://www.leboncoin.fr/ad/ventes_immobilieres/1234567890
  • Seller profile URL — collects every active listing from one seller (and paginates):
    • https://www.leboncoin.fr/profile/26716442-a12c-49e1-a381-7fbbe381e1a7/offers
    • Pattern: https://www.leboncoin.fr/profile/<user_id>/offers, where <user_id> is the UUID shown in the seller's profile-page URL. Results are returned newest-first and respect maxRecords.
  • Boutique (shop) URL — collects the entire public inventory of one professional shop (and paginates):
    • https://www.leboncoin.fr/boutique/7394489/barnes_saint_germain_en_laye.htm
    • Pattern: https://www.leboncoin.fr/boutique/<online_store_id>/<slug>.htm, where <online_store_id> is the numeric store ID in the boutique-page URL (the trailing <slug> is just the shop name and is ignored). Results respect maxRecords.

Profile vs. boutique: both collect a single seller's listings, but they are different URL forms — a profile uses a UUID (/profile/<user_id>/offers), while a boutique uses the numeric store ID from the shop's storefront page (/boutique/<online_store_id>/...). Use whichever URL you have.

You can mix all four URL types in the same urls list.

Examples

Input

Scrape 20 search results from a given search URL:

{
"urls": ["https://www.leboncoin.fr/c/ventes_immobilieres/real_estate_type:2"],
"maxRecords": 20
}

Scrape up to 20 listings from a single seller's profile:

{
"urls": ["https://www.leboncoin.fr/profile/26716442-a12c-49e1-a381-7fbbe381e1a7/offers"],
"maxRecords": 20
}

Scrape up to 20 listings from a single shop (boutique):

{
"urls": ["https://www.leboncoin.fr/boutique/7394489/barnes_saint_germain_en_laye.htm"],
"maxRecords": 20
}

Output

Profile and boutique runs return the same ad records as search and single-ad runs — one record per listing — with each record's inputUrl set to the profile or boutique URL you supplied.

The example below is illustrative — personal and identifying values have been anonymized.

{
"id": "1234567890",
"url": "https://www.leboncoin.fr/ad/ventes_immobilieres/1234567890",
"title": "Studio 1 pièce 27 m²",
"description": "Studio 1 pièce 27 m²\n\nVous recherchez un premier achat malin ou un investissement locatif rentable ? Ce studio de 27 m2 a tout pour vous séduire !\nSitué au 1er étage d'une résidence agréable, cet appartement bénéficie d'un emplacement privilégié, en retrait de la circulation, offrant un calme rare tout en restant proche des commodités.\nTrès lumineux, il dispose d'une pièce de vie confortable ouvrant sur un agréable balcon privatif.\nPour votre confort, une place de parking privative complète ce bien.\n\nSurface : 27 m²\n\nConsommation énergie primaire : 142 kWh/m²/an\nConsommation énergie finale : 52 kWh/m²/an",
"status": "active",
"categoryId": "9",
"categoryName": "Ventes immobilières",
"brand": "leboncoin",
"adType": "offer",
"images": [
"https://img.leboncoin.fr/api/v1/lbcpb1/images/00/00/00/0000000000000000000000000000000000000000.jpg?rule=ad-image",
"https://img.leboncoin.fr/api/v1/lbcpb1/images/11/11/11/1111111111111111111111111111111111111111.jpg?rule=ad-image"
],
"thumbnailUrl": "https://img.leboncoin.fr/api/v1/lbcpb1/images/00/00/00/0000000000000000000000000000000000000000.jpg?rule=ad-thumb",
"imageCount": 6,
"inputUrl": "https://www.leboncoin.fr/c/ventes_immobilieres/real_estate_type:2",
"price": 145000,
"priceCents": 14500000,
"currency": "EUR",
"createdAt": "2026-06-11 01:17:20",
"indexedAt": "2026-06-11 01:17:20",
"hasPhone": true,
"favorites": 0,
"location": {
"countryId": "FR",
"regionId": "22",
"regionName": "Rhône-Alpes",
"departmentId": "69",
"departmentName": "Rhône",
"cityLabel": "Lyon 69005",
"city": "Lyon",
"zipcode": "69005",
"district": "Point du Jour",
"lat": 45.75,
"lng": 4.79
},
"owner": {
"storeId": "00000000",
"userId": "00000000-0000-0000-0000-000000000000",
"type": "pro",
"name": "Agence Immobilière Exemple",
"siren": "000000000",
"noSalesmen": false,
"activitySector": "2"
},
"options": {
"hasOption": false,
"booster": false,
"photosup": false,
"urgent": false,
"gallery": false,
"subToplist": false,
"continuousTopAds": false,
"highlight": false
},
"attributes": {
"activity_sector": "2",
"external_ad_id": "example_000000_00",
"real_estate_type": "2",
"square": "27",
"rooms": "1",
"nb_shower_room": "1",
"energy_rate": "c",
"ges": "a",
"specificities": "",
"heating_type": "communal",
"heating_mode": "gas",
"floor_number": "1",
"nb_floors_building": "8",
"floor_property": "",
"elevator": "1",
"orientation": "west",
"outside_access": "",
"nb_parkings": "2",
"building_year": "1972",
"fees_at_the_expanse_of": "seller",
"annual_charges": "1700",
"pro_rates_link": "https://www.example.com/honoraires",
"district_id": "3000360",
"district_visibility": "true",
"district_type_id": "9",
"district_resolution_type": "integration_flux",
"mandate_type": "simple",
"price_per_square_meter": "5370",
"estimated_notary_fees": "11600",
"estimated_total_property_price": "156600",
"price_except_fees": "145000",
"fees_price": "0",
"annual_energy_budget_min": "700",
"annual_energy_budget_max": "1100",
"custom_ref": "20",
"immo_sell_type": "old",
"is_import": "true",
"lease_type": "sell"
}
}

Output fields

Each scraped listing is one dataset record with the following fields.

Core

FieldDescription
idUnique Leboncoin listing ID.
urlCanonical URL of the ad.
titleListing title.
descriptionFull listing description text.
statusListing status (e.g. active).
categoryIdLeboncoin category ID.
categoryNameHuman-readable category name.
brandSource brand (leboncoin).
adTypeAd type (e.g. offer).
imagesArray of full-size image URLs.
thumbnailUrlURL of the thumbnail image.
imageCountNumber of images on the listing.
inputUrlThe original URL you supplied that produced this record.
createdAtFirst publication date/time.
indexedAtWhen the listing was indexed.
hasPhoneWhether the seller published a phone number.
favoritesNumber of times the ad was favorited.

Pricing

FieldDescription
pricePrice as a number (in currency).
priceCentsPrice in cents (integer).
currencyCurrency code (e.g. EUR).

Location (location)

FieldDescription
countryIdCountry code (e.g. FR).
regionId / regionNameRegion ID and name.
departmentId / departmentNameDepartment ID and name.
cityLabelFull city label as shown on the listing.
cityCity name.
zipcodePostal code.
districtDistrict/neighborhood, when available.
lat / lngGeographic coordinates.

Seller (owner)

FieldDescription
storeIdStore ID for professional sellers.
userIdSeller account ID.
typeSeller type (private or pro).
nameSeller / store display name.
sirenFrench business registration number (pros).
noSalesmenWhether the seller opts out of salesperson contact.
activitySectorProfessional activity sector code.

Options (options)

Boolean promotion flags for the listing: hasOption, booster, photosup, urgent, gallery, subToplist, continuousTopAds, highlight.

Attributes (attributes)

A category-specific key/value map. For real estate this includes fields such as square (surface), rooms, energy_rate, ges, heating_type, building_year, price_per_square_meter, and more. The exact keys depend on the listing's category.

Output formats

Results are stored in an Apify dataset. After a run finishes you can download the data as JSON, CSV, Excel, XML, RSS, or HTML Table, or pull it via the Apify API.

❓ FAQ

Do I need proxies to scrape Leboncoin?

No. The proxy is already preconfigured for optimal performance — you don't need to set anything up.

Do I need to write code?

No. Leboncoin Scraper is a no-code tool: paste your URLs, set maxRecords, and run.

Can I scrape a single ad or a whole category?

Both. Provide a search/category URL to collect many listings, or a single ad URL to collect one listing's full record. You can mix search, ad, seller-profile, and boutique (shop) URLs in the same urls list.

Can I scrape every listing from one seller?

Yes. Paste the seller's profile URL — https://www.leboncoin.fr/profile/<user_id>/offers — and the scraper collects all of that seller's active offers (newest first), up to maxRecords. Each result is a full ad record, identical to single-ad output, with inputUrl set to the profile URL.

Can I scrape every listing from a shop (boutique)?

Yes. Paste the shop's boutique URL — https://www.leboncoin.fr/boutique/<online_store_id>/<slug>.htm — and the scraper collects that shop's entire public inventory, up to maxRecords. <online_store_id> is the numeric store ID in the URL; the trailing slug (shop name) is ignored. Each result is a full ad record, identical to single-ad output, with inputUrl set to the boutique URL. A boutique is the storefront form of a professional seller — if you have a /profile/<user_id>/offers URL instead, use that; both return the same kind of records.

How many listings can I scrape?

Use maxRecords to set the cap (default 100). Increase it to collect more results across paginated search pages.

What data can I extract?

Title, description, price, currency, images, geolocation, seller/owner profile, promotion options, and category-specific attributes (such as surface, rooms, and energy rating for real estate). See Output fields.

Scraping publicly available data is generally permitted, but you are responsible for how you use it. Avoid collecting or storing personal data beyond what your use case requires, and comply with applicable laws (including the GDPR) and Leboncoin's terms. Consult legal counsel if you're unsure.

What export formats are available?

JSON, CSV, Excel, XML, RSS, and HTML Table — plus programmatic access via the Apify API.

Support

For custom or simplified outputs, or to report a bug, contact the developer at support (at) getmediumdata.com or open an issue.