Identifiers validate vin
Exactidentifiers_validate_vinDeterministic and authoritative — the canonical answer for this input.
Validate a Vehicle Identification Number (ISO 3779): 17 characters, allowed character set (I, O, Q forbidden), and the weighted mod-11 check digit at position 9. Returns WMI (manufacturer), VDS, VIS, year code, and candidate model years. Processing multiple inputs? Use `identifiers_validate_vin_batch` to do up to 1000 in one call.
Parameters
valuestringrequiredThe identifier string to validate.
Call it
curl -X POST https://api.snipget.ai/v1/identifiers/validate/vin \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"value":"1M8GDM9AXKP042788"}'The Batch tab sends up to 1000 inputs in one call via /v1/identifiers/validate/vin/batch.
Example response
{
"input": "1M8GDM9AXKP042788",
"is_valid": true,
"normalized": "1M8GDM9AXKP042788",
"wmi": "1M8",
"vds": "GDM9A",
"check_digit": "X",
"expected_check_digit": "X",
"vis": "KP042788",
"year_code": "K",
"candidate_model_years": [
1989,
2019
]
}FAQ
What does it check on a VIN?
That a 17-character Vehicle Identification Number uses only allowed characters and passes its position-9 check digit. It also breaks out the manufacturer code and candidate model years.
Does it pull up the car's details or history?
No. It validates the structure and decodes the built-in parts; it does not look up the make, model, or vehicle history. That needs a separate vehicle database.
Why two candidate model years?
The single year character repeats every 30 years, so one code maps to two possible years (for example K is 1989 or 2019). The VIN alone cannot say which.
How reliable is the verdict?
It is exact and deterministic for North American VINs. Note some non-NA vehicles use a placeholder check digit, and the letters I, O, and Q are never allowed and will be flagged.
What if it is not 17 characters?
Wrong-length or disallowed-character VINs return is_valid false with a clear reason and confidence 0, not an error.