API Automobile.tn : grille des prix du neuf et voitures d'occasion en Tunisie, en JSON
Avant d'acheter une voiture en Tunisie, deux rubriques d'Automobile.tn servent de repère : le prix du neuf, version par version, avec le prix TTC en dinars, la promotion du moment et l'importateur officiel ; puis les annonces d'occasion des particuliers et des showrooms, de Tunis à Sfax. ReefAPI transforme ces deux rubriques en JSON, montants en TND, et joint à chaque annonce d'occasion l'évaluation du prix calculée par Automobile.tn (« Bon prix », « Prix équitable », « Prix élevé »…). C'est un accès en lecture seule, pensé pour l'acheteur ou l'analyste : un showroom qui veut diffuser ou mettre à jour son stock sur Automobile.tn n'y trouvera aucune fonction de publication.
Endpoints
| endpoint | Ce qui est renvoyé | Obligatoires |
|---|---|---|
| search | Les annonces d'occasion, filtrées par marque et modèle (slugs fournis par `makes`), mot-clé, prix, année, kilométrage, puissance fiscale, énergie, boîte, carrosserie, transmission, gouvernorat, particulier ou professionnel, et type de prix (normal, leasing, non dédouané). 12 annonces par page, avec le total du site, le décompte de chaque filtre et l'évaluation du prix (`price_rating`) sur chaque ligne. | tous optionnels |
| listing | Une annonce complète, par `url` (une seule requête) ou par `id` : prix, mise en circulation, kilométrage, énergie détaillée, boîte, puissance fiscale, état général, anciens propriétaires, couleurs, sellerie, équipements rangés par groupe, photos et bloc vendeur. | tous optionnels |
| makes | Les marques ayant des annonces d'occasion en ligne, avec leur nombre ; avec `brand`, les modèles de cette marque. Ce sont les slugs que `search` attend. | tous optionnels |
| new_search | Le catalogue du neuf, 24 modèles par page : prix « à partir de » (la version la moins chère), ancien prix et remise en cas de promotion, prix en dollars hors taxes quand l'importateur en publie un. Filtres : marque, mot-clé, prix, énergie, boîte, carrosserie, transmission, nombre de places, puissance fiscale ; tri par pertinence, prix ou popularité. | tous optionnels |
| new_brands | Toutes les marques du catalogue neuf, avec slug et logo. | tous optionnels |
| new_versions | Les versions d'un modèle neuf (par `brand` et `model`, ou par `url`) avec le prix de chacune, l'ancien prix en promotion et le bloc de l'importateur officiel. | tous optionnels |
| new_version | La fiche d'une version : prix TTC, disponibilité, garantie, puissance fiscale et réelle, couple, cylindrée, boîte et nombre de rapports, dimensions, coffre, 0 à 100 km/h, vitesse maximale, consommation, et chaque ligne d'équipement. | tous optionnels |
Chaque appel est facturé en crédits. Les appels en échec ou bloqués sont gratuits.
Exemple qui fonctionne
Sous 80 000 DT, trié du moins cher au plus cher, le catalogue du neuf comptait 85 modèles le 27 octobre 2026. Sur les 24 premiers, 7 sont des voitures populaires, avec « Populaire » dans le nom (Suzuki Celerio, Renault Kwid, KIA Picanto, Chery Tiggo 1X, Hyundai Grand i10, Mitsubishi Attrage, Citroën C3), de 28 457 à 35 000 DT. Ce sont des cartes distinctes, avec leur propre fiche et leurs conditions d'achat : celle de la Picanto Populaire 1.0 L, lue avec `new_version`, affiche 32 794 DT et la disponibilité « Disponible | Sous réserve d'acceptation du dossier par le ministère du commerce ». Pour comparer les prix d'un modèle, ne mélangez pas ces versions avec les autres : la Hyundai Grand i10 sans la mention démarre à 51 950 DT.
curl -X POST https://api.reefapi.com/automobile-tn/v1/new_search \
-H "x-api-key: VOTRE_CLE" \
-H "content-type: application/json" \
-d '{"price_max": 80000, "sort": "price_asc"}'{
"ok": true,
"data": {
"total": 85,
"page": 1,
"page_size": 24,
"last_page": 4,
"page_clamped": false,
"has_more": true,
"sort": "price_asc",
"models": [
{
"card_id": "47160",
"name": "Bako Bee",
"url": "https://www.automobile.tn/fr/neuf/bako/bee",
"price_from_tnd": 18260,
"price_old_tnd": null,
"discount_tnd": null,
"price_usd_duty_free": null,
"badge": null,
"currency": "TND"
},
{
"card_id": "47162",
"name": "Bako B-Van",
"price_from_tnd": 22586,
"price_usd_duty_free": 8900,
"currency": "TND"
},
{
"card_id": "46815",
"name": "Suzuki Celerio Populaire",
"url": "https://www.automobile.tn/fr/neuf/suzuki/celerio-populaire/1.0-l-gl",
"single_version_slug": "1.0-l-gl",
"price_from_tnd": 28457,
"currency": "TND"
},
...
{
"card_id": "47204",
"name": "KIA Picanto Populaire",
"url": "https://www.automobile.tn/fr/neuf/kia/picanto-populaire/1.0-l",
"single_version_slug": "1.0-l",
"price_from_tnd": 32794,
"currency": "TND"
},
...
{
"card_id": "46574",
"name": "DFSK K02S",
"price_from_tnd": 40900,
"price_old_tnd": 42900,
"discount_tnd": 2000,
"discount_computed_tnd": 2000,
"badge": "Promo",
"currency": "TND"
},
...
{
"card_id": "47058",
"name": "Hyundai Grand i10",
"url": "https://www.automobile.tn/fr/neuf/hyundai/grand-i10",
"price_from_tnd": 51950,
"currency": "TND"
}
],
"facets": { "fuel": [{ "label": "Essence", "count": 54 }, { "label": "Electrique", "count": 16 }, ...], ... }
},
"meta": { "record_count": 24, "upstream_requests": 1, "cache_hit": false, "mode": "live" }
}Scraper Automobile.tn : quatre réactions du site qui faussent les données
Au-delà de la dernière page, Automobile.tn ne renvoie pas une page vide : il répète la dernière. Mesuré à la construction du moteur, le 7 octobre 2026 : pages 9, 10 et 50 identiques pour Audi, pages 136, 137 et 999 identiques pour l'ensemble des annonces, pages 15, 16 et 99 dans le neuf. Un script qui avance « tant qu'il y a des lignes » ne s'arrête jamais et compte les mêmes voitures en boucle. Ici, `last_page` est calculé à partir du total, et une page au-delà revient vide avec `page_clamped: true`.
Une adresse fausse ne donne pas d'erreur non plus. Une annonce disparue redirige vers la recherche du modèle, un modèle inconnu vers la page de la marque, et une version inconnue vers une autre version du même modèle : votre script enregistre alors, sans s'en douter, le prix d'une autre finition. Ici, toute redirection vers une autre page que celle demandée se termine en NOT_FOUND.
Les chiffres affichés ne concordent pas toujours entre eux. Sur une annonce, la carte de recherche indiquait 11 000 DT et la page de l'annonce 10 983 DT ; c'est pourquoi `search` renvoie le prix de la carte, et `listing` celui de l'annonce, avec le prix des données structurées et `price_mismatch` à côté. Dans le neuf, le badge de promotion contredisait les prix sur 6 cartes promotionnelles sur 28 : la Peugeot 208 annonçait 4 000 DT de remise pour un passage de 68 900 à 63 900 DT, soit 5 000. Les deux valeurs sont publiées, `discount_tnd` (le badge) et `discount_computed_tnd` (le calcul).
Dernier détail : le numéro de série (VIN) présent dans les données structurées de chaque annonce est un modèle de page, « XXXXXXXXXXXXXXXXX », identique partout. Un champ non vide n'apporte pas forcément d'information : sur ce site, vérifiez qu'une valeur change d'une annonce à l'autre avant de la stocker.
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
Limites et remarques honnêtes
- Service tiers, non officiel : il n'est ni édité ni approuvé par Automobile.tn, et aucun contrat ne nous lie au site.
- Dans `search`, `summary` reprend tel quel le début du texte du vendeur. Sur nos 12 Volkswagen de Tunis, ce champ contenait des numéros de téléphone dans les 12 lignes, et rien d'autre dans 7 d'entre elles. Pour la description de la voiture, passez par `listing`.
- Le bloc vendeur de `listing` contient le téléphone affiché sur l'annonce, plus le nom et l'adresse quand il s'agit d'un showroom ; les particuliers ne publient pas de nom. Gardez ces coordonnées hors de vos tables si vous n'en avez pas l'usage.
- L'énergie est plus précise dans `listing` que dans `search` : la même Golf 8 GTE était « Hybride » dans la liste et « Hybride rechargeable essence » sur son annonce.
- `price_rating` est l'évaluation d'Automobile.tn, reprise sans recalcul. Sur les 12 lignes de notre recherche, elle prenait quatre valeurs, de « Bon prix » à « Prix très élevé ».
- Le prix en dollars hors taxes (`price_usd_duty_free`) n'existe que lorsque l'importateur le publie, comme les 8 900 $ du Bako B-Van à côté de 22 586 DT ; il n'est jamais converti en dinars, ni l'inverse.
- Automobile.tn ne publie ni VIN exploitable, ni nombre de vues, ni date d'expiration des annonces : aucune réponse ne les contient.
- Tarifs par appel : 2 crédits pour `search`, `makes`, `new_search`, `new_brands` et `new_version`, 3 crédits pour `listing` et `new_versions`.