Leboncoin Scraper - Any Search URL, Full Details avatar

Leboncoin Scraper - Any Search URL, Full Details

Pricing

from $0.80 / 1,000 ad scrapeds

Go to Apify Store
Leboncoin Scraper - Any Search URL, Full Details

Leboncoin Scraper - Any Search URL, Full Details

Scrape leboncoin.fr ads from any search URL or category page: voitures, emploi, immobilier and every other category. Get price, full description, location, seller type and SIREN, images and all attributes. New-ads-only mode. $1 per 1,000 ads delivered plus a small per-run start fee. JSON, CSV, API.

Pricing

from $0.80 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

Amit Aviv

Amit Aviv

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

4

Monthly active users

7 days ago

Last modified

Share

Leboncoin Scraper turns any leboncoin.fr search URL into structured ads: price, full description, location, seller type, images and every attribute the site publishes for that category. It works for every category (cars, electronics, jobs, real estate, furniture and the rest), can return only the ads that are new since your last run, reports honestly when a run could not get data, and charges per ad actually delivered, plus Apify's small per-run start fee.

What does Leboncoin Scraper do?

You paste search result URLs copied from your browser, or individual ad URLs. The actor returns one record of 56 fields per ad, as JSON, CSV or Excel or through the Apify API. There is no proxy to configure and no leboncoin account to supply.

Typical uses:

  • Market analysis: price distribution of a car model by year and mileage, or of a phone model by condition and region.
  • New-ad alerts: schedule a search with Only new ads on and receive, and pay for, only the ads you have not been given before. See Monitor new listings.
  • Price monitoring: run the same search every day and compare prices by ad id.
  • Inventory research: how many ads exist for a product, a job sector or an area, and how quickly they turn over.
  • Professional-seller analysis: which dealers, agencies and shops are active in a category, using ownerType: "pro", ownerName, ownerStoreId and ownerSiren.

What data do you get?

GroupFields
Adid, url, title, description, price, currency, category, categoryId, adType, status, publishedAt, updatedAt, expirationDate
Locationcity, zipcode, district, department, departmentId, region, regionId, country, latitude, longitude, locationIsApproximate
SellerownerType (pro or private), ownerName, ownerStoreId, ownerUserId, ownerSiren, hasPhone
Vehiclesbrand, model, mileage, year, fuel, gearbox
Real estatesquareMeters, rooms, bedrooms, realEstateType, energyRate, ges, furnished, pricePerSquareMeter
Media and optionsimageUrl, images, imageCount, isUrgent, isBoosted, shippable
Everything elseattributes (every attribute of the ad as key and value), attributeLabels (the same with French labels)
Run metadatasourceSearchUrl, detailsFetched, scrapedAt, privateDataRedacted (the last field of the record)
Monitoring runs onlychangeType (new or price-changed), previousPrice

For ads placed by private individuals, ownerName, ownerStoreId and ownerUserId are null and privateDataRedacted is true unless you turn on Include private sellers' identity; see Legal and responsible use. Professional sellers are always returned in full.

Category shortcuts are null when they do not apply: a job ad has no mileage. Whatever else leboncoin publishes for a category is in attributes, so nothing is lost for categories without shortcuts, such as electronics or jobs.

How to scrape leboncoin.fr

  1. Open leboncoin.fr and search as usual: category, keywords, location, price range, sort order.
  2. Copy the address of the results page, for example https://www.leboncoin.fr/recherche?category=2&text=clio&sort=time&order=desc.
  3. Paste it into Leboncoin search URLs. Add more URLs if you want several searches in one run.
  4. Set Max ads per search URL and start the run.
  5. Download the dataset, or fetch it through the API.

Other examples: https://www.leboncoin.fr/c/voitures (the cars category page) and https://www.leboncoin.fr/recherche?category=10&locations=Lyon (rentals in Lyon). A search for phones, job offers or furniture works the same way: run it on the site and copy the URL.

Accepted as a search: any /recherche?... URL and the category pages /c/<category> and /cl/<category>/<place>. A missing https://, an m. host or a trailing slash is corrected for you. Not accepted: plain keywords, the homepage, shop or profile pages. Such values are ignored with a warning, and if nothing usable remains the run fails within seconds, before anything is charged.

Input

