Scrape Leboncoin Without Code: Listings to a Spreadsheet in Minutes

Sasha Bouloudnine●
23 Sept 2026

(updated)

●
18 min read

Leboncoin is the biggest classifieds site in France, and one of the hardest to scrape: a plain request dies in a quarter of a second.

Here is how to turn any Leboncoin search into a spreadsheet, no code needed. In this post you'll learn:

  1. what Leboncoin's hidden API is, and why it answers 403;
  2. the five-step no-code export, with a real 200-listing run;
  3. what the 57 fields contain, and what they cost;
  4. how to schedule it, scale it, and drive it from Claude or a terminal.

NB: looking for Leboncoin in English? There is no English version. The last section covers what works instead.

leboncoin.fr in a private Chrome window: the Ventes immobilières Appartement search, 270,241 listings across France, with the category, location, price and Filtres controls above the first listing

Leboncoin's hidden API, and why curl gets a 403

Leboncoin has no public listings API. Its only developer portal, the Argus API, values vehicles under an annual contract.

We took that door apart in our Leboncoin API guide. Developers find another one: the private API the website itself calls.

Three endpoints keep showing up in the Google queries that land on this page:

POST https://api.leboncoin.fr/finder/search # search results GET https://api.leboncoin.fr/finder/classified/{ad_id} # one listing by id GET https://api.leboncoin.fr/api/adfinder/v1/classified/{ad_id} # the legacy path
f

They are real. They also do not answer. I called all three from my terminal on 23 September 2026, plus the homepage, Chrome user agent, no cookies.

Terminal showing four plain curl requests to api.leboncoin.fr/finder/search, finder/classified, api/adfinder/v1/classified and www.leboncoin.fr, each answered HTTP 403 in under 0.3 seconds with the header x-datadome: protected and a captcha-delivery URL

Four requests, four 403s, the slowest in 0.28 seconds.

Every response carries the same header, x-datadome: protected, and a captcha URL where the data should be.
Datadome is the bot protection Leboncoin has run for more than seven years. In January 2026 Datadome published the numbers, with Leboncoin's director of engineering on record: 9.5 million malicious requests blocked per day on average, a 30 million peak, 90% of them scraping, across 30 endpoints.
DataDome customer story headline How Leboncoin Blocks Millions of Malicious Requests Every Day, last update 6 Jan 2026, with the stat 9.5 million malicious requests blocked daily on average

The verdict is not about your IP. Datadome reads the TLS handshake, the browser fingerprint and the rhythm of your requests.

That is why a rotating residential proxy pool still gets a 403 when the client underneath is Python's default.

One developer on r/webscraping, "f***ed up by datadome almost all the time", ended up offering to pay for a working Leboncoin scraper.
Reddit r/webscraping post Assistance needed, reliable le bon coin scraping: the poster wants recent car ads from Leboncoin sorted by time, has been trying to scrape it for a while but ends up blocked by Datadome almost all the time, and is offering to pay for help
The most popular open-source client, lbc (213 stars), is blunt about it: a 403 "usually means your requests are being blocked by Datadome".
The 403 Error section of the lbc README on GitHub, highlighted: If you encounter a 403 Forbidden error, it usually means your requests are being blocked by Datadome, with the advice to reduce request frequency and use clean proxies located in France

Humans trip it too. Ahrefs counts around 50 French searches a month for "leboncoin bloqué robot", and one Reddit user got flagged just by opening Chrome DevTools on a listing. Datadome's own false-positive rate: 0.0018%.

So the API is real, and it is not the door. The door is the search URL, and it needs no code at all.

Scrape Leboncoin without code: the 2026 walkthrough

The idea has not changed since I first wrote this guide in 2022: build the search on leboncoin.fr, copy the URL, hand it to a cloud scraper.

Everything around it changed: the URL format, the dashboard, the output, the price.

Step 1: build your search URL on leboncoin.fr

Open leboncoin.fr, pick a category, set your filters, and copy the address bar.
leboncoin.fr apartments-for-sale search with a red box and arrow on the address bar: the URL is the search

For this guide I used apartments for sale in Lyon's 6th arrondissement, within one kilometre:

