Leboncoin Universal Scraper - Real Estate avatar

Leboncoin Universal Scraper - Real Estate

Pricing

from $0.60 / 1,000 results

Go to Apify Store
Leboncoin Universal Scraper - Real Estate

Leboncoin Universal Scraper - Real Estate

⚡ Scrape unlimited Leboncoin real-estate listings — no URL needed! Pick rent, sale or flatshare, add your filters (price, surface, rooms, DPE…) and instantly get rich, structured data for market analysis, deal sourcing, price monitoring or lead generation.

Pricing

from $0.60 / 1,000 results

Rating

5.0

(2)

Developer

Scrapifier

Scrapifier

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Leboncoin Real Estate Scraper

Scrape real-estate listings from Leboncoin by transaction, location and property filters (no URL to build) and export them as JSON, CSV or Excel, or pull them straight from the API.

⚡ For every listing you get the title, price or rent and full description, the surface, rooms, bedrooms, DPE and GES classes, heating, floor and the other typed attributes, the image URLs, the city, postal code and GPS coordinates, the publication and update dates, the Leboncoin category and whether the seller published a phone number. Covers rentals, sales, flatshares, holiday rentals, new builds and offices, with server-side filters applied by Leboncoin before you pay, no login and pay per result.

Apify Actor

🎯 Why scrape Leboncoin real estate?

  • Deal sourcing for investors: pull every house for sale under a budget in a department, with land surface and construction year, and spot underpriced listings the day they appear.
  • Price and rent monitoring: collect apartments for rent in a city each week and follow the median rent per square metre by arrondissement.
  • Lead generation for agencies: list private-seller listings (owner_type set to private) in your zone and reach owners before the competition does.
  • Market research: measure how many listings carry a DPE class F or G, how many are furnished, or how long they stay online across whole regions.
  • Relocation and house hunting: get a spreadsheet of flatshares or rentals matching your exact criteria instead of refreshing search pages.
  • Academic and data journalism work: build datasets of rents, surfaces and energy ratings for housing studies, with coordinates ready for mapping.

📊 What data does Leboncoin Real Estate Scraper extract?

FieldDescription
idUnique Leboncoin listing id
urlDirect link to the listing
subjectListing title
bodyFull description text
pricePrice or rent in euros
category_id, category_nameLeboncoin category id and name
first_publication_date, index_date, expiration_dateFirst publication, last update and expiration dates (YYYY-MM-DD HH:MM:SS)
statusListing status (for example active)
ad_typeoffer or demand
brandSource brand (leboncoin)
images[]Image URLs
attributes[]Typed real-estate attributes: surface, rooms, bedrooms, DPE, GES, heating, floor and more
attributes[].key, key_label, value, value_labelAttribute key (for example rooms, square, energy_rate), its readable name, the raw value and the readable value
attributes[].values, values_label, value_label_reader, genericMulti-valued variants, accessibility label and generic flag
location.*city, city_label, zipcode, department_id, department_name, region_id, region_name, country_id, lat, lng, source, provider, is_shape
has_phoneWhether the seller published a phone number
scraped_atExtraction timestamp
search_category, search_location, search_urlThe category, location and search URL that produced the listing

The dataset's Overview view shows the key columns (id, title, price, category, city, zipcode, last update, URL); the full item is available in every export.

🚀 How to scrape Leboncoin real estate

  1. Open the Actor and pick a Transaction in category: for rent, for sale, flatshares, holiday rentals, new builds, or offices and commercial.
  2. Add one or more locations in locations (Paris 11, Lyon, 75011), or leave it empty to search all of France. Set radius_m to 0 to stay inside the city limits.
  3. Set your budget (price_min, price_max), the property type and any property filter: surface, rooms, DPE, heating, elevator, floor, construction year, condition. Anything else goes in Advanced filters.
  4. Set Max results (0 collects everything available) and keep the pre-filled residential FR proxy.
  5. Click Start. The Actor geocodes your locations, builds the Leboncoin search and collects listings page by page.
  6. Open the Storage tab to preview the listings and export them as JSON, CSV, Excel or XML, or read them from the dataset API.

The same run can be started from the Apify API, the Python or JavaScript client, or put on a schedule for daily monitoring.

📥 Input parameters