FieldTypeDefaultWhat it does
searchUrlsarray of stringsnoneSearch result or category URLs. Scraping always starts at page 1; a page= parameter is ignored.
maxItemsPerSearchinteger, 1 to 35000100Stop after this many ads for each search URL. Above 3,500, see Searches larger than 3,500 ads.
fetchDetailsbooleanfalseAlso fetch each ad's own record and report the result per ad in detailsFetched. When off, ads come from search data, which in our tests on 11 October 2026 already included the description and the attributes for every ad, the first results page included. Slower, same price.
adUrlsarray of stringsemptyIndividual ads: /ad/<category>/<id> URLs, old /vi/<id>.htm links, or bare ad ids.
includeRawbooleanfalseAttach leboncoin's JSON for the ad under raw. For private sellers the same identifying fields are removed from it as from the record.
onlyNewbooleanfalseMonitoring: return and charge only ads that earlier runs did not already return for the same search URL.
monitorKeystringemptyWith onlyNew: a name that separates two monitors of the same search URL.
skipExistingOnFirstRunbooleanfalseWith onlyNew: the first run records the ads currently on top as already seen and returns nothing. No effect on later runs.
splitLargeSearchesbooleantrueOnly matters when maxItemsPerSearch is above 3,500: read a larger search as several price-sorted sub-searches.
includePrivateSellerDatabooleanfalseReturn private sellers' name, account ids and profile photo. By turning it on you confirm a lawful basis under the GDPR.

Give at least one search URL or one ad URL. URLs are also read from startUrls or urls, as strings or { "url": ... } objects.

The same search entered twice, even with its parameters in another order, runs once. An ad is returned and charged once per run, so if two different searches overlap, each continues until it has maxItemsPerSearch ads that the other did not already return.

Monitor new listings

Turn on Only new ads (onlyNew) and run the same search on a schedule. Each run returns, and charges, only what you have not received before.

  1. Open the actor, paste your search URL, turn on Only new ads and set Max ads per search URL (the most one run may return).
  2. Save the input as a task, then add a schedule to the task in Apify Console under Schedules, for example the cron expression 0 * * * * for every hour or 0 8,18 * * * for twice a day.
  3. Read each run's dataset, or attach a webhook or an integration to the task so that new ads are sent on.
{
"searchUrls": ["https://www.leboncoin.fr/recherche?category=2&text=clio&locations=Lyon"],
"onlyNew": true,
"maxItemsPerSearch": 100
}

What happens, as tested on 13 October 2026:

  • First run. The newest ads are returned, up to maxItemsPerSearch, each with changeType: "new", and charged as usual. In our test the first run of a monitor on a car search returned 70 ads and ended "70 new ads in 1 monitored search(es) — first run of 1 monitor(s): the newest ads were returned as the starting point". If you do not want the ads that are already online, turn on First run: skip the ads already online: the first run then returns and charges nothing ("35 current ads recorded as already seen, none returned or charged" in our test). The option only acts on the first run, so it can stay on in a scheduled task; if the search has no ads at all on the first run, every ad that appears later is returned.
  • Later runs. The search is read newest first, whatever sort order the URL has, and reading stops once it reaches ads that are more than 10 minutes older than the newest ad of the previous run. In our test, a run started less than a minute after the first one read two result pages and ended SUCCEEDED with "0 new ads in 1 monitored search(es)", an empty dataset and no charge; a run three minutes later returned the 3 ads published in between. On that busy search (about 40,000 ads), a run half an hour later read 9 result pages and returned 42 new ads; the other ads on those pages were older ones that had been bumped.
  • What counts as new. An ad is identified by its leboncoin id. An ad you already received is not returned again when its seller bumps it back to the top. After the first run, an ad that was first published more than 10 minutes before the monitor started, and that the first run did not reach, is not returned either when it resurfaces: it is an old ad, not a new one. An ad that a seller deletes and posts again gets a new id from leboncoin and counts as new.
  • Price changes. If an ad the monitor has already seen (returned to you, or recorded by the skip option on the first run) shows up again with a different price, it is returned and charged as one ad, with changeType: "price-changed" and the earlier price in previousPrice. This covers the ads a run reads, which are the newest ones; it is not a price tracker for the whole search. For that, run the search without onlyNew and compare prices by id.
  • More new ads than the maximum. When maxItemsPerSearch or the run's maximum charge stops a run before it has returned everything new, the newest ones are returned, the status message says "1 monitor(s) had more new ads than this run could return; the next run returns the rest", and the next run reads that far again and returns them.
  • Nothing is lost on failure. Ads are remembered only after they were saved to your dataset and charged. If a run fails or is aborted, the ads it did not deliver are returned by the next run. In the rare case of a crash between the two steps, an ad can be returned twice.