https://www.leboncoin.fr/c/ventes_immobilieres/real_estate_type:2?locations=Lyon_69006__45.76934_4.85017_2037_1000
f
Read it left to right. /c/ventes_immobilieres is the category, sales. real_estate_type:2 means apartments.
locations= holds the place, its coordinates, the area's own radius (2,037 m) and the extra radius you picked (1,000 m).
Anatomy of the Leboncoin search URL used in this article, colour-coded: the category path ventes_immobilieres, the real_estate_type:2 filter for apartments, the place Lyon 69006 with its latitude and longitude, and the two radii in metres, 2037 for the area and 1000 extra

One detail matters later. That "1 km around Lyon 6e" means the arrondissement plus a ring around it.

My 200 results spread over all of Lyon and Villeurbanne. Only 28 sat in the 69006 postcode.

Every filter you tick becomes one more parameter in the same URL, sixteen of them if you go all in. Whatever you can filter on the site, you can export. The ones you will use most:

Parameter What it filters Example
real_estate_type property type (2 = apartment) real_estate_type=1,2
price price range, in euros price=100000-500000
square living area, in m² square=50-100
rooms / bedrooms number of rooms / bedrooms rooms=2-5&bedrooms=2-7
energy_rate DPE grades energy_rate=a,b,c,d
immo_sell_type old, new build, viager immo_sell_type=old,new
outside_access / elevator balcony, terrace, garden, pool / lift outside_access=balcony,terrace&elevator=1
owner_type private sellers, professionals or all owner_type=private
sort / order most recent first sort=time&order=desc

Not exhaustive, and Leboncoin renames parameters now and then. Always copy the URL from the site rather than typing it.

A Leboncoin property search with 16 active filters shown as chips: Lyon (toute la ville) 5 km, Maison +4, 100 to 10,000 euros, Surface habitable, Type de vente, Pièces 2-5, Chambres 2-7, Extérieur, Étage, Ascenseur, Exposition, Caractéristiques, État du bien, Classe énergie, Tri, Annonces urgentes

Step 2: open the Leboncoin Listings Search Export

In the lobstr.io store, open the Leboncoin Listings Search Export and click "Export listings now".

A search URL is its only required input. No Leboncoin account needed.

The lobstr.io store page of the Leboncoin Listings Search Export: premium badge, 4 credits, the line phone is not included, the Export listings now button, 43 users and 6,828 runs

Step 3: paste the URL and set the limits

Paste your URL in Add tasks, then open Settings. Set Max Results Per Task (max_results in the CLI). I used 200.

Two optional settings are worth knowing. Max pages stops the crawl after N result pages (default 100).

Newer than (fetch_since) only keeps listings published in the last N hours or days. Leave it empty for a full export; we come back to it for monitoring.
The Settings step of the Leboncoin Listings Search Export squid: Newer than set to Relative 24 hours, When to end run, and Advanced settings with Max Results Per Task at 200

Step 4: launch

Choose "Manually" for a one-off run, or "Repeatedly" to put it on a schedule. Click Launch.

The Launch step: How do you want to launch, Manually or Repeatedly, with Repeatedly selected, Days, timezone Europe/Amsterdam, starts at 12:00 AM, Everyday

Step 5: watch it fill, then download

Rows appear on the run page as they come in.

Leboncoin's own counter for that search said 4,252 apartments. My run took 7 minutes 56 seconds: 212 listings collected, 200 exported (the cap I set), for 800 credits.

The finished run page in the lobstr.io dashboard: status Done, 800 credits used, 212 total results, started 2026-09-23 12:18:46, and the results table with ANNONCE ID, TITLE, PRICE, URL, DESCRIPTION columns, 1-50 of 200 results

That is roughly 27 listings a minute on this search, a little under the 35 a minute the store page quotes. Real estate pages are heavy.

Click Download, pick CSV, and open it in Excel or Google Sheets.

Or skip the download: the same scraper can push every run straight into a Google Sheet. The 200 rows from this run sit in a public Google Sheet.
The export opened in Google Sheets: 200 rows with ANNONCE ID, TITLE, PRICE, PRICE PER SQUARE METER, AREA, ROOM COUNT, DPE STRING, GES STRING, CITY LABEL, POSTAL CODE, OWNER TYPE, OWNER NAME, OWNER SIREN, IS BOOSTED, publication dates, URL and DESCRIPTION

