NHTSA API: Get safety ratings
Gets NHTSA 5-Star Safety Ratings for a car by make, model and model year. Returns each matching version; unrated versions have no stars.
Unofficial. Not affiliated with or endorsed by NHTSA.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Make, required
make Vehicle maker, for example Toyota.
Toyota
- Model, required
model Vehicle model, for example Camry.
Camry
- Version optional
version Optional words to select body style or drive, for example AWD or 4 door. Omit to return every version.
(default)
- Model Year, required
model_year Model year, for example 2022.
2022
Whole number.
Input as JSON
{ "make": "Toyota", "model": "Camry", "model_year": 2022}Output
{ "ratings": [ { "note": null, "recalls": 1, "nhtsa_link": "https://www.nhtsa.gov/vehicle/2022/TOYOTA/CAMRY/4%20DR/AWD" , "investigations": 0, "overall_rating": 5, "rollover_stars": 5, "nhtsa_vehicle_id": 16662, "owner_complaints": 63, "side_crash_stars": 5, "frontal_crash_stars": 5, "safety_technologies": [ "Electronic stability control: standard", "Forward collision warning: standard", "Lane departure warning: standard" ], "vehicle_description": "2022 Toyota CAMRY 4 DR AWD", "vehicle_picture_link": "https://static.nhtsa.gov/crashTest/images/2022/v10146P080.jpg" , "rollover_risk_percent": 9.9 }, { "note": null, "recalls": 1, "nhtsa_link": "https://www.nhtsa.gov/vehicle/2022/TOYOTA/CAMRY/4%20DR/FWD" , "investigations": 0, "overall_rating": 5, "rollover_stars": 5, "nhtsa_vehicle_id": 16632, "owner_complaints": 63, "side_crash_stars": 5, "frontal_crash_stars": 5, "safety_technologies": [ "Electronic stability control: standard", "Forward collision warning: standard", "Lane departure warning: standard" ], "vehicle_description": "2022 Toyota CAMRY 4 DR FWD", "vehicle_picture_link": "https://static.nhtsa.gov/crashTest/images/2022/v10146P080.jpg" , "rollover_risk_percent": 9.9 } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"nhtsa.gov/get_safety_ratings","input":{"make":"Toyota","model":"Camry","model_year":2022}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "nhtsa.gov/get_safety_ratings" , "input": { "make": "Toyota", "model": "Camry", "model_year": 2022 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "nhtsa.gov/get_safety_ratings" , "input": { "make": "Toyota", "model": "Camry", "model_year": 2022 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run nhtsa.gov/get_safety_ratings# with {"make":"Toyota","model":"Camry","model_year":2022}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "make", "model", "model_year" ], "properties": { "make": { "type": "string", "description": "Vehicle maker, for example Toyota." }, "model": { "type": "string", "description": "Vehicle model, for example Camry." }, "version": { "type": "string", "default": "", "description": "Optional words to select body style or drive, for example AWD or 4 door. Omit to return every version." }, "model_year": { "type": "integer", "description": "Model year, for example 2022." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "ratings" ], "properties": { "ratings": { "type": "array", "items": { "type": "object", "required": [ "vehicle_description", "overall_rating", "frontal_crash_stars", "side_crash_stars", "rollover_stars", "rollover_risk_percent", "safety_technologies", "owner_complaints", "recalls", "investigations", "vehicle_picture_link", "nhtsa_link", "note", "nhtsa_vehicle_id" ], "properties": { "note": { "type": [ "string", "null" ], "description": "Not rated when no overall star rating is available; otherwise null." }, "recalls": { "type": [ "integer", "null" ], "description": "Number of recalls, or null when unavailable." }, "nhtsa_link": { "type": "string", "description": "NHTSA page for this vehicle version." }, "investigations": { "type": [ "integer", "null" ], "description": "Number of investigations, or null when unavailable." }, "overall_rating": { "type": [ "integer", "null" ], "description": "NHTSA star rating from 1 to 5, or null if not rated." }, "rollover_stars": { "type": [ "integer", "null" ], "description": "NHTSA star rating from 1 to 5, or null if not rated." }, "nhtsa_vehicle_id": { "type": "integer", "description": "NHTSA vehicle ID.", "x-fous-developer": true }, "owner_complaints": { "type": [ "integer", "null" ], "description": "Number of owner complaints, or null when unavailable." }, "side_crash_stars": { "type": [ "integer", "null" ], "description": "NHTSA star rating from 1 to 5, or null if not rated." }, "frontal_crash_stars": { "type": [ "integer", "null" ], "description": "NHTSA star rating from 1 to 5, or null if not rated." }, "safety_technologies": { "type": "array", "items": { "type": "string" }, "description": "Safety technologies and their availability, for example Forward collision warning: standard." }, "vehicle_description": { "type": "string", "description": "NHTSA vehicle version description." }, "vehicle_picture_link": { "type": [ "string", "null" ], "description": "NHTSA crash-test image of the vehicle, or null when not available." }, "rollover_risk_percent": { "type": [ "number", "null" ], "description": "NHTSA rollover probability as a percentage, or null when unavailable." } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
nhtsa.gov/get_safety_ratings- Returns
- star ratings per version, rollover risk, safety technologies, complaints, recalls, investigations, crash-test picture, NHTSA link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method nhtsa.gov/get_safety_ratings with the inputs above.
Ask your agent
- What are the NHTSA 5-star safety ratings for a 2022 Toyota Camry across all its versions?
- Show me crash test scores and star ratings for the 2021 Honda CR-V AWD on nhtsa.gov.
- Does the 2023 Ford F-150 SuperCrew 4 door have a rollover risk rating from NHTSA?
- Look up safety ratings, recalls, and complaints for a 2020 Subaru Outback, limited to the wagon body style.
- Which versions of the 2019 Chevrolet Equinox are unrated by NHTSA, and what are the safety technologies listed for the rated ones?
See more
All NHTSA methodsLists NHTSA safety recalls for a vehicle model, given a model year, make and model or a 17-character VIN. Results cover the model, not whether a specific car has been repaired.
nhtsa.gov/check_recallsSummarizes NHTSA owner safety complaints for an exact vehicle model year, make, and model. Body-style variants are not combined; mileage is null when not given as a structured value.
nhtsa.gov/get_owner_complaintsLists the passenger car, SUV/minivan and truck models NHTSA has for a make and model year, alphabetically.
nhtsa.gov/list_vehicle_modelsIdentifies a vehicle from its 17-character VIN using NHTSA vehicle data. Missing details are returned as null; decoding errors and warnings are included.
nhtsa.gov/decode_vinReturns official MPG or MPGe, range, annual fuel cost, five-year savings and emissions for every matching version of a vehicle. Costs use current fuel prices and 15,000 miles per year; plug-in hybrid costs include gasoline and electricity.
fueleconomy.gov/get_fuel_economyCompares the official fuel economy and estimated annual fuel cost of two to four cars by year, make and model, using FuelEconomy.gov. Selects a base version when no trim is given.
fueleconomy.gov/compare_carsGets Kelley Blue Book's expert and consumer ratings, trim prices with the KBB Fair Purchase Price, fuel economy, pros, cons and the expert review's opening verdict for a car model by year, make and model. Some details are unavailable for certain model years.
kbb.com/get_car_reviewFinds AutoZone parts listed for a vehicle (year, make, model, optional engine), with prices, warranties and fit notes. Listings are filtered by year, make and model; engine fit often needs further confirmation.
autozone.com/search_parts