Where the memory lives: in a key-value store named leboncoin-scraper-monitor in your own Apify account, one small record per monitor, holding ad ids, prices and two dates. Nobody else's runs can read it. It remembers the 10,000 most recently seen ads per monitor. To start a monitor from scratch, delete its record or the whole store under Storage in Apify Console. If the store cannot be opened, the run fails at once, before anything is scraped or charged; if a monitor's record cannot be read, the monitor starts over as a first run and the status message says so.

A monitor is one search URL plus the optional Monitor name (monitorKey). The order of the URL's parameters and its sort and order do not matter (the same search given twice with different sort orders runs once); any other change to the URL starts a new monitor. Use two different monitor names to follow the same search twice, independently. With several search URLs in one run, each has its own monitor, and an ad that is new in two of them is returned once. Do not run the same monitor twice at the same moment: both runs would return the same new ads.

onlyNew applies to search URLs. Ads given in adUrls are always returned.

Searches larger than 3,500 ads

Leboncoin serves at most 3,500 ads for one search (100 pages of 35). If you set maxItemsPerSearch above 3,500 and the search has more ads than that, the actor reads it in ascending price order: a first sub-search of up to 3,500 ads, then a second one starting at the price where the first stopped, and so on. Ads at the boundary price are read twice and returned once.

  • In our test on 13 October 2026, a property search for Lyon with 5,317 ads on the site was read as 2 sub-searches and returned 5,317 unique ads in 4 minutes 24 seconds, details off. The run ended "Scraped 5317 ads — search of 5317 ads split into 2 price sub-searches, 5317 unique ads collected, coverage complete".
  • Results come in price order, not in the URL's sort order. A price filter in your URL is respected.
  • The status message and OUTPUT_SUMMARY.splitSearches give the site's total, the number of sub-searches, the unique ads collected and the coverage: complete, stopped at maxItemsPerSearch, not finished (the run's maximum charge was reached) or incomplete with the reason.
  • Limits: at most 35,000 ads and 40 sub-searches per search URL. Splitting works on prices, so a search whose ads carry no price stops at 3,500, and if more than 3,500 ads share one exact price the surplus cannot be reached; both cases are reported as incomplete. Ads without a price inside an otherwise priced search may be missed; compare the collected count with the site's total.
  • Large jobs take time: allow for it in the run's timeout (the default is one hour), especially with fetchDetails on. In our tests 700 ads with details took 5 minutes. Ads are saved page by page, so a run that times out keeps what it collected.
  • Set splitLargeSearches to false to stop at 3,500 as before. Splitting is not used in monitoring runs (onlyNew), which read at most the 3,500 newest ads.

With maxItemsPerSearch at 3,500 or below, nothing changes: the search is read in the order of your URL and stops at the cap.

Output example

A real record from a run on 11 October 2026 (search category=2&text=clio, details on), with the privateDataRedacted field that records carry since 13 October. The description, image list and attributes are shortened here; the seller is a business.

{
"id": 3285027141,
"url": "https://www.leboncoin.fr/ad/voitures/3285027141",
"title": "RENAULT CLIO V 1.0 SCe 65 ch BUSINESS",
"description": "À la recherche d’un véhicule de qualité au meilleur prix ?\nDécouvrez ce véhicule soigneusement sélectionné par notre équipe. …",
"price": 10990,
"currency": "EUR",
"category": "Voitures",
"categoryId": "2",
"adType": "offer",
"status": "active",
"publishedAt": "2026-10-09T12:37:03",
"updatedAt": "2026-10-11T14:22:14",
"city": "Lanester",
"zipcode": "56600",
"department": "Morbihan",
"departmentId": "56",
"region": "Bretagne",
"regionId": "6",
"country": "FR",
"latitude": 47.77735,
"longitude": -3.35471,
"locationIsApproximate": false,
"ownerType": "pro",
"ownerName": "SARL IDEAL AUTOS LORIENT",
"ownerStoreId": "286795",
"ownerSiren": "751627191",
"hasPhone": true,
"brand": "Renault",
"model": ["Clio", "model_all"],
"mileage": 38523,
"year": 2021,
"fuel": "Essence",
"gearbox": "Manuelle",
"imageUrl": "https://img.leboncoin.fr/api/v1/lbcpb1/images/9f/47/f1/9f47f1205cd96dd0399469b61f6ed0d6c9d9abd4.jpg?rule=ad-image",
"images": ["https://img.leboncoin.fr/api/v1/lbcpb1/images/9f/47/f1/9f47f1205cd96dd0399469b61f6ed0d6c9d9abd4.jpg?rule=ad-image"],
"imageCount": 11,
"isUrgent": false,
"isBoosted": false,
"attributes": {
"regdate": 2021,
"doors": 5,
"seats": 5,
"horse_power_din": 65,
"vehicle_type": "berline",
"vehicule_color": "blanc",
"critair": "1",
"u_car_version": "Clio 1.0 SCe 65ch Business -21"
},
"attributeLabels": {
"mileage": { "label": "Kilométrage", "valueLabel": "38523 km" },
"fuel": { "label": "Énergie", "valueLabel": "Essence" }
},
"sourceSearchUrl": "https://www.leboncoin.fr/recherche?category=2&text=clio&sort=time&order=desc",
"detailsFetched": true,
"scrapedAt": "2026-10-11T12:29:15.949Z",
"privateDataRedacted": false
}

