Zyla API Hub has several vehicle data APIs. They are not one product with ten names. They are different jobs: decode a 17-character VIN into manufacturer specs, resolve a license plate when you do not have the VIN, look up glass part numbers, or decode a motorcycle. This is a map of those approaches and the live endpoints.
The catalog is more than 10,000 public APIs. You subscribe per listing (monthly or annual, with an included quota). There is no Free Plan. Your first Hub API includes a 7-day free trial (up to 50 requests). First-level support intermediates with the provider. Listings that fail continuous monitoring are discontinued.
What a VIN decoder is — and is not
A VIN decode returns identity and specs: make, model, model year, engine, fuel, body class, plant. It is not a Carfax-style report. It does not return accidents, theft, title brands, or previous owners. That mismatch is the most common support ticket on these listings. If you need history, that is a different product family — not the VIN Decode and Vehicle Specs API.
US coverage is typically richer than Europe or world lookups. Several Hub listings share the same first-party decode backend. Pick the listing that matches the geography you subscribe for; do not subscribe to three clones for the same VIN.
1. VIN decode — choose a geography
The workhorse listing is the VIN Decoder API. One subscription, five endpoints:
- USA VIN Decoder — docs example VIN
JTMZ431V10D144875. Strongest spec coverage. - Europe VIN Decoder — docs example
WVWZZZAUZEW389248. - World VIN Decoder — same job, worldwide, thinner fields.
- VIN Decoder Lite — smaller payload (docs example
1C4NJPBB3FD398798). - Glass — OEM / aftermarket glass by VIN and part (see below).
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://zylalabs.com/api/74/vin-decoder-api/139/usa-vin-decoder?vin=JTMZ431V10D144875"
Official docs sample for that VIN (selected fields):
{
"Make": "TOYOTA",
"Manufacturer Name": "TOYOTA MOTOR CORPORATION",
"Model": "RAV4",
"Trim": "LE (X Grade)",
"Vehicle Type": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
"Body Class": "Sport Utility Vehicle [SUV]/Multipurpose Vehicle [MPV]",
"Doors": "5",
"Drive Type": "4x2",
"VIN": "JTMZ431V10D144875"
}
The same backend serves the Europe VIN Decoder API and the VIN Decode API.
If you only need Europe, subscribe to the Europe VIN Decoder API instead of the VIN Decoder API. Endpoints there: VIN Decoder (docs example WVWZZZ3BZWE689725), Lite, and Glass. The Europe path on the VIN Decoder API uses WVWZZZAUZEW389248; official docs sample:
{
"Make": "Volkswagen",
"Model": "Golf",
"Model year": "2012",
"Vehicle class": "Compact Car",
"Vehicle type": "Passenger car",
"Manufactured in": "Germany",
"Manufacturer": "Volkswagen AG",
"Number of doors": "5",
"Driveline": "2WD",
"VIN": "WVWZZZAUZEW389248"
}
VIN Decoder Lite is the smaller payload. Official docs sample for 1C4NJPBB3FD398798:
{
"vin": "1C4NJPBB3FD398798",
"country": "United states (usa)",
"manufacturer": "Jeep",
"model": "Patriot",
"class": "Sport Utility Vehicle (SUV)/Multi-Purpose Vehicle (MPV)",
"region": "North America",
"year": "2015"
}
2. First-party structured decode
The Vehicle Identification Decoder API is the clean government-data listing: one endpoint, one required query, no extra origin keys in the public contract.
Decode Vehicle Identification — official example vin=1HGCM82633A004352 (letters I, O, Q never appear). Documented fields: make, model, model year, manufacturer, vehicle type, body class, plant country, engine cylinders, fuel type, series, trim, doors, plus a validity verdict.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://zylalabs.com/api/13156/vehicle-identification-decoder-api/26702/decode-vehicle-identification?vin=1HGCM82633A004352"
Official docs sample:
{
"valid": true,
"vin": "1HGCM82633A004352",
"decoded": {
"vin": "1HGCM82633A004352",
"make": "HONDA",
"model": "Accord",
"model_year": "2003",
"manufacturer": "AMERICAN HONDA MOTOR CO., INC.",
"vehicle_type": "PASSENGER CAR",
"body_class": "Coupe",
"plant_country": "UNITED STATES (USA)",
"engine_cylinders": "6",
"fuel_type": "Gasoline",
"series": null,
"trim": "EX-V6",
"doors": "2"
},
"error_text": "0 - VIN decoded clean. Check Digit (9th position) is correct",
"source": "NHTSA vPIC (U.S. DOT, public domain)"
}
Use this when you want a single stable JSON shape. Use the VIN Decoder API or the Europe VIN Decoder API when you already depend on the USA / Europe / World / Lite split.
3. US-only decode, including motorcycles
The USA VIN Decoder API is the US-weighted listing: WorldWide Decoder, USA VIN Decoder, Motorcycle VIN Decoder, Lite, and Glass.
Dedicated bike listings also exist — the Motorcycle VIN Decoder API — if two-wheelers are the only traffic you will send.
4. Glass by VIN
Several decode listings expose a Glass endpoint: pass the VIN and a parts value (windshield, rear_window, driver_side_window, passenger_side_window, rear_left_window, rear_right_window, sunroof, moonroof). Response is OEM and aftermarket part numbers and fitment — not a decode of make/model.
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://zylalabs.com/api/74/vin-decoder-api/26619/glass?vin=WVWZZZAUZEW389248&parts=windshield"
Official docs sample:
{
"vin": "WVWZZZAUZEW389248",
"make": "Volkswagen",
"model": "Golf",
"year": "2012",
"glass": {
"windshield": [
{
"oem_part_number": "5K0845011",
"aftermarket_part_number": "FY2847",
"glass_type": "Laminated Safety Glass",
"features": "Green tinted, UV protection, compatible with rain sensor, antenna embedded"
}
]
},
"match": "candidates"
}
Same parts enum on the Glass endpoint of the Europe VIN Decoder API and on the plate-to-VIN listings below.
5. License plate → vehicle (when you do not have the VIN)
Different countries, different contracts. Do not send a French plaque to a US plate API.
- Get VIN from License Plate API — US Only — 50 states. Call Get States first (state strings must match that list), then Get VIN Details. Docs example:
license_plate=8UZS701,state=california. - France License Plate API — Official SIV — one endpoint, query
plaque(docs exampleFH034DD). Official French registration (SIV), not a US VIN decode. - Italy License Plate Lookup API — plate in, vehicle file out. Subscribe only if Italy is the job.
- Australia Rego Validator API — registration + state → vehicle details. Stays on the Hub as its own listing (rego, not a 17-character VIN).
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://zylalabs.com/api/87/get-vin-from-license-plate-api-us-only/143/get-vin-details?license_plate=8UZS701&state=california"
Official docs sample (selected fields):
{
"Make": "AUDI",
"Model": "SQ7",
"Model Year": "2021",
"VIN": "WA1AWBF75MD010938",
"License Plate": "8UZS701",
"Drive Type": "AWD/All-Wheel Drive",
"Doors": "4",
"Number of Seats": "7"
}
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://zylalabs.com/api/6418/france-license-plate-api-official-siv-vehicle-data/9216/identify-french-vehicle-by-license-plate?plaque=FH034DD"
Official docs sample (SIV has many more fields; these are the identity ones):
{
"code": 200,
"country": "FR",
"query": "FH034DD",
"error": false,
"message": "Succès",
"data": {
"AWN_VIN": "VF1R9800962986572",
"AWN_immat": "FH034DD",
"AWN_marque": "RENAULT",
"AWN_modele": "CLIO",
"AWN_label": "CLIO IV PHASE 2 - 5P 2016-08->2020-03",
"AWN_version": "1.5 DCI 90 TREND",
"AWN_energie": "GAZOLE",
"AWN_carrosserie": "BERLINE",
"AWN_date_mise_en_circulation": "20-06-2019"
}
}
How to pick
- You have a VIN and need specs. The Vehicle Identification Decoder API for one structured decode, or the VIN Decoder API if you want USA / Europe / World / Lite / Glass on one key.
- Europe-only VIN traffic. The Europe VIN Decoder API.
- You have a plate, not a VIN. The Get VIN from License Plate API — US Only, the France License Plate API — Official SIV, the Italy License Plate Lookup API, or the Australia Rego Validator API.
- Windshield / glass parts. Glass on the decode listing you already subscribe to — do not add a second decode API just for
parts=windshield. - Motorcycles only. The Motorcycle VIN Decoder API, or the motorcycle endpoint on the USA VIN Decoder API.
- Accidents, theft, title. None of the listings above. Do not trial a decoder expecting a history report.
PHP: USA decode
$vin = 'JTMZ431V10D144875';
$ch = curl_init('https://zylalabs.com/api/74/vin-decoder-api/139/usa-vin-decoder?vin=' . rawurlencode($vin));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('ZYLA_API_KEY')],
]);
$json = curl_exec($ch);
curl_close($ch);
$car = json_decode($json, true);
echo ($car['Make'] ?? '') . ' ' . ($car['Model'] ?? '') . ' ' . ($car['Trim'] ?? '');
Create a Hub account, subscribe to one listing, and call the endpoint that matches the identifier you actually have — VIN, US plate, or foreign plaque.