Leboncoin Real Estate Scraper
Pricing
from $0.79 / 1,000 property listings
Leboncoin Real Estate Scraper
Scrape French real estate listings from leboncoin.fr: price, surface, rooms, energy rating, location, seller, and photos.
Pricing
from $0.79 / 1,000 property listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Leboncoin Real Estate Scraper
Extract structured real estate data from leboncoin.fr, France's largest classifieds site, without writing any code.
| Paste any leboncoin.fr search URL and get price, price per m², surface, rooms, bedrooms, energy (DPE) and GES ratings, location, seller type, and photos for every listing — structured and ready for analysis. |
Copy to your AI assistant
Use the Apify actor "parsebird/leboncoin-real-estate-scraper" (actor ID: parsebird~leboncoin-real-estate-scraper) via the ApifyClient: client.actor("parsebird/leboncoin-real-estate-scraper").call(run_input={"startUrls": ["https://www.leboncoin.fr/recherche?category=9&locations=Paris_75011__48.85763_2.38005_1753"], "limit": 500}); inputs are startUrls (array of leboncoin.fr search/category URLs, required) and limit (max listings across the run, optional, default all); output is one JSON object per listing with id, url, title, category, pricing (amount_eur, price_per_square_meter, fees), property (surface_m2, rooms, bedrooms, energy, amenities), location (city, zipcode, department, region), seller (type, name), media (image URLs), dates, listing_details, and source_context/source_data for provenance; full API spec at https://apify.com/parsebird/leboncoin-real-estate-scraper/api; get your token at https://console.apify.com/account/integrations.
What does Leboncoin Real Estate Scraper do?
Leboncoin Real Estate Scraper turns any leboncoin.fr property search into a clean, structured dataset. Leboncoin doesn't offer a public API for third parties, and its pages are protected against automated access — this leboncoin scraper handles both problems for you, returning the same data you'd see in the "Ventes immobilières" (real estate sales) category, ready to use.
- 🏠 Works with any leboncoin.fr search URL — city, radius, price range, surface, rooms, energy rating, property type, or any combination of filters you set up in your browser
- 💶 Extracts price, price per m², and (when leboncoin provides them) estimated notary fees and total acquisition cost
- 📐 Extracts surface, land plot surface, rooms, bedrooms, bathrooms, floor number, parking, heating, and amenities
- 🌍 Extracts rich location data: city, postcode, district, department, region, and coordinates
- 👤 Distinguishes private sellers from real estate professionals (
seller.type) - 🖼️ Returns full-size and thumbnail image URLs for every listing
- 🔁 Paginates automatically up to leboncoin's own result cap for each search URL
- ☁️ Runs on the Apify platform: schedule recurring runs, trigger via API or webhook, and export straight to your stack
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array of strings | Yes | — | leboncoin.fr search or category URLs to scrape, e.g. https://www.leboncoin.fr/recherche?category=9&locations=Paris_75011__48.85763_2.38005_1753 |
limit | integer | No | all available results | Maximum number of listings to save across the whole run |
Advanced users can also override the proxyConfiguration field (defaults to a French residential proxy, required for leboncoin.fr).
Output example
{"id": "3153918263","ids": { "list": "3153918263", "external": "apimo_8078_5325036" },"url": "https://www.leboncoin.fr/ad/ventes_immobilieres/3153918263","title": "Appartement 3 pièces 72 m²","category": "Ventes immobilières","status": "active","listing_type": "offer","pricing": {"amount_eur": 120000,"price_per_square_meter": 1667.0,"fees": { "included": null, "paid_by": "Vendeur" },"estimated_notary_fees_eur": 9600,"estimated_total_property_price_eur": 129600},"property": {"real_estate_type": "Appartement","surface_m2": 72,"rooms": 3,"bedrooms": 2,"bathrooms": 1,"energy": { "rating": "D", "ges": "D" },"amenities": ["Cuisine séparée", "Cave", "Interphone", "Balcon"]},"location": {"city": "Fontaine","zipcode": "38600","department": "Isère","region": "Rhône-Alpes","lat": 45.19955,"lng": 5.68872},"seller": { "type": "pro", "name": "MIRIBEL IMMOBILIER" },"media": {"images": { "count": 7, "urls": ["https://img.leboncoin.fr/api/v1/lbcpb1/images/..."] }},"dates": { "first_published_at": "2026-04-27T03:47:32" },"listing_details": { "category_id": "9", "is_boosted": true, "has_phone": true }}
Every field the source page provides is included — property, location, and pricing only contain the sub-fields that apply to that listing's category (a plot of land, for instance, has no rooms or bedrooms). The full raw attributes array from leboncoin is also kept under source_data for advanced use cases. Download results as JSON, CSV, Excel, or HTML from the Apify Console, or pull them with the API.
Use cases
- Market research — track average price per m² across neighborhoods, cities, or departments over time
- Lead generation — monitor new listings matching your criteria for real estate agencies or investors
- Portfolio monitoring — re-run a saved search on a schedule to catch new or price-changed listings
- Data enrichment — feed structured property data into a CRM, spreadsheet, or BI dashboard
- Academic and journalistic research — analyze French housing market trends at scale
How to scrape leboncoin.fr real estate listings
- Go to leboncoin.fr, pick "Ventes immobilières," and apply the location and filters you want (city, price, surface, rooms, energy rating, and so on).
- Copy the resulting URL from your browser's address bar.
- Paste it into the Start URLs field of this actor (add more URLs to scrape several searches in one run).
- Optionally set Max listings to cap how many results are collected.
- Click Start and download the results as JSON, CSV, or Excel once the run finishes.
How much does it cost to scrape leboncoin.fr?
This actor uses pay-per-event pricing: you're billed only for listings actually returned, per the pricing table below. A search returning 500 listings costs well under $1. There's no separate compute charge on top — proxy and browser costs are covered by the per-listing price.
Pricing
| Event | Price per event | Price per 1,000 |
|---|---|---|
listing-scraped | from $0.00079 | from $0.79 |
Pricing is tiered by your Apify plan (as low as $0.79 per 1,000 listings on Silver/Gold plans, $0.99 per 1,000 on the Free plan). See the Pricing tab on the Actor page for exact current rates.
Is it legal to scrape leboncoin.fr?
Scraping publicly available data is generally legal, but you're responsible for how you use it — comply with leboncoin's terms of service and applicable data protection law (including GDPR) when handling personal data such as seller names. Read more in Apify's guide to the legality of web scraping. This actor only collects data leboncoin already publishes on its public search results pages.
Other real estate scrapers on Apify
- SeLoger France Property Scraper — another major French real estate portal
- Fotocasa Scraper — Spain's leading property site
- Immobiliare.it Scraper — Italy's largest real estate portal
- Daft.ie Property Scraper — Ireland's leading property site
FAQ
Do I need to provide my own proxy? No. The actor uses a French residential Apify Proxy by default, which is required to reliably access leboncoin.fr.
Does this work for rentals as well as sales?
Yes — pass any leboncoin.fr real estate search URL, including rental ("Locations") searches; the same output structure applies, with listing_details and property reflecting whatever fields that listing includes.
Can I filter by price, surface, rooms, or energy rating? Yes. Apply the filters you want directly on leboncoin.fr, then copy the resulting URL into Start URLs — the actor scrapes exactly what that URL returns.
Can I run this on a schedule? Yes. Use Apify's scheduler to run the actor daily, hourly, or at any interval, and combine it with integrations (Slack, Google Sheets, Make, Zapier, webhooks) to get notified of new listings automatically.
Can I access this via API? Yes. Every Apify actor exposes a REST API — see the API tab for endpoints, or use the official Python or JavaScript clients (examples below).
What if a listing is missing a field?
leboncoin only sends the attributes that apply to that specific listing (a "Terrain" plot has no rooms, for example). Fields with no source data are omitted or left null rather than guessed.
I found a bug or a listing that isn't parsed correctly. What do I do? Please open an issue on the Actor's Issues tab with the search URL you used — reports help keep the actor in sync with leboncoin's page changes.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("parsebird/leboncoin-real-estate-scraper").call(run_input={"startUrls": ["https://www.leboncoin.fr/recherche?category=9&locations=Paris_75011__48.85763_2.38005_1753"],"limit": 500,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["pricing"]["amount_eur"])
JavaScript example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/leboncoin-real-estate-scraper').call({startUrls: ['https://www.leboncoin.fr/recherche?category=9&locations=Paris_75011__48.85763_2.38005_1753'],limit: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((item) => [item.title, item.pricing.amount_eur]));