The full record for this ad has a 4,432-character description, 11 image URLs and 33 attributes. ownerUserId and the fields that are null for this ad are left out above but present in the dataset.

How much does it cost to scrape leboncoin?

One event is charged: an ad delivered to your dataset.

Apify planPrice per 1,000 ads
Free, Bronze$1.00
Silver$0.90
Gold and above$0.80

Full details cost nothing extra and there is no separate platform-usage charge. Since 13 October 2026 each run also pays Apify's standard Actor start event, charged once per GB of run memory: at the default 2 GB that is $0.0084 per run on Free, $0.007 on Bronze, $0.0064 on Silver and $0.0056 on Gold and above. Put several search URLs in one run to pay it once.

Worked example: three car searches of 500 ads each, with details, is 1,500 ads: $1.50 on Free or Bronze, $1.20 on Gold, plus one start fee if run together. A daily check of the 70 newest ads in one search costs $0.07 plus the start fee, about $0.077 a day on Bronze.

Monitoring with Only new ads is charged per ad delivered plus the start fee of each run, so a schedule costs what the search produces plus about $0.007 per run on Bronze. Two examples on Bronze prices, ads only (add the start fee per run: 24 runs a day is about $0.17, 2 runs a day about $0.014):

ScheduleWithout onlyNewWith onlyNew
One search every hour, maxItemsPerSearch 100, 20 new ads a day24 runs × 100 ads = 2,400 ads = $2.40 a dayfirst run 100 ads = $0.10, then 20 ads = $0.02 a day
One search twice a day, maxItemsPerSearch 35, 5 new ads a day2 runs × 35 ads = 70 ads = $0.07 a dayfirst run 35 ads = $0.035, then 5 ads = $0.005 a day

With First run: skip the ads already online, the first run costs only its start fee. A price change on an ad the monitor has already seen is delivered and charged as one ad.

No ad is charged for runs that deliver nothing (including monitoring runs that find nothing new), empty searches, ad URLs that no longer exist, or ads that were not delivered. The start fee applies to every run, whatever it delivers.

Reliability and run status

Leboncoin is protected by an anti-bot service. In our tests on 11 October 2026 the first attempt of a run was blocked in roughly half of the runs; the actor retries on a fresh session automatically (up to 8 attempts), and each blocked attempt adds 20 to 40 seconds. All of those test runs recovered. A block that outlasts every retry can still happen, and then the run tells you so instead of pretending to succeed:

StatusMeaning
SUCCEEDED, "Scraped N ads"Ads delivered. Anything that went wrong on the way is named in the same message: failed URLs, ads not found, ads without details.
SUCCEEDED, "Finished with 0 ads … 0 results on leboncoin"The search is valid and really has no results.
SUCCEEDED, "N new ads in 1 monitored search(es)"A monitoring run (onlyNew). "0 new ads" means nothing was published since the last run; nothing is charged.
FAILED, "No ads scraped: …"Nothing could be scraped: every attempt blocked, a network failure, or a URL that is not a results page. Nothing is charged.
FAILED, "No usable input: …"No search or ad URL was recognised. Fails in a few seconds.

