API La Centrale : annonces de voitures d'occasion et prix comptant en JSON
Sur une annonce de lacentrale.fr, le prix d'une voiture d'occasion peut apparaître sous trois formes : le prix comptant, un prix antérieur, et une mensualité de financement. Cette API lit les pages publiques du site marque par marque et ne renvoie que le prix comptant, en euros, avec l'année, le kilométrage, le modèle et l'identifiant de l'annonce ; l'annonce détaillée ajoute la finition telle que le site l'écrit (« 1.2 PURETECH 130 S&S 7CV ALLURE EAT8 »), l'énergie, la couleur et les photos. Le périmètre est étroit et nous préférons le dire tout de suite : six marques (Peugeot, Renault, BMW, Mercedes, Volkswagen, Tesla), les deux premières pages de résultats, aucun filtre. Rien ne s'écrit par cette API : ce n'est pas l'outil d'un professionnel pour publier ou modifier ses annonces sur La Centrale, seulement une lecture des prix tels qu'un acheteur les voit.
Endpoints
| endpoint | Ce qui est renvoyé | Obligatoires |
|---|---|---|
| search | Les annonces d'occasion d'une marque, page 1 ou 2 du site (23 annonces par page) : identifiant, titre, adresse de l'annonce, prix comptant en EUR, année-modèle, kilométrage, marque, modèle et photo, avec le nombre total d'annonces de la marque. `query` accepte `peugeot`, `renault`, `bmw`, `mercedes`, `volkswagen` ou `tesla` ; `max_results` (1 à 23, 12 par défaut) fixe le nombre de lignes renvoyées. | query |
| listing | Une annonce par `listing_id` (l'identifiant numérique renvoyé par `search`) ou par `url` : titre court et titre complet avec la finition, prix comptant en nombre et tel qu'il est affiché (« 8 990 € »), année, kilométrage, énergie, couleur, photos, statut de l'annonce, et le bloc vendeur publié (professionnel ou particulier, ville, note et nombre d'avis du garage). | tous optionnels |
Chaque appel est facturé en crédits. Les appels en échec ou bloqués sont gratuits.
Exemple qui fonctionne
Le 28 octobre 2026, lacentrale.fr comptait 47 661 annonces Peugeot (`total_results`) ; la page 1 en donne 23, dont quatre ci-dessous. La 308 de 2021 à 8 990 € pour 99 000 km a ensuite été ouverte avec `listing` : son titre complet, « PEUGEOT 308 II (2) 1.2 PURETECH 130 S&S 7CV ALLURE EAT8 », précise le moteur, la puissance fiscale (7 CV), la finition et la boîte, alors que la ligne de recherche s'arrête à « PEUGEOT 308 II phase 2 ». Pour comparer des prix de 308 entre elles, c'est `full_title` qu'il faut regarder.
curl -X POST https://api.reefapi.com/lacentrale/v1/search \
-H "x-api-key: VOTRE_CLE" \
-H "content-type: application/json" \
-d '{"query": "peugeot", "max_results": 23}'{
"ok": true,
"data": {
"results": [
{
"listing_id": "87103575338",
"title": "PEUGEOT 1007",
"url": "https://www.lacentrale.fr/auto-occasion-annonce-87103575338.html",
"price": 1990,
"currency": "EUR",
"price_type": "cash_asking",
"year": 2005,
"mileage_km": 263000,
"make": "PEUGEOT",
"model": "1007",
"country": "FR",
"gtin": null
},
...
{
"listing_id": "87103522251",
"title": "PEUGEOT 208 phase 2",
"price": 5900,
"currency": "EUR",
"year": 2017,
"mileage_km": 69500,
"model": "208"
},
...
{
"listing_id": "69119648774",
"title": "PEUGEOT 5008",
"price": 4190,
"currency": "EUR",
"year": 2012,
"mileage_km": 252000,
"model": "5008"
},
{
"listing_id": "87103581940",
"title": "PEUGEOT 308 II phase 2",
"url": "https://www.lacentrale.fr/auto-occasion-annonce-87103581940.html",
"price": 8990,
"currency": "EUR",
"price_type": "cash_asking",
"year": 2021,
"mileage_km": 99000,
"model": "308"
},
...
],
"count": 23,
"total_results": 47661,
"page": 1,
"source_page_size": 23,
"source_page_count": 23,
"max_results": 23,
"has_more": true
},
"meta": { "record_count": 23, "cache_hit": false, "mode": "live" }
}Scraping La Centrale : trois montants sur une annonce, deux identifiants par voiture
Une annonce de La Centrale contient souvent plusieurs montants en euros. Quand nous avons construit le moteur, le 2 octobre 2026, une BMW de 2023 affichait 22 668 € au comptant, un prix antérieur de 22 841 € et une mensualité de 323 € dans la même page. Prendre le premier nombre suivi de « € » dans la page, c'est risquer d'enregistrer 323 € comme prix de la BMW. Le moteur lit le prix comptant dans les données de l'annonce, vérifie qu'il correspond au prix affiché en euros, et ne renvoie que lui (`price_type: "cash_asking"`).
Une même voiture porte aussi deux identifiants. L'adresse de la 308 de l'exemple utilise 87103581940, ses photos et sa référence W103581940 ; ailleurs, une annonce 69119648774 a ses photos sous E119648774. Le moteur ne déduit jamais l'un de l'autre : il part du numéro de l'adresse publiée, et `listing` contrôle que la page reçue est bien celle de l'annonce demandée avant de répondre.
Enfin, le titre de la liste et celui de l'annonce sont deux textes différents, et ce n'est pas une erreur. Les deux sont renvoyés tels quels, dans `title` et `full_title` ; ne vous en servez pas pour relier une ligne de recherche à son annonce, c'est le rôle de `listing_id`.
Pour une étude du marché français dans son ensemble, ce moteur ne suffit pas : il voit au plus 46 annonces par marque, quand le site en affichait 47 661 pour Peugeot le 28 octobre. Il sert à relever régulièrement un échantillon de prix comptant, avec des identifiants sur lesquels on peut s'appuyer.
Autres documentations en français
- leboncoin API — documentation
- Carrefour API — documentation
- Rakuten API — documentation
- Cdiscount API — documentation
- Fnac API — documentation
- AliExpress API — documentation
- Mubawab API — documentation
- API Vinted — annonces de vinted.fr
- idealo.fr API — documentation
- Cardmarket API — documentation
- AutoScout24 API — documentation (autoscout24.fr)
- Moteur.ma API — documentation
- API eBay (ebay.fr) — prix et enchères
- API Temu — vitrine française
- API Amazon.fr — prix et offres
- API Catawiki — enchères et prix de réserve
- API Avito.ma (Maroc) — annonces et prix en DH
- API Automobile.tn — neuf et occasion
- API Lidl France — prix et promos de lidl.fr
- API ParuVendu — annonces par département
- API Tayara.tn — voitures et petites annonces en dinars
Limites et remarques honnêtes
- API non officielle : La Centrale ne l'édite pas et ne l'a pas validée, et ReefAPI n'a signé aucun accord avec le site.
- Six marques seulement : `peugeot`, `renault`, `bmw`, `mercedes`, `volkswagen`, `tesla`. Une autre marque, Citroën par exemple, est refusée en INVALID_PARAM, et il n'y a pas de recherche libre par modèle.
- Deux pages de 23 annonces par marque, sans filtre de prix, d'année, de kilométrage, d'énergie ni de département. `has_more` vaut true même en page 2, alors que la page 3 est refusée.
- Pas de cote ni d'argus : le prix renvoyé est celui que demande le vendeur. Le prix antérieur et la mensualité de financement ne figurent dans aucune réponse.
- `description` vaut toujours null : le texte libre du vendeur n'est pas repris. `gtin` aussi, car La Centrale ne publie pas de code produit pour une voiture et nous n'en fabriquons pas à partir du VIN ou de la référence.
- Le bloc vendeur de `listing` reprend ce que publie l'annonce : pour un garage, raison sociale, adresse, coordonnées GPS, note et nombre d'avis. Pour une étude de prix, la ville et `is_pro` suffisent en général ; inutile de conserver le reste, surtout quand le vendeur est un particulier.
- Tarif : 4 crédits l'appel pour `search` comme pour `listing` ; demander 5 lignes au lieu de 23 ne change rien au prix.