Quick Start
Get started with the YugoVIN API in just two steps:
1. Get Your API Key
Sign up for a free account at app.yugovin.com/signup to get your API key.
2. Make Your First Request
curl "https://api.yugovin.com/api/v1/decode/1HGBH41JXMN109186" \
-H "X-API-Key: your_api_key_here"
Authentication
All API requests require authentication using an API key. Include your API key in the request header:
GET /api/v1/decode/{vin} HTTP/1.1
Host: api.yugovin.com
X-API-Key: your_api_key_here
Security Note: Never expose your API key in client-side code or public repositories.
API Endpoints
Decode a single VIN and return detailed vehicle information.
Parameters
| Name |
Type |
Required |
Description |
vin |
string |
Yes |
17-character Vehicle Identification Number |
Example Request
curl "https://api.yugovin.com/api/v1/decode/5UXWX7C5XBA123456" \
-H "X-API-Key: your_api_key_here"
Example Response
{
"success": true,
"data": {
"vin": "5UXWX7C5XBA123456",
"year": 2011,
"make": "BMW",
"model": "X3",
"trim": "xDrive35i",
"body_style": "Sport Utility Vehicle (SUV)",
"engine": "3.0L 6-cyl",
"transmission": "Automatic",
"fuel_type": "Gasoline",
"manufacturer": "BMW MANUFACTURER CORPORATION"
},
"decode_time_ms": 45,
"cached": true,
"source": "cache"
}
Decode multiple VINs in a single request (up to 100 VINs).
Request Body
{
"vins": [
"1HGBH41JXMN109186",
"5UXWX7C5XBA123456",
"WBAFR7C53BC278899"
]
}
Example Request
curl -X POST "https://api.yugovin.com/api/v1/batch-decode" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"vins": ["1HGBH41JXMN109186", "5UXWX7C5XBA123456"]}'
Validate a VIN without decoding it.
Example Response
{
"success": true,
"valid": true,
"vin": "5UXWX7C5XBA123456",
"error_message": null
}
Error Handling
The API uses standard HTTP status codes to indicate success or failure:
| Code |
Status |
Description |
200 |
OK |
Request successful |
400 |
Bad Request |
Invalid VIN or parameters |
401 |
Unauthorized |
Invalid or missing API key |
429 |
Too Many Requests |
Rate limit exceeded |
500 |
Internal Server Error |
Server error - contact support |
Error Response Format
{
"success": false,
"error": "Invalid VIN format",
"detail": "VIN must be exactly 17 characters"
}
Rate Limits
Rate limits vary by subscription plan:
| Plan |
Requests/Second |
Monthly Quota |
| Starter |
5 |
500 |
| Basic |
25 |
2,000 |
| Pro |
100 |
10,000 |
| Enterprise |
Unlimited |
Unlimited |
Rate limit information is included in response headers:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 9
X-RateLimit-Reset: 1640000000
Code Examples
Python
import requests
API_KEY = "your_api_key_here"
VIN = "5UXWX7C5XBA123456"
response = requests.get(
f"https://api.yugovin.com/api/v1/decode/{VIN}",
headers={"X-API-Key": API_KEY}
)
vehicle = response.json()["data"]
print(f"{vehicle['year']} {vehicle['make']} {vehicle['model']}")
# Output: 2011 BMW X3
JavaScript (Node.js)
const axios = require('axios');
const API_KEY = 'your_api_key_here';
const VIN = '5UXWX7C5XBA123456';
async function decodeVIN() {
try {
const response = await axios.get(
`https://api.yugovin.com/api/v1/decode/${VIN}`,
{
headers: { 'X-API-Key': API_KEY }
}
);
const vehicle = response.data.data;
console.log(`${vehicle.year} ${vehicle.make} ${vehicle.model}`);
// Output: 2011 BMW X3
} catch (error) {
console.error('Error:', error.message);
}
}
decodeVIN();
PHP
<?php
$api_key = 'your_api_key_here';
$vin = '5UXWX7C5XBA123456';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.yugovin.com/api/v1/decode/$vin");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-API-Key: $api_key"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
$vehicle = $data['data'];
echo "{$vehicle['year']} {$vehicle['make']} {$vehicle['model']}\n";
// Output: 2011 BMW X3
?>