You have a VIN on hand and need to turn it into structured vehicle data you can use in your app this week. By the end of this guide, you’ll make authenticated requests to the VIN Decode API on Zyla API Hub from curl and Node.js, retrieve decoded vehicle specs, and optionally fetch glass part candidates by VIN.
What the VIN Decode API does
The VIN Decode API returns structured information for a vehicle associated with a VIN, including make, model, model year, body style, drivetrain, engine specs, and more. Typical use cases include:
- Service intake and parts lookup
- Fleet asset verification and records enrichment
- E‑commerce fitment and compatibility checks
There’s also a glass endpoint that retrieves detailed glass information by VIN and part type, including OEM and aftermarket part numbers, specifications, features, and fitment candidates.
You can explore the listing on Zyla API Hub here: VIN Decode API. Zyla is a marketplace with more than 10,000 public APIs across categories like finance, data enrichment, AI, geolocation, e‑commerce, and utilities. One account, one key, one subscription model for every API you subscribe to.
Getting started on Zyla API Hub
To call the API, you’ll need an API key from Zyla API Hub:
- Open the VIN Decode API page.
- Click Subscribe or Start Free Trial when available. The marketplace uses a subscription plus quota model (not pay‑per‑call). For this API, you can expect either a 7‑day trial or 50 requests to start; check the API page for current access options and pricing.
- Copy your API key from your dashboard.
All requests are authenticated with the HTTP header Authorization: Bearer YOUR_API_KEY. You can browse additional APIs at zylalabs.com and create an account here: Register.
Endpoints you can call
1) Decode
Method: GET
URL: https://zylalabs.com/api/6580/vin-decode-api/14977/decode
Description: Pass the VIN number that you want to check and receive its information.
Parameters: No request parameters are documented for this endpoint. Authenticate with your API key using the Authorization header.
Official curl example (copy/paste as-is):
curl -s -X GET "https://zylalabs.com/api/6580/vin-decode-api/14977/decode" \
-H "Authorization: Bearer YOUR_API_KEY"
Official JSON example response:
{
"VIN": "JTEBU14RX30013995",
"Manufacturer": "Toyota Motor Corp",
"Adress line 1": "1 Toyota-cho Toyota -Shi",
"Adress line 2": "471-8571 Aichi-Ken",
"Region": "Asia",
"Country": "Japan",
"Note": "Manufacturer builds more than 500 vehicles per year",
"Entered VIN": "JTEBU14RX30013995",
"Corrected VIN": "JTEBU14RX30013995",
"Squish VIN": "JTEBU14R30",
"WMI": "JTE",
"VIS identifier": "N/A",
"VDS": "BU14RX30",
"Year identifier": "3",
"Serial number": "013995",
"VIN type": "normal",
"Check digit": "valid",
"Make": "Toyota",
"Model": "4Runner",
"Model year": "2003",
"Body style": "4 Doors SUV",
"Engine type": "V6",
"Fuel type": "Gasoline",
"Transmission": "Automatic",
"Manufactured in": "Japan",
"Body type": "SUV",
"Number of doors": "4",
"Number of seats": "5",
"Displacement SI": "3998",
"Displacement CID": "244",
"Displacement Nominal": "4.0",
"Engine head": "DOHC",
"Engine valves": "24",
"Engine cylinders": "6",
"Engine aspiration": "Naturally",
"Compression ratio": "10.0",
"Engine HorsePower": "245",
"Engine KiloWatts": "183",
"Automatic gearbox": "4AT",
"MPG city": "15-17",
"MPG highway": "19-21",
"Driveline": "4WD",
"Anti-Brake System": "4-Wheel ABS",
"Front brake type": "Disc",
"Rear brake type": "Drum",
"Front suspension": "Independent",
"Rear suspension": "Live",
"Front spring type": "Coil",
"Rear spring type": "Coil",
"Tire front": "265/70R16",
"Tire rear": "265/70R16",
"GVWR range": "5001-6000"
}
What you’ll usually read from this payload:
- Make, Model, Model year, Body style, Body type
- Engine type, cylinders, displacement, horsepower, fuel type
- Transmission, driveline, brake and suspension details
- Check digit and WMI/VDS segments for validation logic
2) Glass
Method: GET
URL: https://zylalabs.com/api/6580/vin-decode-api/26921/glass
Description: Retrieve detailed vehicle glass information by VIN, including OEM and aftermarket part numbers, specifications, features, and fitment for every glass component.
Parameters:
- vin (string, required): JTEBU14RX30013995
- parts (string, required): windshield
Official curl example (copy/paste as-is):
Official JSON example response:
What you’ll usually read from this payload:
- OEM and aftermarket part numbers for specific glass components
- Features and material specs to decide fitment and ordering
- Disclaimer indicating candidates should be verified before ordering
Your first Node.js call
Below is a minimal Node.js example using native fetch (Node 18+). It shows how to call the Decode endpoint, check for an HTTP error, and read commonly used fields from the JSON response. No request parameters are documented for this endpoint—the authentication header is required.
import fetch from "node-fetch";
const API_KEY = "YOUR_API_KEY";
async function decodeVin() {
const url = "https://zylalabs.com/api/6580/vin-decode-api/14977/decode";
const res = await fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
},
// Consider short timeouts/retries in production; keep minimal here for clarity.
});
if (!res.ok) {
const text = await res.text();
throw new Error(`VIN Decode API error: ${res.status} ${res.statusText} - ${text}`);
}
const data = await res.json();
// Pull out fields your app likely needs.
const summary = {
vin: data["VIN"],
make: data["Make"],
model: data["Model"],
year: data["Model year"],
bodyType: data["Body type"],
engine: {
type: data["Engine type"],
cylinders: data["Engine cylinders"],
horsepower: data["Engine HorsePower"],
displacementSi: data["Displacement SI"]
},
transmission: data["Transmission"],
driveline: data["Driveline"]
};
console.log("Decoded summary:", summary);
}
decodeVin().catch(err => {
console.error(err);
process.exit(1);
});
Node.js call for Glass
This sample uses the documented query parameters vin and parts. It prints OEM and aftermarket part numbers for the requested glass component.
import fetch from "node-fetch";
const API_KEY = "YOUR_API_KEY";
async function getGlassCandidates() {
const url = "https://zylalabs.com/api/6580/vin-decode-api/26921/glass?vin=JTEBU14RX30013995&parts=windshield";
const res = await fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
}
});
if (!res.ok) {
const text = await res.text();
throw new Error(`Glass API error: ${res.status} ${res.statusText} - ${text}`);
}
const data = await res.json();
const components = data.glass?.windshield || [];
for (const c of components) {
console.log({
oem: c.oem_part_number,
aftermarket: c.aftermarket_part_number,
type: c.glass_type,
features: c.features
});
}
}
getGlassCandidates().catch(err => {
console.error(err);
process.exit(1);
});
Practical details that save time
- Authentication: Always send Authorization: Bearer YOUR_API_KEY. Do not place the key in a query parameter.
- Caching: VINs are static identifiers for a specific vehicle configuration. Cache decoded results keyed by VIN to reduce calls and improve latency on repeated lookups.
- Error handling: Log non-2xx responses and the response body to aid debugging. Keep sensitive keys out of logs.
- Rate and quota: Zyla APIs use subscription with quotas (not pay‑per‑call). For this API, first access typically includes a 7‑day trial or 50 requests. Check the listing for current details.
- Data use: When using glass candidate data, note the disclaimer in the response and verify part numbers against OEM/aftermarket catalogs before ordering.
Real‑world integration patterns
- Service scheduling: Scan or input a VIN at check‑in, call Decode to get model year, engine type, and driveline, then auto‑populate the repair order with the correct spec sheet.
- Parts e‑commerce: Use Decode to pre‑filter compatible parts. For glass products, call the Glass endpoint with vin and parts to display candidate part numbers and specs on PDPs.
- Fleet enrichment: Ingest VINs from telematics or titles and backfill attributes like displacement, horsepower, and GVWR range to improve routing and maintenance planning.
Call the API from AI agents via MCP
Every API on Zyla API Hub can also be called from AI agents (Claude Code, Cursor, Windsurf, and any MCP‑compatible client) via the MCP endpoint. Point your client to:
https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
Refer to the MCP docs here: MCP. Once configured, your agent can invoke the same VIN Decode API tools using your Zyla API key—no extra auth dance per service.
Complete curl you can run now
If you just need to verify connectivity and auth, run the official Decode example (replace YOUR_API_KEY first):
Then try the Glass endpoint with vin and parts query parameters:
Where to find docs and manage your key
- API listing: VIN Decode API
- Marketplace home: zylalabs.com
If you’re integrating across multiple products, the unified Zyla key and subscription simplify auth and billing. You can discover other automotive and data enrichment APIs directly from the marketplace as you expand coverage.
FAQ
Is there a free plan?
No free plan. The marketplace uses subscription with quotas. For this API, you can expect a 7‑day trial or 50 requests to get started. Check the API page for current access options and pricing.
How do I authenticate?
Send the header Authorization: Bearer YOUR_API_KEY with every request to the endpoints shown above.
What parameters does the Decode endpoint accept?
No request parameters are documented for the Decode endpoint. Use the Authorization header as shown in the official sample, and read the returned JSON for VIN details.
How do I request glass data for a specific component?
Call the Glass endpoint with vin and parts query parameters. Example: parts=windshield. The response includes OEM and aftermarket candidate part numbers and specs. Verify candidates against catalogs before ordering.
Can I call this from an AI agent?
Yes. Use the Zyla MCP endpoint at https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY in any MCP‑compatible client. See the MCP docs for setup.
Ready to build? Create your account, get an API key, and ship your first integration today: Register. Then open the VIN Decode API page and subscribe from within the marketplace.