FieldKeyTypeDefaultDescription
Leboncoin search URLurlstringnonePaste a leboncoin.fr search URL to replay exactly that search. When set, every other filter is ignored.
Transactioncategoryselect1010 For rent, 9 For sale, 11 Flatshares, 12 Holiday rentals, 304 New builds, 13 Offices & commercial.
KeywordstextstringnoneOptional free-text keywords, e.g. balcon, loft, a program name.
Location(s)locationsarray of strings["Paris"]City, arrondissement or postal code (Paris 11, Lyon, 75011). Empty = all of France.
Search radius (m)radius_mintegernoneRadius around each city, 0 to 100000. 0 keeps the city itself; empty uses the geocoder's radius.
Min price (€)price_minintegernoneMinimum price or rent.
Max price (€)price_maxinteger2500Maximum price or rent.
Seller typeowner_typeselectallall, private (private sellers only) or pro (agencies and professionals only).
Sort bysortselectrelevancerelevance, newest, price_asc or price_desc.
Property typeproperty_typesarray of strings["apartment"]One or more of apartment, house, land, parking, other. Empty = all.
Min surface (m²)surface_minintegernoneMinimum living surface.
Max surface (m²)surface_maxintegernoneMaximum living surface.
Min roomsrooms_mininteger2Minimum number of rooms (pièces).
Min bedroomsbedrooms_minintegernoneMinimum number of bedrooms.
Min bathroomsbathrooms_minintegernoneMinimum number of bathrooms.
Min land surface (m²)land_surface_minintegernoneMinimum land or plot surface (houses, land).
Max land surface (m²)land_surface_maxintegernoneMaximum land or plot surface (houses, land).
Furnishedfurnishedarray of stringsnone1 Furnished, 2 Unfurnished (mostly rentals).
Energy rating (DPE)energy_ratearray of stringsnoneDPE classes to include: a to g.
Greenhouse gas (GES)gesarray of stringsnoneGES classes to include: a to g.
Heating typeheating_typearray of stringsnoneindividual or communal.
Heating modeheating_modearray of stringsnonegas, electric, fuel (fuel oil) or other.
Elevatorelevatorarray of stringsnone1 With elevator, 2 Without elevator.
Orientationorientationarray of stringsnonenorth, south, east, west, north_east, north_west, south_east, south_west.
Min floorfloor_minintegernoneMinimum floor number.
Min parking spacesparkings_minintegernoneMinimum number of parking spaces.
Built after (year)building_year_minintegernoneMinimum construction year (1800 or later).
Built before (year)building_year_maxintegernoneMaximum construction year.
Sale typeimmo_sell_typearray of stringsnoneold Existing, new New build, viager Life annuity. For the "For sale" transaction.
Conditionproperty_conditionarray of stringsnone1 Excellent, 2 Good, 3 Renovated, 4 To refresh.
Advanced filtersfiltersobject{}Any other Leboncoin filter: a key with a list of codes or a {"min": .., "max": ..} range. Overrides the dedicated inputs.
Max resultsmax_resultsinteger100How many listings to collect. 0 = as many as available.
ProxyproxyConfigurationobjectresidential FRApify residential proxies with country FR are recommended for reliable runs.

Example input (the Actor's pre-filled input, apartments for rent in Paris):

{
"category": "10",
"locations": ["Paris"],
"property_types": ["apartment"],
"price_max": 2500,
"rooms_min": 2,
"max_results": 100,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" }
}

Each dedicated input maps to one Leboncoin key (property_types to real_estate_type, surfaces to square and land_plot_surface, property_condition to global_condition...). To find any key or code, build the search on leboncoin.fr and read the URL: square=30-80 becomes {"square": {"min": 30, "max": 80}} in filters, or paste the whole URL in url.

📤 Output example

Each listing is one dataset item, exportable as JSON, CSV, Excel or via the API. The item below shows the shape of a rental listing from the pre-filled search; values in angle brackets depend on the listing.

{
"id": "<listing id>",
"first_publication_date": "<YYYY-MM-DD HH:MM:SS>",
"index_date": "<YYYY-MM-DD HH:MM:SS>",
"status": "active",
"category_id": "10",
"subject": "<listing title>",
"body": "<full description>",
"brand": "leboncoin",
"ad_type": "offer",
"url": "<listing URL>",
"price": "<rent in euros>",
"images": ["<image URL>"],
"attributes": [
{ "key": "square", "key_label": "<label>", "value": "<m²>", "value_label": "<label>" },
{ "key": "rooms", "key_label": "<label>", "value": "<count>", "value_label": "<label>" },
{ "key": "energy_rate", "key_label": "<label>", "value": "<a to g>", "value_label": "<label>" }
],
"location": { "city": "Paris", "zipcode": "<postal code>", "lat": "<latitude>", "lng": "<longitude>" },
"has_phone": false,
"scraped_at": "<YYYY-MM-DD HH:MM:SS>",
"search_category": "IMMOBILIER_LOCATIONS",
"search_location": "Paris",
"search_url": "<search URL>"
}

The run's OUTPUT record also holds the run statistics (total_ads, unique_ads, duplicates, pages_processed, errors), the total number of listings Leboncoin reported for the search (total_ads_available) and the effective configuration.

💡 Ready-to-run examples

Apartments for rent in Paris, two rooms or more, under 2,500 € (the pre-filled input)

{ "category": "10", "locations": ["Paris"], "property_types": ["apartment"], "price_max": 2500, "rooms_min": 2, "max_results": 100, "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" } }

Houses for sale near Bordeaux, 200,000 to 500,000 €, 100 m² and 300 m² of land

{ "category": "9", "locations": ["Bordeaux"], "property_types": ["house"], "price_min": 200000, "price_max": 500000, "surface_min": 100, "rooms_min": 4, "land_surface_min": 300, "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" } }

Advanced filters: DPE A to C, 2 to 4 rooms, 300 m² of land, with elevator