Five steps, one URL, no code. Now, what is actually in that file?

What you get: 57 fields, phones, and the CSV

The export came back with 200 rows and 115 columns. 72 columns carried data on this real estate search.

The other 43 are vehicle and seller-profile fields that fill on other categories. The store page documents the 57 that matter.

Grouped, the file reads like a listings database:

Group Fields in the export
Identity listing id, title, URL, first and last publication date, status
Price price, price per square metre, currency
Place city label down to the neighbourhood ("Lyon 69006 Foch"), postcode, department, region, latitude, longitude
Property area, rooms, bedrooms, floor, DPE and GES grades, property type, furnished, land area
Seller professional or private, name, SIREN, online shop URL
Visibility boosted, urgent, number of images, picture URLs

Here is what 200 Lyon apartments told me in eight minutes, without opening a single listing: a median asking price of 302,500 € for a median 70 m², or 4,732 € per square metre.

Bar chart of the median asking price per square metre by apartment size across 192 Leboncoin listings in Lyon and Villeurbanne: studios 5,278 euros, T2 4,860, T3 4,691, T4 4,374, T5 and more 4,692

Studios ask the most per square metre, four-room flats the least.

182 of the 200 sellers were professionals with a SIREN number; 18 were private individuals.

141 listings, 70%, were boosted, meaning the seller paid Leboncoin for visibility. 72 had a C energy grade, 66 a D, 15 an F or G.

Phones: 188 of the 200 listings had one on Leboncoin. The export does not contain it.

Phones live in the Leboncoin Listings & Phone Search Export, which needs a Leboncoin account attached. The Leboncoin Listing Scraper does the same from individual listing URLs.
Bar chart of the fill rate of the main fields on 200 Lyon listings: title, price, URL, city and coordinates 100%, price per square metre 98%, area 98%, rooms 96%, GES 94%, DPE 92%, seller SIREN 91%, floor 87%, bedrooms 86%, seller online shop URL 10%, phone number 0% (separate scraper), email 0%

A listing costs 4 credits. On Starter, 20 dollars buys 10,000 credits, so 2,500 listings, or 8 dollars per 1,000. Pro is 100 dollars for 100,000 credits, 4 dollars per 1,000.

From Team, 500 dollars for a million credits, it falls to 2 dollars per 1,000, the figure on the store page.

There is no free tier for this one. The scraper is marked Premium, which unlocks on paid plans.

One search is a snapshot. The interesting part starts when you run it every day.

Beyond one search: monitoring, scale, and staying unblocked

Back in Step 4, "Repeatedly" runs the same URL every day or every week. Add fetch_since = 24h and the run should only keep listings published since yesterday.

I tried it on the Lyon search, expecting a short list of new listings. I got 200 again, and 186 of them were already in my first run.

The squid page after the second run: Done, next schedule 2026-09-24 01:00, and the live log showing fetch_since 24h in the params, Solving captcha, 4252 results found, 200 results to scrape, and the Runs table with 209 total results, 200 unique, 800 credits, 00:06:21

The catch is Leboncoin itself. Agencies re-post their whole stock every day, so almost every listing shows a publication date under 24 hours old. Only 56 of the 200 had really appeared that day.

So on agency-heavy searches, dates lie. Run daily and compare the ANNONCE ID column with yesterday's export: unseen ids are new listings, missing ids are sold or withdrawn.

Two stacked bars comparing the same Leboncoin search run twice, ten minutes apart: 186 listing ids appear in both runs, 14 are new in the second run and 14 from the first run are gone

A customer asked me exactly this on our support chat the morning I wrote this: how to watch new plots of land every day without paying twice for the same listing.

Same recipe: schedule daily, sort by most recent, keep the last 24 hours, dedupe on the id.

A lobstr.io support chat from 23 September 2026, translated: a customer needs to scrape Leboncoin to monitor new properties that appear each day and plans to deduplicate the listings already known; the answer is schedule daily and fetch since the last 24 hours, with the two settings screenshots
That is how Decathlon's data team works. One cluster runs 53 Leboncoin search URLs and tracks 30,000+ second-hand sport listings a week across Leboncoin and Vinted.
Header of the lobstr.io success story How Decathlon Tracks 30,000+ Sport Listings a Week with lobstr.io, by Shehriar Awan, 20 May 2026
On r/webscraping, one developer fighting Datadome on Leboncoin.fr summed up the DIY route in one sentence: "spin the wheel until it works".
Reddit comment by Apprehensive-File169 on r/webscraping: bypassed with better headers and a different requesting module, same rotating proxy, still throws 403 often, that is the beauty of rotating proxies, spin the wheel until it works

