API AutoScout24 pour autoscout24.fr : occasions et évaluation des prix en JSON
Sur autoscout24.fr, chaque annonce porte une évaluation du prix calculée par AutoScout24, et sa fiche contient la médiane et les tranches de prix qui servent à cette évaluation. Vous les récupérez ici en JSON, à côté de tout ce qui figure sur l'annonce : version, kilométrage, date de première immatriculation, énergie, boîte, garage ou particulier, ville et distance. Cette API ne publie rien : pour diffuser le stock d'un garage, AutoScout24 propose sa propre Listing Creation API, réservée aux professionnels. Pour l'édition française, ajoutez `"country": "fr"` à chaque appel ; sans ce paramètre, c'est autoscout24.de qui répond.
Endpoints
| endpoint | Ce qui est renvoyé | Obligatoires |
|---|---|---|
| search | Recherche par marque et modèle (ou gamme) avec les filtres du site : prix, année, kilométrage, énergie, boîte, carrosserie, puissance en kW, professionnel ou particulier, type d'offre, code postal et rayon. 20 annonces par page, chacune avec son évaluation de prix (`price_evaluation`) et sa distance au code postal. | tous optionnels |
| listing | L'annonce complète à partir de l'URL ou du chemin `/offres/…` renvoyé par la recherche : description, prix numérique (`priceRaw`), médiane et tranches d'évaluation, TVA récupérable ou non, équipements, kilométrage brut, première immatriculation, nombre de propriétaires et avis sur le garage. | tous optionnels |
| makes | Toutes les marques, avec l'identifiant et le slug utilisés par le site. | tous optionnels |
| models | Les modèles, groupes et gammes d'une marque, avec les slugs exacts que `search` accepte. | make |
| filter_options | Les dimensions de filtre et leurs codes : énergie, carrosserie, boîte de vitesses et les autres. | tous optionnels |
| seller_listings | Le stock d'un garage ou d'un particulier à partir de son numéro client (cid), présent dans le bloc vendeur de chaque annonce. | cid |
| browse_links | Les liens de navigation de la page de recherche : villes, carrosseries, gammes et modèles populaires. | tous optionnels |
Chaque appel est facturé en crédits. Les appels en échec ou bloqués sont gratuits.
Exemple qui fonctionne
Cette Peugeot 3008 HYBRID4 de février 2020, 86 456 km, est affichée 18 990 € à Villeurbanne. Sa fiche donne la médiane qu'AutoScout24 associe à l'annonce, 21 700 €, et sept tranches numérotées de 0 à 6 : à 18 990 €, la voiture tombe dans la tranche 1 (18 001 à 20 200 €), d'où `price_evaluation: 1`, tandis que la médiane se trouve dans la tranche 3. Les bornes changent d'une annonce à l'autre : pour une 3008 électrique à 33 990 €, la médiane était de 37 100 € et la tranche 1 allait de 31 201 à 34 800 €. Lisez-les sur chaque fiche au lieu de les supposer.
curl -X POST https://api.reefapi.com/autoscout24/v1/listing \
-H "x-api-key: VOTRE_CLE" \
-H "content-type: application/json" \
-d '{"country": "fr", "url": "https://www.autoscout24.fr/offres/peugeot-3008-hybrid4-300ch-gt-pack-e-eat8-essence-blanc-cat_ma55mo19217-16cc53f4-a131-4675-9109-aa2835fdfbe2"}'{
"ok": true,
"data": {
"listing": {
"id": "16cc53f4-a131-4675-9109-aa2835fdfbe2",
"make": "Peugeot",
"model": "3008",
"variant": "3008 Plug-In Hybrid",
"model_version": "HYBRID4 300ch GT Pack e-EAT8",
"fuel": null,
"transmission": null,
"mileage_km": "86 456 km",
"year": "02/2020",
"power_kw": "224 kW",
"power_ps": "305 Ch",
"body_type": "SUV/4x4/Pick-Up",
"price_formatted": "€ 18 990",
"price_evaluation": 1,
"prices": {
"public": {
"priceRaw": 18990,
"taxDeductible": false,
"netPrice": null,
"vatRate": null,
"category": 1,
"median": 21700,
"evaluationRanges": [
{ "minimum": null, "maximum": 18000, "category": 0 },
{ "minimum": 18001, "maximum": 20200, "category": 1 },
{ "minimum": 20201, "maximum": 21400, "category": 2 },
{ "minimum": 21401, "maximum": 22800, "category": 3 },
...
{ "minimum": 27201, "maximum": null, "category": 6 }
]
},
...
},
"location": { "countryCode": "FR", "zip": "69100", "city": "VILLEURBANNE", ... },
"vehicle": {
"fuelCategory": { "raw": "B", "formatted": "Essence" },
"transmissionType": "Boîte automatique",
"mileageInKmRaw": 86456,
"firstRegistrationDateRaw": "2020-02-01",
"noOfPreviousOwners": 1,
"legalCategories": ["Occasion"],
...
},
...
}
},
"meta": { "record_count": 1, "country": "fr", "http_status": 200, "cache_hit": false, "mode": "live" }
}Scraper autoscout24.fr en Python : les écarts que nous avons mesurés
L'énergie est saisie par le vendeur, elle n'est pas déduite du modèle. Dans notre recherche autour de Lyon, cette 3008 HYBRID4, pourtant hybride rechargeable, est classée « Essence », alors que l'autre 3008 Plug-In Hybrid de la liste figure en « Électrique/Essence ». Avec le filtre `fuel: "2"` (électrique/essence), la même recherche a renvoyé 17 Peugeot 3008 dans un rayon de 50 km, et la nôtre n'y figurait pas. Pour suivre le marché des hybrides, regardez aussi `variant` (« 3008 Plug-In Hybrid ») et `model_version`.
Un filtre peut ne rien filtrer sans le dire. Jusqu'à mi-octobre 2026, notre moteur envoyait `model`, `model_group` et `seller_type` sous des noms qu'AutoScout24 ignore : sur l'édition allemande, Volkswagen + « golf » renvoyait les mêmes 148 410 annonces que Volkswagen seul, avec des Polo et des Taigo dans les lignes. Le moteur utilise désormais les noms du site et vérifie, après chaque réponse, les filtres que le site déclare avoir appliqués ; un écart produit INVALID_PARAM.
Les valeurs inconnues sont un autre piège : un code d'énergie qui n'existe pas renvoie le catalogue entier, un tri inconnu renvoie zéro annonce, et ni l'un ni l'autre n'est signalé comme une erreur. Le moteur refuse ces valeurs avant même d'envoyer la requête.
Si vous construisez votre propre cote, sachez que la fiche ne contient aucun historique de la médiane. Enregistrez-la à chaque appel avec `priceRaw`, la catégorie et la date : c'est la seule façon de voir comment l'évaluation d'une même voiture évolue.
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
- Moteur.ma API — documentation
Limites et remarques honnêtes
- Interface indépendante : AutoScout24 ne l'édite pas, et nous ne sommes liés à AutoScout24 par aucun contrat ni partenariat.
- Sur autoscout24.fr, `listing` appelé avec le seul `id` cherche l'annonce sous un chemin de l'édition allemande et renvoie NOT_FOUND (2 essais sur 2 le 25 octobre 2026). Passez l'`url` ou le `path` (`/offres/…`) fourni par la recherche : ces appels-là ont fonctionné.
- Dans la liste de résultats, prix et kilométrage sont des chaînes formatées, avec une espace fine comme séparateur de milliers (« € 18 990 », « 86 456 km »). Les nombres exploitables (`priceRaw`, `mileageInKmRaw`) se trouvent dans `listing`.
- Dans `listing`, `fuel` et `transmission` au premier niveau sont revenus à null sur nos deux annonces ; l'énergie et la boîte sont dans `vehicle.fuelCategory` et `vehicle.transmissionType`.
- TVA récupérable ne veut pas dire prix HT disponible : sur la 3008 électrique, `taxDeductible` valait true mais `netPrice` et `vatRate` étaient null.
- Sur nos 20 résultats autour de Lyon, `price_evaluation` était renseigné 20 fois sur 20, avec des valeurs de 1 à 5. L'évaluation est celle d'AutoScout24 ; nous ne la recalculons pas.
- La réponse contient le bloc vendeur tel qu'il est publié, y compris le nom du contact et les numéros de téléphone du garage. Il a été retiré de l'exemple, et une analyse de prix n'a pas besoin de ces coordonnées.