Other behaviour worth knowing:

  • Partial results are kept. Ads are saved page by page, so a run that is aborted or times out keeps what it collected. A resurrected run continues where it stopped without duplicates.
  • Your maximum charge is respected. If you set a max total charge for the run, collection stops at that limit and the message says so. A limit below the price of one ad fails at start.
  • Details can fall back. With fetchDetails on, if the ad-detail requests stay blocked while the search itself works, the remaining ads of that search are delivered from search data with detailsFetched: false, at the normal price, and the status message gives the count. Filter on detailsFetched if you need complete records only.
  • Run summary. Each run writes an OUTPUT_SUMMARY record to its key-value store: ads pushed and charged, blocked sessions, failed and empty searches, adsNotFound, adsFailed and warnings, plus monitors (per monitored search: ads checked, new ads, price changes, whether it is up to date) and splitSearches (per split search: the site's total, sub-searches run, ads collected, coverage).

Measured speed with the default 2 GB memory: 70 ads without details in 17 to 62 seconds, 70 ads with details in 35 to 70 seconds, 350 ads with details in under 3 minutes.

Limits

  • Leboncoin serves at most 100 pages of 35 ads per search, so 3,500 ads per search. Larger searches are split automatically when you ask for more than 3,500 ads, up to 35,000 per search URL; see Searches larger than 3,500 ads. For more than that, pass several narrower URLs.
  • Phone numbers and email addresses are not extracted. hasPhone only says whether the ad offers one.
  • Monitoring (onlyNew) reports new ads and, for the newest ads only, price changes. It does not report ads that were removed.
  • publishedAt and updatedAt are in Europe/Paris local time, as leboncoin gives them; scrapedAt is UTC.
  • Memory can be set from 1,024 to 4,096 MB. The default of 2,048 MB is the tested setting; several searches in parallel peaked at about 1.3 GB.
  • The actor depends on leboncoin's current site structure. A redesign can break it until it is updated.
  • This version was tested on car, property-sale and rental searches. Other categories go through the same code, but were not each tested.

Integrations and API

Like any Apify actor, this one runs from the Console, the Apify API, the CLI, the JavaScript and Python clients, or the Apify MCP server for AI agents. You can schedule it, attach webhooks that fire when a run succeeds or fails, and connect it through Apify's integrations for Make, n8n, Zapier, Google Sheets and Slack.

curl -X POST "https://api.apify.com/v2/acts/amitaviv~leboncoin-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchUrls":["https://www.leboncoin.fr/recherche?category=2&text=clio&sort=time&order=desc"],"maxItemsPerSearch":70}'

Because a run that delivers nothing because of blocking ends as FAILED, a "run failed" webhook can serve as an alert.

FAQ

Do I need proxies, cookies or a leboncoin account?

No. Proxies are included in the price and the actor never logs in.

When should I turn on "Fetch full ad details"?

Usually you do not need it. In our test runs on 11 October 2026 without details, every ad had its description and attributes: 35 of 35 on the first results page and 35 of 35 on the second, in a property search and a car search. For three ads fetched both ways, the description and the number of attributes and images were identical. Turn it on if you want each ad confirmed against its own record; detailsFetched then tells you whether that worked. It takes longer and costs the same.

Can I monitor new ads or price changes?

Yes. Turn on Only new ads and schedule the run: each run returns and charges only the ads you have not received before; see Monitor new listings. To follow the prices of every ad in a search, not only the newest, run the search without onlyNew at the interval you need and compare price by id with your previous dataset.

Why are ownerName and ownerUserId empty for some ads?

Those ads were placed by private individuals, and the fields that identify them are left out by default (privateDataRedacted: true). See the first point under Legal and responsible use.

Does it return phone numbers?

No. Leboncoin shows them only to logged-in users, and this actor does not log in.

My run FAILED. Was I charged?

The actor ends a run as FAILED only when nothing was delivered, and only delivered ads are charged. If the platform itself stops a run after ads were delivered (for example on out-of-memory), those ads stay in the dataset and are charged. Read the status message: it says whether the cause was blocking (try again later), the URL, or the input.