Staying unblocked should not be a wheel, and it is the part you do not do: the scraper runs in the cloud with its own browsers, IPs and retries.

The product page's status section reports a 99.95% task success rate, 99.91% incident-free runs over 90 days, and a 37-minute median fix when something breaks.
The live status block of the Leboncoin Listings Search Export store page: Built to run, 99.91% incident-free runs over the last 90 days, 5 incidents, 100% resolved, 37 min median time to fix, and a 90-day bar of green days

You never buy a proxy, patch a fingerprint or solve a captcha. You paste a URL.

Three more doors exist for people who would rather not click at all. The first is the terminal:

pip install lobstrio lobstr config set-token <YOUR_TOKEN> lobstr go leboncoin-iter-listings "https://www.leboncoin.fr/c/ventes_immobilieres/real_estate_type:2?locations=Lyon_69006__45.76934_4.85017_2037_1000" -p max_results=35 -o results.csv
f
I ran that line as a smaller test: 35 listings in 67 seconds, 140 credits, one CSV. The crawler slug is leboncoin-iter-listings.
Terminal running lobstr go leboncoin-iter-listings on the Lyon search URL with max_results 35: crawler resolved, squid created, run started, progress bar to 100% in 1 minute 10 seconds, 35 results downloaded to cli-lyon6.csv, 140 credits
The second door is an AI agent. Add the lobstr.io MCP server to Claude and it runs the scraper itself.
claude mcp add --transport http lobstr https://mcp.lobstr.io/mcp
f

The 200-listing run above was launched from Claude Code through this server, with a prompt like the one below. The dashboard run is the same object.

Claude Code in a terminal with the prompt: Using the lobstr MCP, run the Leboncoin Listings Search Export (crawler leboncoin-iter-listings) on this search URL with max_results 35, confirm the credits if asked, then give me the run id and its status; Claude answers that it will load the lobstr.io MCP tools and launch the Leboncoin run
The third is the REST API: create the squid, add the URL as a task, launch, poll, fetch /results. The MCP reference lives in the docs.
Leboncoin's listings are a database, and French law gives its producer a right over it (Code de la propriété intellectuelle, art. L341-1 and following). The same code draws the line: once a database is made available to the public, its owner cannot forbid "the extraction or reuse of a non-substantial part" of its content "by a person who has lawful access to it" (art. L342-3, 1°), and any clause saying otherwise is void. Extracting or republishing a substantial part is where the producer's right applies. That is why lobstr.io's terms of use ask you to "abstain from extracting substantial portions of databases, whether in terms of quality or quantity". Keep each collection targeted to what you actually need, and read our article on Leboncoin scraping and French law before you scale. I am not a lawyer, and this is not legal advice.

The fields above are real estate fields, and that is not a coincidence.

Leboncoin at scale for real estate and resale

Real estate is where Leboncoin data earns its keep. Every listing carries the energy grades, the floor, the price per square metre and, in the details, the building year and the agency fees.

A daily export of one city becomes a market watch nobody sells you.

Swap ventes_immobilieres for locations in the URL and the same run covers rentals.
For Spain, Italy or Portugal, the Idealista walkthrough and our best Idealista scrapers roundup follow the same logic.
The lobstr.io store filtered on the Leboncoin domain: six scraper cards, Listings and Phone Search Export, Listings Search Export, Auto Message Sender, Listing Status Checker, Listing Scraper and Boutiques Scraper
Resale is the other half. Decathlon pairs Leboncoin with Vinted, and we have the no-code Vinted guide, the Vinted API and the Vinted bot to match.
Three more Leboncoin scrapers round out the set: the Boutiques Scraper lists professional sellers by category, the Listing Status Checker tells you which listings from a past export are gone, and the Auto Message Sender contacts sellers from a list.
Our best Leboncoin scrapers comparison puts them all next to Apify and Piloterr. One last audience lands on this page every month, and it is not scrapers.

