Home / Docs / HTTP API
CheckMyVIN HTTP API
Single JSON endpoint. NHTSA VPIC decode + recalls + AI summary in one response. Free tier 100 requests / IP / UTC day.
Endpoint
POST https://checkmyvin.net/api/decode
Quick start
curl -X POST https://checkmyvin.net/api/decode \
-H "Content-Type: application/json" \
-d '{"vin":"1FTFW1ET5DFC10312"}'Response shape
{
"vin": "1FTFW1ET5DFC10312",
"vehicle": {
"make": "FORD",
"model": "F-150",
"modelYear": "2013",
"engineDisplacement": "3.5",
"driveType": "4WD/4-Wheel Drive/4x4",
"fuelType": "Gasoline",
"plantCity": "DEARBORN",
"plantCountry": "UNITED STATES (USA)"
},
"recalls": [
{ "campNo": "...", "component": "...", "summary": "...", "remedy": "..." }
],
"maintenance": {
"oil": "5W-30 (WSS-M2C961-A1)",
"oilCapacity": "5.7 L (6.0 qt)",
"tireSize": "Varies by trim — check door-jamb label"
},
"ai": {
"overview": "...",
"strengths": ["..."],
"issues": ["..."],
"buyingAdvice": "...",
"maintenanceTips": "...",
"score": 6
},
"generatedAt": "2026-06-11T12:00:00.000Z"
}Rate limit
The free tier enforces 100 requests per IP per UTC day. Every response includes:
| Header | Meaning |
|---|---|
| X-RateLimit-Limit | 100 (current daily cap). |
| X-RateLimit-Remaining | Requests left in the current UTC day window. |
| X-RateLimit-Reset | Seconds until UTC midnight (when the counter resets). |
| X-Cache | HIT if served from the 7-day KV cache; MISS on fresh decode. |
When the limit is exceeded, the API returns HTTP 429 with a Retry-After header. Cached responses (X-Cache: HIT) still count against the limit — request budget is per IP, not per unique VIN.
Errors
| Status | Meaning |
|---|---|
| 400 | Invalid VIN format OR NHTSA returned no make/year. Response body includes error, errorText (NHTSA verbatim when available), and a partial vehicle object. |
| 429 | Rate limit exceeded for this IP. |
| 500 | Internal error generating the report (unexpected — please retry). |
OpenAPI
Machine-readable OpenAPI 3.1 spec: https://checkmyvin.net/openapi.json — import directly into Postman, Insomnia, Stainless, or OpenAI's Custom GPT actions builder.
Prefer MCP?
If you're wiring this into an AI assistant, the MCP server gives Claude / ChatGPT direct tool access without you writing glue code.