Saisir une plaque française et obtenir, en retour, la marque, la version, la motorisation ou le K-Type d'un véhicule : c'est tout l'intérêt d'une API de plaque d'immatriculation. Pour un développeur, la question n'est pas seulement « quelle URL appeler ? », mais aussi « que faire de la saisie de l'utilisateur, de la réponse et des cas où rien ne revient ? ».
Cet article décrit le fonctionnement d'une recherche par plaque française, puis les étapes concrètes pour l'intégrer dans un site ou un logiciel métier.
Ce que fait une API de plaque française
Le principe est simple : votre serveur envoie une plaque, l'API renvoie un objet JSON décrivant le véhicule. Côté utilisateur, cela remplace une saisie manuelle de dix ou quinze champs par une seule information, que le client a sous les yeux ou sur sa carte grise.
Données techniques, et uniquement techniques
Il faut bien distinguer trois familles d'informations, souvent confondues :
| Famille | Exemples | Renvoyée par l'API plaque ? |
|---|---|---|
| Données techniques du véhicule | Marque, modèle, version, énergie, puissance, cylindrée, boîte, K-Type, dimensions des pneus | Oui, selon disponibilité |
| Historique du véhicule | Sinistres, kilométrage, contrôles techniques, changements de propriétaire | Non |
| Données personnelles du titulaire | Nom, adresse du propriétaire | Non |
Une recherche par plaque sert à identifier un modèle et sa configuration technique, pas à savoir à qui appartient la voiture ni ce qui lui est arrivé. Cette distinction compte pour la conformité au RGPD comme pour la promesse que vous faites à vos utilisateurs.
Les deux formats français à accepter
Deux systèmes cohabitent dans le parc :
- SIV (depuis 2009) : deux lettres, trois chiffres, deux lettres, par exemple
AB-123-CD. Les lettres I, O et U ne sont pas utilisées, pour éviter les confusions avec 1, 0 et V. - FNI (ancien système) : un numéro, des lettres puis le numéro de département, par exemple
1234 AB 75. Ces plaques circulent encore sur des véhicules qui n'ont pas changé de titulaire depuis 2009.
Pour comprendre la lecture d'une plaque en détail, voir notre article Comment lire une plaque d'immatriculation française ?.
L'appel à l'API, pas à pas
D'après la documentation de l'API plaque et notre référence technique, la recherche se fait par une requête GET sur l'endpoint /get-vehicule-info, avec le paramètre immatriculation. L'authentification passe par deux en-têtes RapidAPI : x-rapidapi-key (votre clé) et x-rapidapi-host.
curl --request GET \
--url 'https://api-plaque-immatriculation-siv.p.rapidapi.com/get-vehicule-info?immatriculation=AA123NC' \
--header 'x-rapidapi-host: api-plaque-immatriculation-siv.p.rapidapi.com' \
--header 'x-rapidapi-key: VOTRE_CLE_RAPIDAPI'La plaque AA123NC est celle de l'exemple publié dans la documentation. Le paramètre pays est facultatif et vaut FR par défaut.
Lire la réponse
La réponse est une enveloppe avec un objet data, un champ code_erreur et un champ message. Voici un extrait de la réponse d'exemple publiée pour cette plaque :
{
"data": {
"erreur": "",
"immat": "AA123NC",
"pays": "FR",
"marque": "PEUGEOT",
"modele": "207",
"version": "SW 1.6",
"energieNGC": "DIESEL",
"puisFisc": "5",
"puisFiscReelCH": "90 CH",
"boite_vitesse": "M",
"type_mine": "MPE5214TP747",
"k_type": "23388",
"vin": "VF3WE9HXC9W040029"
},
"api_version": "V1",
"message": "",
"code_erreur": 200
}Quelques remarques utiles pour l'intégration :
- Toutes les valeurs scalaires sont des chaînes, y compris la puissance fiscale ou le K-Type. Convertissez-les explicitement si vous faites des calculs.
- Certaines valeurs incluent leur unité (
"90 CH","1741 KG"). Ne les stockez pas telles quelles dans un champ numérique. - Un champ peut être vide (
"") quand l'information n'est pas disponible pour ce véhicule. Prévoyez un affichage neutre plutôt qu'une erreur. - Les pneus sont un tableau (
pneus) pouvant contenir plusieurs montes d'origine.
Les étapes d'une intégration propre
1. Normaliser la saisie
Les utilisateurs tapent ab-123-cd, AB 123 CD ou ab123cd. Mettez en majuscules et retirez espaces et tirets avant l'appel, et conservez la saisie d'origine pour l'affichage :
export function normalizeFrenchPlate(input) {
return input.toUpperCase().replace(/[\s-]/g, "");
}
// Format SIV uniquement : 2 lettres (sans I, O, U), 3 chiffres, 2 lettres.
export function looksLikeSiv(plate) {
return /^[A-HJ-NP-TV-Z]{2}\d{3}[A-HJ-NP-TV-Z]{2}$/.test(plate);
}Ce contrôle sert à prévenir l'utilisateur d'une faute de frappe évidente. Ne bloquez pas les plaques FNI : leur format est plus variable, mieux vaut laisser l'API trancher.
2. Appeler l'API depuis le serveur
La clé RapidAPI ne doit jamais apparaître dans le code envoyé au navigateur. Le navigateur appelle votre endpoint, qui lit la clé dans une variable d'environnement (RAPIDAPI_KEY par exemple) et relaie la requête. Fixez un délai d'expiration (une dizaine de secondes) pour ne pas bloquer votre interface.
3. Traiter les échecs
Vérifiez à la fois le statut HTTP, le champ code_erreur et le champ data.erreur. Notre référence liste les cas à prévoir : requête mal formée, clé invalide, véhicule introuvable, quota atteint, erreur temporaire. Chacun mérite un message différent : on ne dit pas « réessayez plus tard » à quelqu'un qui a tapé une plaque inexistante.
4. Garder la main de l'utilisateur
L'API préremplit, l'utilisateur valide. Affichez le résultat sous forme de fiche modifiable, surtout pour les champs critiques (version, motorisation). Si la plaque n'est pas trouvée, basculez vers une saisie manuelle ou une recherche par VIN plutôt que vers une impasse.
5. Mettre en cache raisonnablement
Les caractéristiques techniques d'un véhicule évoluent rarement. Un cache côté serveur, indexé sur la plaque normalisée, évite de consommer plusieurs requêtes quand un même client recharge la page.
Cas concret : un formulaire de devis d'entretien
Un site de réservation d'entretien demandait auparavant la marque, le modèle, l'année et la motorisation via quatre listes déroulantes. Les erreurs de motorisation étaient fréquentes, et le garage devait rappeler le client.
Avec une recherche par plaque, le parcours devient :
- le client saisit sa plaque ;
- le serveur appelle l'API et récupère
marque,modele,version,energieNGCetk_type; - le formulaire affiche « Peugeot 207 SW 1.6, diesel » avec un bouton « Ce n'est pas mon véhicule » ;
- le K-Type est transmis au catalogue de pièces pour proposer les bonnes références.
Le gain attendu est surtout qualitatif : moins d'allers-retours avec le client et des devis construits sur une identification cohérente. Mesurez-le sur vos propres données avant de l'annoncer.
Conclusion
Intégrer une API de plaque française tient en quelques lignes, mais une intégration robuste demande de normaliser la saisie, de protéger la clé côté serveur, de traiter chaque type d'échec et de laisser l'utilisateur corriger le résultat. Pour démarrer, la page de l'API de plaques d'immatriculation sur RapidAPI permet de souscrire et de tester vos premières requêtes. Si votre projet couvre aussi l'Espagne ou l'Italie, lisez ensuite notre guide sur la recherche multi-pays.
Testez l'API plaque d'immatriculation gratuitement
10 requêtes offertes chaque mois, sans engagement. Votre clé est disponible immédiatement sur RapidAPI.
FAQ
L'API renvoie-t-elle le nom du propriétaire du véhicule ?
Non. Elle renvoie des caractéristiques techniques. Le nom et l'adresse du titulaire sont des données personnelles qui ne font pas partie de la réponse.
Faut-il envoyer la plaque avec ou sans tirets ?
La documentation indique que les deux sont acceptés. Normaliser la saisie côté serveur (majuscules, sans espaces ni tirets) simplifie toutefois votre cache et vos journaux.
Les anciennes plaques FNI sont-elles prises en charge ?
Oui, l'API documente la prise en charge des formats SIV et FNI. Comme pour toute recherche, un résultat dépend des données disponibles pour le véhicule concerné.
Que faire si un champ revient vide ?
Un champ vide signifie que l'information n'est pas disponible pour ce véhicule. Affichez « non renseigné » et laissez l'utilisateur compléter si le champ est nécessaire à votre parcours.



