HEADERX-API-KeyRequired for integrations
Authenticate with an API key
Create a key under API keys, then send it on every programmatic request. This is the only auth method for VIN decode integrations.
Example header
X-API-Key: ovd_live_your_key_here
Example request
curl -X POST https://vin-decoder-api.orientaloutsourcing.com/api/v1/decode \
-H "Content-Type: application/json" \
-H "X-API-Key: ovd_live_your_key_here" \
-d '{"vin":"1HGCM82633A004352"}'
Errors: 401 unknown or revoked key · 403 account suspended · 429 rate limit / daily quota exceeded
POST/api/v1/validate-vinQuota: free · unlimited
Validate VIN format
Checks 17-character format and check digit. Never consumes daily quota.
Request
{
"vin": "1HGCM82633A004352"
}
Response 200
{
"success": true,
"data": {
"vin": "1HGCM82633A004352",
"isValidFormat": true,
"checkDigitValid": true
}
}
POST/api/v1/decodeQuota: 1 per successful decode
Decode a single VIN
Returns structured USA/Canada vehicle specification attributes.
Request
{
"vin": "1HGCM82633A004352"
}
Response 200
{
"success": true,
"data": {
"requestedVin": "1HGCM82633A004352",
"normalizedVin": "1HGCM82633A004352",
"decodeStatus": "success",
"make": "Honda",
"model": "Accord",
"modelYear": 2003,
"trim": "EX",
"series": null,
"bodyClass": "Sedan",
"doors": 4,
"engineCylinders": 4,
"engineDisplacementL": 2.4,
"engineHP": 160,
"engineModel": "K24A4",
"engineConfiguration": "In-Line",
"fuelTypePrimary": "Gasoline",
"driveType": "FWD",
"plantCity": "Marysville",
"plantState": "Ohio",
"plantCountry": "USA",
"gvwr": "Class 1: 6,000 lb or less (2,722 kg or less)",
"electrificationLevel": null,
"batteryKWh": null
}
}
POST/api/v1/decode-from-imageQuota: 1 on successful decode
Decode VIN from image (OCR)
Extracts a VIN from an uploaded image, then decodes it. Failed OCR does not consume quota.
Request
multipart/form-data
file: <image>
Response 200
{
"success": true,
"data": {
"vin": "1HGCM82633A004352",
"ocrConfidence": 0.94,
"make": "Honda",
"model": "Accord",
"modelYear": 2003
}
}
POST/api/v1/batch-decodeQuota: 1 per successful VIN
Batch decode
Decode up to 1,000 VINs per request on Business; lower caps on other plans.
Request
{
"vins": ["1HGCM82633A004352", "5YJSA1E26HF000001"]
}
Response 200
{
"success": true,
"data": {
"results": [],
"successCount": 2,
"failureCount": 0
}
}
GET/api/v1/usageAuth required
Usage summary
Current daily quota consumption for the authenticated account.
Request
GET /api/v1/usage
X-API-Key: ovd_live_...
Response 200
{
"success": true,
"data": {
"dailyQuota": 3333,
"usedToday": 128,
"remainingToday": 3205
}
}