Leboncoin Real Estate Scraper
Pricing
from $1.00 / 1,000 results
Leboncoin Real Estate Scraper
Scrape leboncoin.fr real estate listings with full filters: city, price, surface, rooms, DPE. Returns 40+ fields per ad — GPS, images, seller info, energy class. No proxy setup needed, works out of the box.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(1)
Developer
Alexandre Manguis
Maintained by CommunityActor stats
3
Bookmarked
274
Total users
22
Monthly active users
7.7 hours
Issues response
12 days ago
Last modified
Categories
Share
Extract real estate ads from leboncoin.fr, France's largest classifieds site, with the same filters you use on the website: keywords, city or postcode, radius, price, surface and rooms. Every ad comes back as one clean, flat row with 55 fields: price, price per m², surface, rooms, DPE energy class, GPS coordinates, photos, seller type and more.
Proxies are included — there is nothing to configure, and no leboncoin account is needed.
What does Leboncoin Real Estate Scraper do?
- Runs a leboncoin search with your keywords and filters, exactly like the search page of the site.
- Goes through the result pages (35 ads per page) until it reaches your Max ads limit or the end of the results.
- Saves each ad once (duplicates across pages are removed) with a
rankshowing its position in the results. - Optionally opens each ad's page to fetch the full description text, which leboncoin does not show in search results.
- Converts city names and postcodes to GPS coordinates with the official French address API (
api-adresse.data.gouv.fr), soParis 15,75015orLyon 3all work.
What data can you extract?
| Group | Fields |
|---|---|
| Ad | id, url, title, description, status, ad_type, category, published_at, updated_at, expires_at, rank |
| Price | price_eur, price_per_sqm, notary_fees_est, total_project_est, annual_charges, property_tax |
| Property | property_type, sale_type, surface_m2, land_surface_m2, rooms, bedrooms, bathrooms, floors, building_year, parking_spots, condition, orientation, outside_access, heating_mode, specificities, available_from |
| Energy (DPE) | energy_class, ges_class, energy_budget_min, energy_budget_max |
| Location | location_city, location_zipcode, location_district, location_department, location_dept_id, location_region, location_lat, location_lng |
| Seller | seller_name, seller_type (private or pro), seller_user_id, seller_has_phone |
| Photos | images_count, images_thumbnail, images_urls |
| Flags | is_boosted, is_urgent, is_highlighted |
Fields that an ad does not fill are returned as 0 (numbers), "" (text) or false, so every row has the same columns.
Use cases
- Market analysis — track asking prices and price per m² by city, postcode or property type.
- Property investment — shortlist ads by price, surface, rooms and DPE class, then sort them in a spreadsheet.
- Real estate agencies and lead generation — see which ads are posted by private sellers (
seller_type: private) in your area. - Energy and renovation — find homes with a poor DPE class (
F,G) and their estimated annual energy budget. - Monitoring — schedule the Actor daily on the same search and compare
published_at/updated_atto spot new and updated ads. - Data science and maps — use
location_lat/location_lngto plot listings on a map.
How to use it
- Click Try for free (or Start) on this page.
- Type your Keywords (for example
maisonorappartement) and a City. - Add the filters you need (price, surface, rooms) and set Max ads.
- Click Start and wait for the run to finish.
- Open the Output tab and download the results as JSON, CSV, Excel or HTML, or get them through the Apify API.
Input
All fields are optional. Without any input, the Actor searches maison in all of France and saves 100 ads.
| Field | Type | Default | What it does |
|---|---|---|---|
keywords | string | maison | Text typed into leboncoin's search box, e.g. maison, appartement T3, villa, terrain. |
city | string | all of France | City, arrondissement or postcode, e.g. Paris 15, 75015, Lyon 3, Bordeaux. |
radius | integer | 10000 | Search radius around the city, in meters (500–100000). |
priceMin / priceMax | integer | — | Price range in euros. |
surfaceMin / surfaceMax | integer | — | Living area range in m². |
roomsMin | integer | — | Minimum number of rooms (1–20). |
maxAds | integer | 100 | Maximum number of ads to save (1–5000). |
delay | number | 2.0 | Pause between result pages, in seconds (0.5–30). |
forceDescription | boolean | false | Open each ad's page to fetch its full description. Slower, billed per description found. |
Input example
{"keywords": "maison","city": "Paris 15","priceMax": 900000,"surfaceMin": 80,"roomsMin": 4,"maxAds": 100}
Output
Each dataset item is one ad. The Overview table in the Output tab shows the key columns (title, price, surface, rooms, city, postcode, DPE, seller type, link); the full item keeps all 55 fields.
Output example
Real item from a run (keywords: appartement, city: Lyon 3), shortened: the photo list is cut and the seller's identity is anonymized.
{"id": 3279970620,"url": "https://www.leboncoin.fr/ad/ventes_immobilieres/3279970620","title": "LYON 6e BELLECOMBE | 117,50 m² | TERRASSE 18 m² | DPE A | 5 PIÈCES","description": "","status": "active","ad_type": "offer","published_at": "2026-10-01 08:44:07","updated_at": "2026-10-07 12:41:30","category": "Ventes immobilières","price_eur": 550000,"price_per_sqm": 4198,"notary_fees_est": 44000,"total_project_est": 594000,"annual_charges": 1575,"property_tax": 1371,"property_type": "Appartement","surface_m2": 131,"rooms": 5,"bedrooms": 3,"bathrooms": 1,"building_year": 1900,"condition": "Très bon état","orientation": "Est","outside_access": "Terrasse","specificities": "Construction ancienne, Interphone, Cuisine équipée","available_from": "10/2026","energy_class": "A","ges_class": "A","location_city": "Lyon","location_zipcode": "69006","location_district": "Bellecombe","location_department": "Rhône","location_dept_id": "69","location_region": "Rhône-Alpes","location_lat": 45.76432,"location_lng": 4.8672,"seller_name": "Agency name","seller_type": "pro","seller_user_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","seller_has_phone": true,"images_count": 14,"images_thumbnail": "https://img.leboncoin.fr/api/v1/lbcpb1/images/...jpg?rule=ad-thumb","images_urls": ["https://img.leboncoin.fr/api/v1/lbcpb1/images/...jpg?rule=ad-image"],"is_boosted": false,"is_urgent": false,"is_highlighted": false,"rank": 1}
Dates (published_at, updated_at, expires_at) are returned as leboncoin gives them: YYYY-MM-DD HH:MM:SS.
Configuration
- Proxies: included and pre-configured. You do not need to set up any proxy.
- Search scope: the search runs on all leboncoin categories with your keywords, so use property words (
maison,appartement,terrain…). Thecategoryfield tells you which leboncoin category each ad comes from. - Location: when
cityis set, the search covers a circle ofradiusmeters around that city, so nearby towns or arrondissements can appear. Filter onlocation_zipcodeif you need an exact area. - Result limit: leboncoin shows 35 ads per page and at most 100 pages per search, so one search returns at most about 3,500 ads whatever the
maxAdsvalue. To collect more, split your search (by city, price range or surface range) into several runs. - Descriptions:
forceDescriptionadds one request per ad. Pages are fetched 25 at a time, but some ad pages take a long time to load, so keepmaxAdsreasonable when you turn it on. - Speed: without descriptions, a 100-ad search took about 45 seconds in our tests.
Use it through the API
Run the Actor and get the results in one call (replace YOUR_API_TOKEN with your Apify API token):
curl -X POST "https://api.apify.com/v2/acts/leadsbrary~leboncoin-real-estate-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": "appartement", "city": "Lyon", "maxAds": 50}'
You can also connect the Actor to Make, Zapier, n8n, Google Sheets, webhooks and other integrations from the Apify Console.
Pricing
This Actor uses pay-per-event pricing, plus the Apify platform usage of your run (compute, storage), as shown in the Pricing tab.
- Result — charged once for each ad saved to the dataset.
- Ad description — if this event is listed in the Pricing tab, it is charged only when
forceDescriptionis on, once for each ad whose full description was actually found. - Platform usage — depends on run time and memory.
forceDescriptionmakes runs longer, so it increases platform usage.
maxAds caps the number of results, so it also caps your cost. The current price of each event for your Apify plan is shown in the Pricing tab of this page.
FAQ
Why is description empty?
leboncoin's search results never include the ad text; it only exists on each ad's own page. Turn on forceDescription to have the Actor open every ad and fill in description.
Why did I get fewer ads than maxAds?
Either the search has fewer matching ads, or it reached leboncoin's limit of 100 pages (about 3,500 ads) per search. The run's status message shows how many ads leboncoin reported as available.
Why do I get some ads that are not real estate?
The Actor uses leboncoin's keyword search, which covers every category. A broad keyword such as maison with no city can also match furniture, decoration or toys. Use more specific keywords, add a city and filters, and use the category field (for example Ventes immobilières or Locations) to keep only the ads you want.
Why do I see ads from a nearby town?
The city search uses a radius (10 km by default). Lower radius or filter on location_zipcode / location_city.
The run failed with "City not found". What should I do?
The city could not be matched by the French address API. Check the spelling, or use the 5-digit postcode instead (for example 69003).
Do I need my own proxies or a leboncoin account?
No. Proxies are included and the Actor only reads public leboncoin pages.
Can I get the seller's phone number?
No. The Actor does not collect phone numbers; it only tells you whether the seller made one available (seller_has_phone).
Is it legal to scrape leboncoin?
The Actor collects publicly visible ads. Some fields (such as private sellers' names) can be personal data: if you store or reuse them, you are responsible for complying with the GDPR and leboncoin's terms of use. If you are unsure, ask a lawyer.
Something does not work or I need a new field
Open an issue in the Issues tab of this Actor with your input and run link, and we will look into it.
Keywords
leboncoin scraper, leboncoin real estate scraper, leboncoin immobilier, scrape leboncoin.fr, leboncoin API, leboncoin data extraction, leboncoin ventes immobilières, French real estate scraper, immobilier France, annonces immobilières leboncoin, vente maison France, vente appartement France, prix immobilier France, DPE énergie leboncoin, classe énergétique DPE, GES leboncoin, real estate France API, French property data, French housing market data, property scraper France, scrape real estate listings France, Paris real estate data, Lyon immobilier, Marseille property listings, Bordeaux real estate, Toulouse immobilier, prix au m² France, terrain à vendre France, maison à vendre France, appartement à vendre France, leboncoin seller info, leboncoin photos annonces, GPS coordinates real estate France, notary fees estimate France, frais de notaire estimation, real estate lead generation France, PropTech data France, French property investors, leboncoin monitoring, real estate market monitoring France, Apify real estate actor, leboncoin ad description scraper, leboncoin annonce description