{ "category": "10", "locations": ["Paris"], "filters": { "energy_rate": ["a", "b", "c"], "rooms": { "min": 2, "max": 4 }, "land_plot_surface": { "min": 300 }, "elevator": ["1"] }, "max_results": 100 }

Newest flatshares in Lyon from private sellers only

{ "category": "11", "locations": ["Lyon"], "owner_type": "private", "sort": "newest", "max_results": 100 }

💰 Pricing: how much does it cost to scrape Leboncoin?

From $0.89 per 1,000 listings on the free plan, with automatic volume discounts down to $0.60 per 1,000 on higher Apify plans. You pay only for the results you receive, there is no subscription and no start fee. New Apify accounts get free monthly platform credits to try it.

Cost is driven purely by the number of listings returned: max_results caps each run (the default is 100), and every filter (price range, property type, surface, DPE, seller type) is applied by Leboncoin before the results are counted, so a precise search costs less than a broad one. Residential proxy traffic is billed separately by Apify.

⚙️ Performance, proxies and limits

  • Proxy: Apify residential proxies with country FR are pre-filled and recommended. The Actor also runs without a proxy, but Leboncoin's anti-bot protection (Datadome) can then block pages; a blocked page is logged and that search stops.
  • Page size: listings are fetched 35 per page and pushed to the dataset in batches, so results appear while the run is going.
  • Large searches: a price range wider than 50,000 € is split into 50,000 € intervals searched one after the other, so large result sets are covered beyond Leboncoin's paging depth.
  • Deduplication: listings are deduplicated by id within a run, across price intervals; the duplicates ignored are counted in the OUTPUT record.
  • Locations: each entry in locations is geocoded (with retries and an OpenStreetMap fallback). An unresolved location is skipped; if none resolves, the run fails with an explicit message.
  • URL mode: with url set, the search is replayed exactly as the website ran it; other inputs are ignored and prices are not split, so the result matches the page.
  • Default run options: 1,024 MB of memory and a 3,600 s timeout.

🔌 Integrations and API

Run Leboncoin Real Estate Scraper from the Apify API, the Python or JavaScript client, or on a schedule. Connect it to Make, Zapier, n8n, Google Sheets, Slack or any webhook through Apify integrations. Every run's dataset is available as JSON, CSV, Excel or XML from the dataset API.

curl -X POST "https://api.apify.com/v2/acts/scrapifier~leboncoin-universal-scraper-real-estate/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "category": "10", "locations": ["Paris"], "property_types": ["apartment"], "price_max": 2500, "rooms_min": 2, "max_results": 100, "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "FR" } }'

❓ FAQ

Is it legal to scrape Leboncoin real estate?

The Actor only reads listings Leboncoin publishes to anyone without logging in. Listings can contain personal data, so process them in line with GDPR, respect Leboncoin's terms, and stay responsible for how you use the data. This is not legal advice.

Do I need a Leboncoin account, login or cookies?

No. Nothing to log in to, no cookies. Keep the pre-filled residential FR proxy for reliable runs.

Can I export Leboncoin listings to Excel or Google Sheets?

Yes. Every run's dataset downloads as CSV, XLSX, JSON or XML, and the Google Sheets integration can push new listings to a sheet.

How many listings can I scrape?

As many as Leboncoin returns: set max_results to 0 to collect everything, or keep a cap to control cost.

Which transactions are supported?

Rent, sale, flatshares, holiday rentals, new builds, and offices and commercial. Vehicles are handled by the Leboncoin Vehicles Scraper below.

How do I find a filter's code?

Build the search on leboncoin.fr and read the URL parameters. Every key and value from the URL works in filters, or paste the whole URL in url.

Does it search the whole city or the surrounding area too?

By default each location uses the geocoder's radius, which spills into neighbouring towns. Set radius_m to 0 to keep the city itself, or to any value up to 100,000 m.

How fresh is the data?

Every run scrapes Leboncoin live. Sort by newest and schedule the Actor daily or hourly to catch new listings as they appear.

🇫🇷 En français

Ce scraper Leboncoin extrait les annonces immobilières (location, vente, colocation, saisonnier, neuf, bureaux et commerces) à partir de simples filtres, sans construire d'URL. Choisissez une transaction, une ou plusieurs localisations (ville, arrondissement ou code postal, géocodés automatiquement) et vos critères : prix ou loyer, type de bien, surface, pièces, chambres, DPE et GES, chauffage, ascenseur, étage, année de construction, état du bien, type de vendeur. Les filtres sont appliqués par Leboncoin avant la collecte, et l'objet filters accepte n'importe quel autre paramètre lu dans l'URL de leboncoin.fr. Chaque annonce est renvoyée avec son titre, sa description, son prix, ses attributs typés, ses photos et sa géolocalisation (ville, code postal, latitude, longitude). L'export se fait en CSV, JSON ou Excel depuis l'onglet Storage ou via l'API Apify, pour alimenter un tableur, un CRM ou une analyse de marché. Le paiement est au résultat : vous ne payez que les annonces reçues, sans abonnement.

💬 Support

Questions, bugs or a feature request? Open an issue in the Issues tab of this Actor, I answer quickly. If Leboncoin Real Estate Scraper saves you time, a rating on the Store helps others find it.