Recalls & Safety API
from NHTSA and USCG, per vehicle.
One call returns a vehicle's NHTSA recall campaigns and its NCAP crash-test rating — overall, front, side and rollover — keyed to the same UUID as its specs and economy. Service bulletins and warranty extensions, owner complaints, U.S. Coast Guard boat recalls and NHTSA tire recalls are one call away.
Free plan: 100 API calls/mo — no card.
Key endpoints
Recalls and NCAP ratings come back in a single JSON response, keyed to the vehicle UUID. Bulletins, complaints, crashes, VINs, boats and tires have endpoints of their own.
GET
/v1/cars/{uuid}/recalls
|
NHTSA recall campaigns and open investigations plus the NCAP crash-test rating (overall, front, side, rollover) for the vehicle. |
GET
/v1/cars
|
List cars to find the UUID first — filter by make, model and year, then call the recalls endpoint. |
GET
/v1/cars/{uuid}
|
Single car by UUID — full specifications, addressed by the same identifier used for recalls. |
GET
/v1/cars/{uuid}/tsbs
|
Manufacturer communications for the make, model and year: service bulletins, service campaigns, warranty extensions and over-the-air updates. |
GET
/v1/cars/{uuid}/complaints
|
NHTSA owner-complaint statistics by component and model year, with crash, fire, injury and death counts — no narratives. |
GET
/v1/cars/{uuid}/crashes
|
Crash record for the make, model and year: FARS fatal crashes and CRSS police-reported estimates, never summed. |
GET
/v1/vin/{vin}/recalls
|
Decode a VIN and return the recall campaigns for its make, model and year — not a per-VIN repair status. |
GET
/v1/motorcycles/{uuid}/recalls
|
The same recall lookup for motorcycles, with /complaints and /tsbs alongside. |
GET
/v1/boats/{uuid}/recalls
|
U.S. Coast Guard recall campaigns filed under the builder codes behind a boat's make, this model year first. |
GET
/v1/hin/{hin}
|
Decode a boat's Hull Identification Number: builder, model year, the builder's USCG recalls and the hull's reported accidents. |
GET
/v1/tire-sizes/{uuid}/recalls
|
NHTSA tire recalls whose notice names a fitment's OEM size, with production windows and plant codes. |
GET
/v1/tire-sizes/dot/{tin}
|
The DOT check: one tire's plant and build week against the production windows in NHTSA tire recalls. |
Base URL: https://api.vehdb.com/v1
Response fields
One call covers both recall campaigns and crash-safety ratings.
| Field | Type | Description |
|---|---|---|
recall_count |
integer | Number of NHTSA recall campaigns on record for the make, model and year |
nhtsa_match |
object | How the make and model matched NHTSA's spellings; status "none" means a count of 0 is "no name matched", not "no recalls" |
recalls |
array | One entry per campaign — campaign number, date, component, summary and remedy |
open_investigations |
array | Open NHTSA defect investigations, each with its linked recall campaigns |
safety_rating.overall |
string | NCAP overall crash-test rating (stars) |
safety_rating.front |
string | NCAP frontal crash rating (stars) |
safety_rating.side |
string | NCAP side crash rating (stars) |
safety_rating.rollover |
string | NCAP rollover resistance rating (stars) |
safety_rating.varies |
boolean | True when NCAP rated versions of this model year differently; the lowest-rated version that fits the car is shown |
safety_rating.variant |
string | The NCAP version the stars belong to (model, body, drive) |
safety_systems |
array | Safety systems NCAP lists for the car: code, name, availability (standard, optional, mixed or none) and NHTSA's own test result where it has one |
Why safety data lives on the same UUID
Recalls move. Tying them to the spec record means one identifier answers "what is it" and "is it safe."
Mirrored from NHTSA
Recall campaigns come from VehDB's mirror of the official NHTSA recall flat file, refreshed weekly and matched under every spelling NHTSA files the vehicle under.
NCAP in the same call
Overall, front, side and rollover crash-test stars come back alongside the recall list, so one request covers recalls and safety together.
Keyed to the vehicle UUID
The recalls endpoint uses the same UUID as specs, EPA economy and tire fitment — store one identifier, answer every question.
See the Cars API, our data sources, and the solutions we power.
Example response
Recall campaigns and NCAP ratings in one JSON object, keyed to the vehicle UUID.
{
"car": {
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"make": "Honda",
"model": "CR-V",
"year": 2023
},
"recall_count": 2,
"nhtsa_match": { "status": "exact", "models": [ … ] },
"recalls": [
{
"campaign": "23V456000",
"component": "ELECTRICAL SYSTEM",
"summary": "Software may fail to detect a fault, disabling the rearview camera.",
"remedy": "Dealers will update the software, free of charge."
}
],
"open_investigations": [],
"safety_rating": {
"overall": "5",
"front": "4",
"side": "5",
"rollover": "4",
"varies": false,
"variant": "CAMRY 4 DR FWD"
},
"safety_systems": [
{ "code": "crash_imminent_braking", "name": "Automatic emergency braking", "availability": "standard", "nhtsa_result": "meets" }
],
"source": "NHTSA (U.S. DOT), public domain"
}
Recall campaigns come from VehDB's mirror of the NHTSA recall flat file, refreshed weekly; NCAP ratings from its mirror of NHTSA's ratings.
Same token, more safety data
Service bulletins, boat recalls and tire recalls
The recall call is one of several safety endpoints, each reading a mirrored federal dataset: NHTSA for vehicles and tires, the U.S. Coast Guard for boats.
Service bulletins and warranty extensions
GET /v1/cars/{uuid}/tsbs, also on motorcycles: NHTSA manufacturer communications counted by type, the most named components, every warranty extension (special-coverage programs included) and the latest summaries. A bulletin is a repair procedure, not a recall.
Boat recalls from the Coast Guard
GET /v1/boats/{uuid}/recalls returns the USCG campaigns filed under the builder codes behind a boat's make, this model year first; GET /v1/hin/{hin} decodes a hull number with its builder's recalls and the accidents reported under the hull.
Learn moreTire recalls and the DOT check
GET /v1/tire-sizes/{uuid}/recalls lists the NHTSA tire recalls naming a fitment's OEM size; GET /v1/tire-sizes/dot/{tin} checks one tire's plant and build week against their production windows.
Learn moreFree VIN decoder
Decode a VIN in the browser: the model year's recalls, complaint ranking, bulletins and warranty extensions, fatal crashes, fuel cost at EIA prices and tire sizes.
Learn moreRecalls & Safety API FAQ
Common questions about VehDB's recall and safety API.
Also see the Cars and Fuel Economy APIs, the data sources, or the API overview.
Live numbers, not logos
Pulled from the production database and the NHTSA sync log, refreshed hourly.
NHTSA recalls last synced
API pricing
Start on the free tier; every plan includes the REST API and the MCP server with the same token and quota.
Full plan comparison and FAQ on the pricing page. Prices in USD, cancel anytime.
Your AI agent's vehicle-data tools —
not glue code.
VehDB ships a native Model Context Protocol server. Claude, Cursor or any MCP client pulls recalls for cars, motorcycles and boats (recalls_for_vehicle), service bulletins and warranty extensions (service_bulletins_for_vehicle) and a tire's DOT check (tire_dot_check) as first-class tools — no wrappers, no scraping, no glue code to maintain.
- Native MCP tools — search_vehicles, recalls_for_vehicle, complaints_for_vehicle, tire_sizes_for_vehicle, my_lists — callable by Claude, Cursor or any agent.
- One-click AI connector in Claude; in any other MCP client, paste one URL and sign in: no token to copy. Scripts use an API token. Same data and quota as the REST API.
- No scraping, no function-calling boilerplate, no schema drift — the agent gets typed, documented tools.
{ "mcpServers": {
"vehdb": { "url": "https://mcp.vehdb.com/mcp" }
} }
Add recalls, bulletins & NCAP to your product.
NHTSA recall campaigns, service bulletins and NCAP crash ratings per vehicle, on the same UUID as specs and economy, plus USCG boat and NHTSA tire recalls. Free tier: 100 calls/mo, no card.
100 free API calls every month · REST API + MCP server on every plan · No card to start · See pricing