Fahrzeug-API in Python, JavaScript und cURL integrieren
Veroffentlicht am 19. Marz 2026 ยท 8 Min. Lesezeit
Die Integration einer Fahrzeugdaten-API in Ihre Anwendung dauert nur wenige Minuten. In diesem Artikel zeigen wir Ihnen, wie Sie die AutomotivAPI in Python, JavaScript (Node.js) und cURL aufrufen, mit konkreten Beispielen fur Authentifizierung, API-Aufrufe und Fehlerbehandlung.
Voraussetzungen
Bevor Sie beginnen, benotigen Sie:
- Ein aktives AutomotivAPI-Konto โ registrieren Sie sich hier
- Ihren API-Schlussel (verfugbar in Ihrem Kundenbereich nach Aktivierung)
- Eine Entwicklungsumgebung mit Python 3.x, Node.js 16+ oder ein Terminal fur cURL
Authentifizierung
Alle Anfragen an die AutomotivAPI werden uber einen Authorization-Header vom Typ Bearer authentifiziert. Ihr API-Schlussel muss bei jeder Anfrage ubermittelt werden:
Authorization: Bearer IHR_API_SCHLUESSEL
Teilen Sie Ihren API-Schlussel niemals in offentlichem Quellcode (GitHub, GitLab). Verwenden Sie Umgebungsvariablen, um den Schlussel sicher zu speichern.
Beispiel 1: VIN-Dekodierung mit cURL
cURL ist das einfachste Werkzeug, um die API von einem Terminal aus zu testen:
curl -X POST https://api.automotivapi.com/v1/vin/decode \
-H "Authorization: Bearer IHR_API_SCHLUESSEL" \
-H "Content-Type: application/json" \
-d '{"vin": "VF1RFA00867123456"}'
Die Antwort ist ein JSON-Objekt mit der vollstandigen Fahrzeugidentifikation: Marke, Modell, Ausstattung, Motorisierung, Ausstattungsmerkmale und technische Daten.
Beispiel 2: Kennzeichensuche mit Python
Mit Python und der Bibliothek requests:
import os
import requests
API_KEY = os.environ.get("AUTOMOTIVAPI_KEY")
BASE_URL = "https://api.automotivapi.com/v1"
def lookup_plate(plate: str) -> dict:
"""Sucht ein Fahrzeug anhand seines Kennzeichens."""
response = requests.post(
f"{BASE_URL}/plate/lookup",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json={"plate": plate},
timeout=10,
)
response.raise_for_status()
return response.json()
# Anwendungsbeispiel
try:
vehicle = lookup_plate("AB-123-CD")
print(f"Marke: {vehicle['brand']}")
print(f"Modell: {vehicle['model']}")
print(f"VIN: {vehicle['vin']}")
except requests.exceptions.HTTPError as e:
print(f"API-Fehler: {e.response.status_code}")
except requests.exceptions.Timeout:
print("Die Anfrage ist abgelaufen")
Beispiel 3: VIN-Dekodierung mit JavaScript (Node.js)
Mit Node.js und der nativen fetch-API (verfugbar seit Node 18):
const API_KEY = process.env.AUTOMOTIVAPI_KEY;
const BASE_URL = 'https://api.automotivapi.com/v1';
async function decodeVin(vin) {
const response = await fetch(`${BASE_URL}/vin/decode`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ vin }),
});
if (!response.ok) {
throw new Error(`API-Fehler: ${response.status}`);
}
return response.json();
}
// Anwendungsbeispiel
try {
const vehicle = await decodeVin('VF1RFA00867123456');
console.log(`Marke: ${vehicle.brand}`);
console.log(`Modell: ${vehicle.model}`);
console.log(`Ausstattung: ${vehicle.trim}`);
} catch (error) {
console.error(error.message);
}
Fehlerbehandlung
Die API gibt Standard-HTTP-Codes zuruck. Hier die gebrauchlichsten:
200โ Erfolg, das Fahrzeug wurde identifiziert400โ Ungultige Anfrage (VIN falsch formatiert, falsches Kennzeichen)401โ Ungultiger oder fehlender API-Schlussel404โ Fahrzeug nicht in der Datenbank gefunden429โ Rate-Limit uberschritten500โ Interner Serverfehler
Im Fehlerfall enthalt der Antwortkorper ein JSON-Objekt mit einem error-Feld, das das Problem beschreibt:
{
"error": {
"code": "INVALID_VIN",
"message": "Die angegebene VIN entspricht nicht dem erwarteten Format (17 alphanumerische Zeichen)."
}
}
Best Practices
Umgebungsvariablen verwenden
Speichern Sie Ihren API-Schlussel in einer Umgebungsvariablen (AUTOMOTIVAPI_KEY) statt im Quellcode. So vermeiden Sie versehentliche Veroffentlichungen bei einem Commit.
Retry-Mechanismus implementieren
Bei Fehler 429 (Rate-Limiting) oder 500 (Serverfehler) implementieren Sie einen Retry mit exponentiellem Backoff. Warten Sie 1 Sekunde vor dem ersten Retry, 2 Sekunden vor dem zweiten, 4 Sekunden vor dem dritten, dann brechen Sie ab.
Ergebnisse cachen
Fahrzeugdaten andern sich selten. Wenn Sie dieselbe VIN mehrfach dekodieren, cachen Sie das Ergebnis (Redis, Speicher, lokale Datenbank), um Credits zu sparen und die Performance zu verbessern.
Eingaben validieren
Validieren Sie das VIN-Format (17 alphanumerische Zeichen, ohne I, O, Q) oder das Kennzeichenformat clientseitig vor dem Senden der Anfrage. So vermeiden Sie den Verbrauch von Credits fur Anfragen, die systematisch fehlschlagen.
Fur weiterfuhrende Informationen lesen Sie unsere vollstandige technische Dokumentation und unseren Artikel uber die Architektur einer automobilen REST-API.