This is an independent tool, not affiliated with, endorsed by or sponsored by leboncoin or its operator. All trademarks belong to their owners.

  • The actor never logs in and has no dedicated phone or email fields. Ad descriptions are free text and may contain contact details.
  • Private sellers are not identified by default. For an ad placed by a private individual (ownerType other than pro), ownerName, ownerUserId and ownerStoreId are null, the seller's profile photo is removed from attributes, and privateDataRedacted is true. The same fields are removed from raw when includeRaw is on. The ad itself is unchanged: text, price, photos, city, zipcode and coordinates stay, and so do the other attributes leboncoin publishes with the ad, such as a Street View link (street_view_url), the seller's rating (rating_score, rating_count) or a vehicle history report link. Coordinates can be exact (locationIsApproximate: false); if you do not need that precision for private sellers' ads, round or drop them on your side. Professional sellers, who publish under a business name and SIREN, are returned in full. If you need private sellers' identity, turn on Include private sellers' identity (includePrivateSellerData); by doing so you confirm that you have a lawful basis under the GDPR for processing it.
  • Even with the default, the output can contain personal data: ad descriptions and photos are written by the sellers, and location can be precise. You decide what to collect and why, and you are responsible for having a lawful basis under GDPR and for answering data-subject requests.
  • Contacting private individuals for commercial prospecting on the basis of their ads requires their consent, according to the French data protection authority (CNIL). Do not use this actor for that purpose.
  • Do not re-publish ads or build a public listing service from them; French courts have awarded leboncoin damages against companies that re-published its ads, and leboncoin's robots.txt states that it does not permit automated access. Read its terms before use.
  • To ask for data to be removed or to report a privacy concern, open an issue on the actor's Issues tab, or contact Apify support.

Scraper Leboncoin en bref

Collez l'URL d'une recherche leboncoin.fr (voitures, multimédia, emploi, immobilier, toutes catégories) et récupérez les annonces en JSON, CSV ou Excel : prix, description complète, localisation, type de vendeur, photos et tous les critères. 1 $ pour 1 000 annonces, détails compris, plus les frais de démarrage d'Apify (environ 0,007 $ par exécution) ; seules les annonces livrées sont facturées. Option « nouvelles annonces uniquement » pour la veille : chaque exécution planifiée ne renvoie et ne facture que les annonces que vous n'avez pas encore reçues. Par défaut, le nom et les identifiants des vendeurs particuliers ne sont pas renvoyés. Pour le suivi de prix et l'analyse de marché, pas pour le démarchage de particuliers.

Changelog

1.0.25 (2026-10-13)

  • Pricing: Apify's standard Actor start event added (about $0.007 per run on Bronze at the default 2 GB). Per-ad prices are unchanged.
  • Changed default, for privacy: for private sellers, ownerName, ownerUserId, ownerStoreId and the profile photo are no longer returned unless you turn on includePrivateSellerData. Professional sellers are unchanged. New field privateDataRedacted, added as the last field of every record; the existing fields keep their order.
  • New: Only new ads (onlyNew, monitorKey, skipExistingOnFirstRun) for scheduled monitoring; new fields changeType and previousPrice in monitoring runs.
  • New: searches with more than 3,500 ads are split automatically when maxItemsPerSearch is above 3,500 (now up to 35,000); splitLargeSearches turns it off.
  • OUTPUT_SUMMARY gains monitors and splitSearches.
  • Fixed: a search that ran for more than 3 minutes could be processed twice in parallel and skip result pages.

1.0.20 (2026-10-11)

  • With details off, ads on the first results page now include their description.
  • Runs that deliver nothing because of blocking or errors now end FAILED with a clear message, not SUCCEEDED with 0 ads.
  • Anti-bot challenges are retried on fresh sessions.
  • Wider input: category pages, URLs without scheme, mobile hosts, /vi/ links, bare ad ids, startUrls.
  • Results saved page by page; the run's maximum charge is respected.
  • New field detailsFetched and new OUTPUT_SUMMARY record.
  • sourceSearchUrl holds the cleaned URL; page= is ignored; overlapping searches each return up to maxItemsPerSearch new ads.

1.0.7 (2026-09-05): first public version.

Other actors by the same developer:

  • Kleinanzeigen Scraper: the same kind of classified ads, in every category, from kleinanzeigen.de in Germany, by search URL or keyword.
  • Vinted Scraper: second-hand items with brand, size, condition and price on vinted.fr and Vinted's other country sites, for resale price research next to leboncoin.
  • Welcome to the Jungle Scraper: job ads from welcometothejungle.com, a French job board, with full descriptions and a per-company hiring-signal mode, if you follow leboncoin's emploi category.
  • Idealista Scraper: property listings in Spain, Portugal and Italy from any search URL, to set leboncoin's French property ads against those markets.

Support

Open an issue on the Issues tab and include the run id and the search URL. If you scrape Spanish, Portuguese or Italian property listings, see the Idealista Scraper by the same developer.