Comprehensive documentation for integrating our vehicle data API with your applications
L'API de recherche VIN d'Autoref permet d'accéder à des informations complètes sur les véhicules en interrogeant différents identifiants tels que le VIN (Numéro d'Identification du Véhicule), les numéros d'homologation UE et les codes d'homologation suisses.
Notre API est conçue pour s'intégrer facilement à vos applications, offrant des spécifications techniques détaillées, des données environnementales et des documents officiels sur les véhicules.
Pour utiliser l'API Autoref, vous aurez besoin d'une clé API. Toutes les requêtes doivent inclure votre clé API comme paramètre d'en-tête.
Vous n'avez pas de clé API ? Contactez-nousX-API-Key: your_api_key_hereToutes les requêtes API doivent être effectuées à l'URL de base suivante :
https://api.autoref.euToutes les réponses sont retournées au format JSON. Les réponses réussies incluent un code d'état 200 OK.
{
"success": true,
"data": [{
"id": 55411,
"VIN": "WBA11AL010",
"BRAND": "BMW",
"BRAND_MODEL": "BMW M235I XDRIVE",
"MODEL": "M235i",
"MODEL2": "xDrive",
"MODEL3": null,
"POWER_KW": 225.0,
"POWER_DIN": 306.0,
"FUEL": "Gasoline",
"DATE_FIRST_CIRCULATION": 2020,
"RECORD_TYPE": "TG"
}]
}Lorsque des erreurs se produisent, l'API renvoie un code d'état HTTP approprié et un message d'erreur.
{
"success": false,
"error": "not_found",
"message": "Vehicle not found"
}Les limites de taux de l'API s'appliquent en fonction de votre forfait d'abonnement. Consultez la section Tarification pour plus de détails sur les limites de requêtes pour votre niveau.
Our API offers several endpoints to query vehicle information using different identifiers.
Récupérer les informations du véhicule par VIN (Numéro d'Identification du Véhicule).
| Paramètre | Type | Description |
|---|---|---|
| vin | string | Le VIN (Numéro d'Identification du Véhicule) du véhicule. Minimum 10 caractères. |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| lang | string | en | Code de langue pour les réponses localisées (en, fr, de, es, it) |
curl -X GET "https://api.autoref.eu/vehicles/WBA11AL0101234567" \
-H "X-API-Key: your_api_key_here"[
{
"id": 55411,
"VIN": "WBA11AL010",
"BRAND": "BMW",
"BRAND_MODEL": "BMW M235I XDRIVE",
"MODEL_COC": null,
"VARIANT": null,
"VERSION": null,
"MODEL": "M235i",
"MODEL2": "xDrive",
"MODEL3": null,
"POWER_KW": 225.0,
"POWER_DIN": 306.0,
"FUEL": "Essence",
"DATE_FIRST_CIRCULATION": 2020,
"RECORD_TYPE": "TG"
}
]| Champ | Type | Description |
|---|---|---|
| id | integer | Identifiant unique pour l'enregistrement du véhicule |
| VIN | string | Numéro d'Identification du Véhicule |
| BRAND | string | Fabricant du véhicule |
| BRAND_MODEL | string | Nom complet du modèle incluant la marque |
| MODEL | string | Nom du modèle principal |
| MODEL2 | string | Identifiant de modèle secondaire |
| MODEL3 | string | Identifiant de modèle tertiaire |
| POWER_KW | number | Puissance du moteur en kilowatts |
| POWER_DIN | number | Puissance du moteur en chevaux (CH) |
| FUEL | string | Type de carburant (Essence, Diesel, Électrique, etc.) |
| DATE_FIRST_CIRCULATION | integer | Année de première immatriculation |
| RECORD_TYPE | string | Type de base de données source (TG, OC, OLD, X) |
Récupérer des informations pour les véhicules antérieurs à 1981 en utilisant un format de VIN/numéro de châssis plus court ainsi que le nom de la marque.
| Paramètre | Type | Description |
|---|---|---|
| vin | string | Le VIN ancien ou numéro de châssis du véhicule. |
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| brand | string | Yes | Le fabricant du véhicule (par exemple, PORSCHE, BMW, MERCEDES-BENZ) |
| lang | string | No | Code de langue pour les réponses localisées (en, fr, de, es, it) |
curl -X GET "https://api.autoref.eu/legacy-vehicles/9119311194?brand=PORSCHE&lang=en" \
-H "X-API-Key: your_api_key_here"[
{
"id": 11580,
"VIN": "9119311",
"BRAND": "PORSCHE",
"BRAND_MODEL": "PORSCHE 911 SC 3,0 TARGA",
"MODEL_COC": null,
"VARIANT": null,
"VERSION": null,
"MODEL": "911",
"MODEL2": "SC",
"MODEL3": "3,0 Targa",
"POWER_KW": 132.4,
"POWER_DIN": 180.0,
"FUEL": "Gasoline",
"DATE_FIRST_CIRCULATION": 1979,
"RECORD_TYPE": "OLD"
},
{
"id": 11581,
"VIN": "9119311",
"BRAND": "PORSCHE",
"BRAND_MODEL": "PORSCHE 911 SC 3.0",
"MODEL_COC": null,
"VARIANT": null,
"VERSION": null,
"MODEL": "911",
"MODEL2": "SC",
"MODEL3": "3.0",
"POWER_KW": 132.0,
"POWER_DIN": 179.0,
"FUEL": "Gasoline",
"DATE_FIRST_CIRCULATION": 1979,
"RECORD_TYPE": "OLD"
}
]Mêmes champs que la réponse de recherche VIN, avec les différences suivantes :
| Champ | Description |
|---|---|
| RECORD_TYPE | Sera "OLD" pour les véhicules anciens |
Les véhicules antérieurs à 1981 n'avaient pas de VIN standardisés. Pour des résultats précis :
Récupérer les véhicules par leur numéro d'homologation UE.
| Paramètre | Type | Description |
|---|---|---|
| approval | string | Numéro d'homologation UE (par exemple, e1*2007/46*2064*07) |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| lang | string | en | Code de langue pour les réponses localisées (en, fr, de, es, it) |
curl -X GET "https://api.autoref.eu/vehicles-by-approval/e1*2007/46*2064*07?lang=en" \
-H "X-API-Key: your_api_key_here"[
{
"id": 55424,
"VIN": "WBA11AL010",
"BRAND": "BMW",
"BRAND_MODEL": "BMW M235I XDRIVE",
"MODEL_COC": null,
"VARIANT": null,
"VERSION": null,
"MODEL": "M235i",
"MODEL2": "xDrive",
"MODEL3": null,
"POWER_KW": 225.0,
"POWER_DIN": 306.0,
"FUEL": "Gasoline",
"DATE_FIRST_CIRCULATION": 2023,
"RECORD_TYPE": "TG"
}
]Les numéros d'homologation UE suivent ce format : e1*2007/46*2064*07
e1 : Code du pays où l'homologation a été délivrée (e1 = Allemagne)2007/46 : Numéro de directive-cadre2064 : Numéro d'homologation de base07 : Numéro d'extensionMêmes champs que la réponse de recherche VIN.
Récupérer des données complètes sur le véhicule par code d'homologation suisse (code TG).
| Paramètre | Type | Description |
|---|---|---|
| tgcode | string | Code d'homologation suisse (par exemple, 1BC170) |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| lang | string | en | Code de langue pour les réponses localisées (en, fr, de, es, it) |
curl -X GET "https://api.autoref.eu/vehicle/tgcode/1BC170?lang=en" \
-H "X-API-Key: your_api_key_here"{
"VIN_INFO": {
"id": 55424,
"VIN": "WBA11AL010",
"BRAND": "BMW",
"BRAND_MODEL": "BMW M235I XDRIVE",
"POWER_KW": 225.0,
"POWER_DIN": 306.0,
"GEARBOX": ["Manual"],
"CATEGORY": "M1",
"TYPE_VEHICLE": "Passenger car",
"MODEL_FULL": "M235i xDrive",
"MODEL": "M235i",
"MODEL2": "xDrive",
"BODY": "Coupe",
"COLOR": "Black",
"FUEL": "Gasoline",
"DRIVETRAIN": "All-wheel drive",
"DATE_FIRST_CIRCULATION": "2020-05-12"
},
"SPECS": {
"TGCODE": "1BC170",
"DATE_REGISTRAR_START": "2019-03-15",
"DATE_REGISTRAR_END": "2025-12-31",
"CATEGORY": "M1",
"TVV": ["WBA11AL010"],
"MANUFACTURER": "BMW AG, Munich",
"VIN_LOCATION": "lower right windshield, driver's door pillar",
"AXLES_WHEELS": "2/4",
"SUSPENSION_TYPE": "coil springs, shock absorbers",
"STEERING_TYPE": "rack and pinion, electric assistance",
"BRAKE_TYPE": "discs/discs",
"WEIGHT_EMPTY_MIN_MAX": "1655 - 1740",
"LENGTH_MIN_MAX": "4454 - 4454",
"WIDTH_MIN_MAX": "1774 - 1774",
"HEIGHT_MIN_MAX": "1408 - 1408"
},
"CONSUMPTION": [
{
"COMBINED_CONSUMPTION": 7.8,
"COMBINED_CONSUMPTION_WLTP": 8.2,
"URBAN_CONSUMPTION": 10.4,
"COMBINED_CO2_EMISSIONS": 192,
"COMBINED_CO2_EMISSIONS_WLTP": 188,
"ENERGY_EFFICIENCY_CATEGORY": "G"
}
],
"EMISSION": [
{
"COMBINED_CO2_EMISSIONS": 192,
"COMBINED_CO2_EMISSIONS_WLTP": 188,
"NOISE_DRIVING": 72,
"CODE_SWISS_EMISSION": "A7M",
"CATALIZER": true,
"PARTICLE_FILTER": false
}
],
}Contrairement aux autres points de terminaison, celui-ci renvoie un enregistrement de véhicule beaucoup plus détaillé avec plusieurs sections :
| Section | Description |
|---|---|
| VIN_INFO | Informations d'identification de base du véhicule |
| SPECS | Spécifications techniques détaillées issues de l'homologation de type |
| CONSUMPTION | Données de consommation de carburant dans différents cycles d'essai |
| EMISSION | Données d'émissions pour divers polluants |
| URL facultative vers la documentation PDF si disponible |
Récupérer des données complètes sur le véhicule par type d'enregistrement et ID.
| Paramètre | Type | Description |
|---|---|---|
| record_type | string | Type de base de données source (TG, OC, OLD, X) |
| id | integer | L'identifiant unique de l'enregistrement du véhicule |
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| lang | string | en | Code de langue pour les réponses localisées (en, fr, de, es, it) |
curl -X GET "https://api.autoref.eu/vehicle/TG/55424?lang=en" \
-H "X-API-Key: your_api_key_here"Le format de réponse est similaire au point de terminaison du code TG, avec des informations détaillées sur le véhicule organisées en sections.
Récupérer une liste de toutes les marques de véhicules disponibles dans la base de données.
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| lang | string | en | Code de langue pour les réponses localisées (en, fr, de, es, it) |
curl -X GET "https://api.autoref.eu/vehicle-brands" \
-H "X-API-Key: your_api_key_here"[
...
{
"id": 490,
"brand": "ALFA ROMEO"
},
{
"id": 551,
"brand": "AUDI"
},
{
"id": 23,
"brand": "BMW"
},
{
"id": 279,
"brand": "CHEVROLET"
},
...
]| Champ | Type | Description |
|---|---|---|
| name | string | Nom complet de la marque |
| code | string | Code de la marque (généralement 3 lettres) |
| country | string | Code pays ISO d'origine du fabricant |
L'API utilise des codes d'état HTTP standard pour indiquer le succès ou l'échec des requêtes. Voici les réponses d'erreur courantes que vous pourriez rencontrer :
| Code d'état | Type d'erreur | Description |
|---|---|---|
| 400 | Requête incorrecte | La requête était invalide ou manquait de paramètres requis |
| 401 | Non autorisé | La clé API est manquante ou invalide |
| 403 | Interdit | La clé API est valide mais ne dispose pas des autorisations pour la ressource demandée |
| 404 | Non trouvé | Le véhicule ou la ressource spécifiée n'a pas été trouvé(e) |
| 429 | Trop de requêtes | Limite de taux dépassée pour votre forfait |
| 500 | Erreur interne du serveur | Une erreur inattendue s'est produite sur le serveur |
{
"success": false,
"error": "not_found",
"message": "Vehicle not found for VIN: WBA11AL010XXXXXX"
}Les requêtes API sont soumises à une limitation de débit basée sur votre forfait d'abonnement. Lorsque vous dépassez votre limite de débit, vous recevrez une réponse 429 Trop de requêtes.
{
"success": false,
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded. Please upgrade your plan or try again later.",
"reset_at": "2025-04-11T12:30:15Z"
}Notre API propose plusieurs niveaux d'abonnement pour répondre à différents besoins d'utilisation. Chaque forfait a des limites de taux et des fonctionnalités spécifiques.
0 €/mois
29 €/mois
99 €/mois
Si vous avez besoin de limites de taux plus élevées ou de fonctionnalités personnalisées, veuillez contacter notre équipe commerciale pour un forfait Entreprise adapté à vos besoins.
Contacter l'équipe commercialeActuellement, les clés API sont fournies sur demande via notre formulaire de contact. Remplissez simplement le formulaire de contact avec les détails de votre cas d'utilisation, et notre équipe vous répondra par email avec votre clé API unique et des instructions de configuration. Ce processus manuel nous permet de fournir une assistance personnalisée pour chaque intégration.
Notre API propose plusieurs méthodes pour rechercher des informations sur les véhicules :
Chaque méthode donne accès à différents niveaux de détail. Les recherches par code TG et par homologation de type fournissent généralement les données techniques les plus complètes.
Nos données de véhicules proviennent directement des bases de données d'homologation gouvernementales officielles et des homologations de type des fabricants, offrant une précision significativement plus élevée que les décodeurs VIN typiques qui utilisent souvent des algorithmes pour interpréter les modèles VIN.
Pour les véhicules européens et suisses, nous fournissons des spécifications précises telles que soumises par les fabricants aux autorités réglementaires. Pour les véhicules anciens, l'exhaustivité des données peut varier en fonction des archives historiques disponibles.
L'API prend en charge plusieurs langues pour les réponses localisées. Langues actuellement prises en charge :
en - Anglais (par défaut)fr - Françaisde - Allemandes - Espagnolit - ItalienSpécifiez votre langue préférée en utilisant le lang paramètre de requête avec n'importe quelle requête API.
Toutes les réponses de l'API incluent des codes d'état HTTP qui indiquent le succès ou l'échec de la requête. Pour les erreurs, nous fournissons également une réponse JSON structurée avec :
success: Toujours false pour les réponses d'erreurerror: Un code d'erreur lisible par machinemessage: Une description lisible par l'homme de ce qui s'est mal passéNous recommandons d'implémenter une gestion appropriée des erreurs dans votre code pour gérer avec élégance différents types d'erreurs, en particulier les erreurs "not_found" pour les recherches VIN et les réponses de limitation de débit.
Si vous ne trouvez pas la réponse à votre question ici, notre équipe de support est prête à vous aider.
Voici quelques exemples de code pour vous aider à intégrer notre API à votre application dans différents langages de programmation.
// Example using fetch in Node.js (with node-fetch package)
const fetch = require('node-fetch');
async function getVehicleByVin(vin) {
try {
const response = await fetch(`https://api.autoref.eu/vehicles/${vin}`, {
headers: {
'X-API-Key': 'your_api_key_here'
}
});
if (!response.ok) {
const errorData = await response.json();
throw new Error(errorData.message || 'Failed to fetch vehicle data');
}
const data = await response.json();
return data;
} catch (error) {
console.error('Error fetching vehicle data:', error);
throw error;
}
}
// Usage
getVehicleByVin('WBA11AL010')
.then(data => console.log(data))
.catch(error => console.error(error));import requests
def get_vehicle_by_vin(vin, api_key, lang='en'):
"""
Fetch vehicle data by VIN
Args:
vin: Vehicle Identification Number
api_key: Your API key
lang: Language code for response (en, fr, de, es, it)
Returns:
Dictionary with vehicle data
"""
url = f"https://api.autoref.eu/vehicles/{vin}"
headers = {
"X-API-Key": api_key
}
params = {
"lang": lang
}
response = requests.get(url, headers=headers, params=params)
# Check for errors
if response.status_code != 200:
try:
error_data = response.json()
error_message = error_data.get('message', 'Unknown error')
except:
error_message = f"HTTP Error: {response.status_code}"
raise Exception(f"API Error: {error_message}")
return response.json()
# Usage
try:
api_key = "your_api_key_here"
vehicle_data = get_vehicle_by_vin("WBA11AL010", api_key)
print(vehicle_data)
except Exception as e:
print(f"Error: {e}")<?php
/**
* Function to fetch vehicle data by VIN
*
* @param string $vin Vehicle Identification Number
* @param string $apiKey Your API key
* @param string $lang Language code for response
*
* @return array|null Vehicle data or null on error
*/
function getVehicleByVin($vin, $apiKey, $lang = 'en') {
$url = "https://api.autoref.eu/vehicles/" . urlencode($vin) . "?lang=" . urlencode($lang);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: ' . $apiKey
]);
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($statusCode !== 200) {
$errorData = json_decode($response, true);
$errorMessage = isset($errorData['message']) ? $errorData['message'] : 'Unknown error';
error_log("API Error ($statusCode): $errorMessage");
return null;
}
return json_decode($response, true);
}
// Usage
$apiKey = 'your_api_key_here';
$vehicleData = getVehicleByVin('WBA11AL010', $apiKey);
if ($vehicleData) {
print_r($vehicleData);
} else {
echo "Failed to retrieve vehicle data";
}
?>import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
public class VinLookupExample {
private static final String API_BASE_URL = "https://api.autoref.eu";
private static final String API_KEY = "your_api_key_here";
public static void main(String[] args) {
try {
String vin = "WBA11AL010";
String vehicleData = getVehicleByVin(vin);
System.out.println(vehicleData);
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
public static String getVehicleByVin(String vin) throws Exception {
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(API_BASE_URL + "/vehicles/" + vin))
.header("X-API-Key", API_KEY)
.GET()
.build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
if (response.statusCode() != 200) {
throw new Exception("API Error: HTTP " + response.statusCode() + " - " + response.body());
}
return response.body();
}
}Intégrez notre puissante API de données de véhicules à vos applications dès aujourd'hui et accédez à des spécifications techniques complètes pour des millions de véhicules.