Leboncoin in English: what expats actually need

Every quarter, Google shows this page about a thousand times to people searching "le bon coin in english". r/AskFrance gets the same question from abroad.
The honest answer: there is no English version. Leboncoin has been French-only since Schibsted launched it in 2006, and Wikipedia lists exactly one language.
Google result card for the Reddit r/AskFrance thread How does a foreigner use leboncoin?, 10+ comments, 3 years ago: LeBonCoin is more like Craigslist, it is used to sell things to people not far from your location, watch out as a foreigner on Leboncoin
Today it belongs to Adevinta and draws over 28 million unique visitors a month. It is France's number one classifieds site, and you cannot read it without French.
For browsing, the fix is your browser. In Chrome, open any listing and click Translate on the right of the address bar (Google's guide).

The whole page, filters included, turns into English.

leboncoin.fr real estate sales listings rendered in English by Chrome, with the Google Translate bubble (français / anglais) boxed in red at the top right
The app is a harder wall. Expats on Reddit report it as "not available in your region" on a foreign Apple or Google account, even from inside France.

The browser version is the workaround Reddit hands them.

Reddit r/AskFrance post: Pardon for english, don't speak French yet, why can I not download the Leboncoin App on a German iPhone while in Drôme; a commenter, a French guy living in the UK, cannot see the app in his store either and suggests using the browser version

For searching at scale, the fix is the export above. A spreadsheet has no language.

Filter 200 apartments by price per square metre, DPE grade and floor in Excel. If you need the text, add a column with =GOOGLETRANSLATE(B2,"fr","en") next to the titles or descriptions.
The public Google Sheet with a TITLE_EN column computed by =GOOGLETRANSLATE(B2, fr, en), boxed in red: Appartement 3 pièces 90 m² becomes 3-room apartment, Rare à la vente Toit terrasse en duplex becomes Rare opportunity

"Le bon coin" means "the good spot", the way you would call a bar un bon coin. Which is what the site is, once you can read it.

FAQ

Is there an English version of Leboncoin?

No, Leboncoin is French-only. Chrome's Translate handles browsing; a spreadsheet export handles searching in any language. The app is tied to French app-store accounts.

What does "Le Bon Coin" mean in English?

"The good spot." "Coin" is a corner or a spot, and un bon coin is a place worth knowing. The site was founded in 2006 and draws 28 million monthly visitors.

Does Leboncoin have an API?

No public listings API. The Argus API values vehicles under contract; the private api.leboncoin.fr/finder endpoints answer 403 to anything that is not a browser. Details in our Leboncoin API guide.

Why does Leboncoin block scrapers?

Datadome, which blocks 9.5 million malicious requests a day, per the January 2026 case study. It fingerprints TLS and browser signals rather than IPs, so proxies alone do not pass.

Can I export Leboncoin listings to Excel or Google Sheets?

Yes, as CSV or straight into a Sheet. Paste a search URL into the Leboncoin Listings Search Export, download the CSV, or connect a Google Sheet delivery.

Can I get seller phone numbers from Leboncoin?

Yes, with the phone variant and a Leboncoin account. The Listings & Phone Search Export adds the phone column; the standard export does not include it.
Extracting a non-substantial part, with lawful access, is allowed under art. L342-3 of the French IP code; extracting or republishing a substantial part is what the database producer's right forbids. Caveats and case law in our Leboncoin legality article. Not legal advice.

Can Claude or an AI agent scrape Leboncoin?

Yes, through the lobstr.io MCP server. One claude mcp add line and Claude can launch the Leboncoin scraper, wait for the run and read the results. pip install lobstrio does the same from a terminal.

Final thoughts

Leboncoin's data is public and rich. Its API is a locked door with a Datadome sign on it. The search URL is the door that opens: paste it, get a CSV.

Use the dashboard for a one-off list, a schedule for a market watch, and the MCP server or the CLI when the export is one step in a bigger pipeline.

In September 2020 someone asked r/webscraping how to scrape Leboncoin. I answered with a link to this very scraper.

Six years later the product has changed a lot. The 403 has not.

Got a Leboncoin search that misbehaves, or a use case I have not thought of? Find me on LinkedIn, I always reply.

Related Articles

Related Squids