Un appel, une réponse
Une petite API REST. Envoyez un VIN ou une plaque, récupérez un check en JSON plat : marque, modèle, kilométrage, accidents, titre. Une clé, un en-tête, des réponses rapides.
https://api.scan-vin.com/v1Démarrez en 3 étapes
Récupérez une clé
Inscrivez-vous et copiez votre clé API depuis le tableau de bord. Une seule clé pour les tests et la prod. Pas de config, pas de file d'attente.
Faites l'appel
Ajoutez votre clé dans l'en-tête X-Api-Key et envoyez un VIN ou une plaque en POST sur /v1/check. Voilà toute l'intégration.
Lisez le JSON
Vous recevez un seul objet JSON plat : marque, modèle, kilométrage, accidents, titre. Pas de niveaux imbriqués, pas de polling. Vous lisez les champs, c'est tout.
Authentification
Mettez votre clé dans un seul en-tête : X-Api-Key: VOTRE_CLE. C'est tout. Pas de token Bearer, pas d'OAuth. Gardez la clé secrète et changez-la depuis le tableau de bord quand vous voulez.
curl https://api.scan-vin.com/v1/vin/WBA3A5G59DNP26082 \
-H "X-Api-Key: YOUR_API_KEY"L'appel
Trois endpoints, pas plus. POST un VIN ou une plaque pour lancer un check, GET pour le récupérer par id, ou décodez un VIN tout seul. Tout est en JSON plat.
/v1/checkLancer un check
Celui que vous utiliserez. POST un VIN ou une plaque et récupérez tout le check dans une seule réponse plate, en général en quelques secondes.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| vin | string | optionnel | VIN de 17 caractères. Envoyez ceci, ou bien `plate`. |
| plate | string | optionnel | Plaque d'immatriculation. Envoyez ceci, ou bien `vin`. |
| country | string | optionnel | Code pays à deux lettres (ex. `FR`, `DE`). Nécessaire quand vous envoyez une `plate`. |
Exemple
curl -X POST https://api.scan-vin.com/v1/check \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"vin": "WBA3A5G59DNP26082"}'/v1/check/{check_id}Récupérer un check
Récupérez un check déjà lancé par son id. Même objet plat que la réponse du POST.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| check_id | string | requis | Paramètre de chemin. L'identifiant de check qu'on vous a donné (`chk_...`). |
Exemple
curl https://api.scan-vin.com/v1/check/chk_5a1b \
-H "X-Api-Key: YOUR_API_KEY"/v1/vin/{vin}Décoder un VIN
Juste les bases ? Cet appel lit un VIN et renvoie marque, modèle et année. Instantané, sans tirer l'historique.
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| vin | string | requis | Paramètre de chemin. Le VIN de 17 caractères à décoder. |
Exemple
curl https://api.scan-vin.com/v1/vin/WBA3A5G59DNP26082 \
-H "X-Api-Key: YOUR_API_KEY"La réponse
Toujours la même forme plate : un flag `ok`, le `check_id`, et les infos de la voiture en champs de premier niveau. Rien d'imbriqué pour rien, vous lisez ce qu'il vous faut.
{
"check_id": "chk_5a1b",
"vin": "WBA3A5G59DNP26082",
"ok": true,
"make": "BMW",
"model": "320d",
"year": 2019,
"mileage_km": 142350,
"accidents": 0,
"stolen": false,
"title": "clean",
"checked_at": "2026-03-12T10:04:00Z"
}En cas d'échec
Des codes HTTP simples. En cas d'erreur, vous recevez un objet plat avec `ok: false`, un `code` et un `message` qui dit quoi corriger. Pas de devinette.
| Code | Message | Description |
|---|---|---|
| 400 | Bad Request | Il manque ou il y a une erreur dans votre requête, par exemple ni VIN ni plaque. |
| 401 | Unauthorized | Votre clé manque ou est fausse. Vérifiez l'en-tête X-Api-Key. |
| 403 | Forbidden | Votre clé ne peut pas utiliser cet appel. Vérifiez votre plan. |
| 404 | Not Found | On n'a pas trouvé cette voiture ou ce check. |
| 429 | Too Many Requests | Vous allez trop vite. Ralentissez et réessayez après que le compteur X-RateLimit-Remaining se réinitialise. |
| 500 | Server Error | Un souci de notre côté. Réessayez, et écrivez-nous si ça persiste. |
{
"ok": false,
"code": 401,
"error": "Unauthorized",
"message": "The X-Api-Key header is missing or invalid."
}Branchez nos données auto
Obtenez une clé et faites votre premier appel en quelques minutes. La même clé marche en prod, sans changer de code.