Un scraper maison sur Leboncoin (requests/BeautifulSoup ou Selenium) demande de gérer le rendu JavaScript, la rotation de proxies et la maintenance du parseur à chaque changement de structure HTML — une API de scraping à la demande encapsule tout ça derrière un seul appel HTTP. La différence ne se joue pas sur la faisabilité (les deux fonctionnent), mais sur le temps de développement et de maintenance à moyen terme.

Sommaire
Pour récupérer des annonces Leboncoin par script, deux chemins existent :
Les deux permettent d'arriver au même résultat final (une liste d'annonces exploitable en code), mais pas avec le même effort de développement.
from selenium import webdriver
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
import time
options = webdriver.ChromeOptions()
options.add_argument("--headless")
# + configuration proxy, user-agent, éventuel contournement anti-bot...
driver = webdriver.Chrome(options=options)
driver.get("https://www.leboncoin.fr/recherche?text=iphone+13")
time.sleep(3) # attendre le chargement JS
soup = BeautifulSoup(driver.page_source, "html.parser")
annonces = soup.select(".ad-card") # sélecteur CSS à maintenir à chaque refonte du site
for a in annonces:
titre = a.select_one(".ad-title")
prix = a.select_one(".ad-price")
print(titre.text if titre else None, prix.text if prix else None)
driver.quit()Ce script fonctionne, mais il repose sur des sélecteurs CSS qui cassent dès que Leboncoin change sa structure de page, sur un navigateur headless à faire tourner (consommation mémoire, lenteur), et ne gère ni la rotation de proxy ni le rate limiting — à ajouter en plus si le volume augmente.
import requests
response = requests.get(
"https://api.lebondeal-bot.fr/v1/leboncoin/search",
headers={"Authorization": "Bearer VOTRE_CLE_API"},
params={"query": "iphone 13"}
)
for annonce in response.json()["results"]:
print(annonce["title"], annonce["price"])Même résultat, sans navigateur headless, sans sélecteur CSS à maintenir, sans gestion de proxy. Le détail des champs renvoyés et des paramètres disponibles est sur la page API Leboncoin et dans la documentation.
| Critère | Scraper maison | API à la demande |
|---|---|---|
| Mise en place initiale | Plus longue (sélecteurs, navigateur headless) | Quelques lignes de code |
| Maintenance | À refaire à chaque refonte du site cible | À la charge du fournisseur de l'API |
| Gestion des blocages IP | À gérer soi-même (proxies, user-agents) | Gérée en interne par l'API |
| Rendu JavaScript | Nécessite un navigateur headless (Selenium/Playwright) | Non concerné, réponse déjà structurée |
| Coût | Infrastructure (proxies, machine) + temps de développement | Système de crédits par requête |
Récupérez des annonces Leboncoin structurées en un appel HTTP, sans proxy ni navigateur headless.
Voir l'API Leboncoin Voir les tarifsUn scraper maison garde un intérêt pour un usage ponctuel, à très faible volume, sur un site simple sans protection anti-bot avancée, ou dans un contexte purement pédagogique pour apprendre le web scraping. Dès qu'un projet a besoin de fiabilité dans le temps, d'un volume de requêtes régulier, ou de plusieurs sources (Leboncoin, Vinted, Kleinanzeigen), la maintenance d'un scraper maison devient rapidement le principal poste de temps du projet plutôt que la donnée elle-même.
Une API de scraping est-elle plus fiable qu'un scraper maison sur le long terme ?
Oui dans la mesure où la maintenance face aux changements du site cible est prise en charge par le fournisseur de l'API plutôt que par l'équipe qui utilise les données.
Faut-il des compétences différentes pour utiliser une API plutôt qu'un scraper maison ?
Non, les deux demandent de savoir écrire un script HTTP en Python (ou autre langage). L'API évite simplement la partie parsing HTML et gestion de navigateur headless.
Un scraper maison est-il gratuit alors qu'une API est payante ?
Un scraper maison a des coûts cachés (proxies, machine pour le rendu JS, temps de maintenance) qui ne sont pas toujours comptabilisés au départ. Le coût réel de l'API dépend du volume de requêtes, voir la page tarifs.
L'API fonctionne-t-elle aussi pour Vinted et Kleinanzeigen ?
Oui, avec la même clé et une logique de code identique, seul l'endpoint change. Voir l'API LeBonDeal pour l'ensemble des sources disponibles.
LeBonDealBot Discord gratuit pour vos alertes Leboncoin, et API à la demande pour extraire des données Leboncoin, Vinted, Kleinanzeigen et Marktplaats en JSON.
© 2026 LeBonDeal — Tous droits réservés.