Vehicle risk record avatar

Vehicle risk record

Pricing

from $20.00 / 1,000 vehicle risk records

Go to Apify Store
Vehicle risk record

Vehicle risk record

Returns NHTSA complaints, recalls, investigations and manufacturer communications for a make, model and model year, plus complaints per 100k sold where available. Call it to check a model year.

Pricing

from $20.00 / 1,000 vehicle risk records

Rating

0.0

(0)

Developer

The Used Car Index

The Used Car Index

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Get the NHTSA record for any make, model and model year from 2000 through 2027 as one JSON item: complaints with crash, fire, injury and death counts, recalls, investigations, manufacturer communications and, where a verified sales source exists, complaints per 100k sold. Complaints from NHTSA's API and its bulk file are merged and deduplicated by ODI number, so records the API alone misses are included. Built for vehicle research sites, dealer sourcing tools, insurance and fleet analysts, and AI agents that need recorded facts about a model year in one call.

Input examples

One vehicle:

{
"make": "Toyota",
"model": "RAV4",
"year": 2018
}

Several vehicles in one run (1 to 100):

{
"vehicles": [
{ "make": "Toyota", "model": "RAV4", "year": 2018 },
{ "make": "Honda", "model": "CR-V", "year": 2018 }
]
}

Sample output

Real output, fetched 2026-10-16 from the public Used Car Index API (the demo endpoint runs the same lookup as /v1/vehicle_risk) and shaped by this Actor's own code, so the block below is exactly one dataset item. It is the record for the first input, from the data build of 2026-10-07 (data.built_at). At a glance: 346 complaints (33 with a crash, 32 with a fire, 14 with an injury, 0 deaths), 3 recalls, 2 investigations (0 open), 186 manufacturer communications, and 81.0 complaints per 100k sold on 427,168 units sold in 2018 (source: goodcarbadcar.net).

{
"vehicle": {
"make": "TOYOTA",
"model": "RAV4",
"year": 2018,
"family_key": "RAV4",
"matched_models": [{ "model": "RAV4", "complaints": 331 }, { "model": "RAV4 HYBRID", "complaints": 15 }],
"other_names": [],
"resolved_via": "vehicle_models"
},
"complaints": {
"total": 346,
"with_crash": 33,
"with_fire": 32,
"with_injury": 14,
"injuries": 19,
"deaths": 0,
"by_source": { "both": 346, "bulk_only": 0, "api_only": 0 },
"coverage_complete": true,
"top_systems": [
{ "system": "ELECTRICAL SYSTEM", "count": 130, "share": 0.37572254335260113 },
{ "system": "UNKNOWN OR OTHER", "count": 74, "share": 0.2138728323699422 },
{ "system": "ENGINE", "count": 32, "share": 0.09248554913294797 },
{ "system": "SERVICE BRAKES", "count": 30, "share": 0.08670520231213873 },
{ "system": "POWER TRAIN", "count": 28, "share": 0.08092485549132948 },
{ "system": "EXTERIOR LIGHTING", "count": 23, "share": 0.06647398843930635 },
{ "system": "VEHICLE SPEED CONTROL", "count": 21, "share": 0.06069364161849711 },
{ "system": "VISIBILITY/WIPER", "count": 19, "share": 0.05491329479768786 },
{ "system": "AIR BAGS", "count": 17, "share": 0.049132947976878616 },
{ "system": "STRUCTURE", "count": 15, "share": 0.04335260115606936 }
],
"top_subsystems": [
{ "system": "STRUCTURE", "subsystem": "BODY", "count": 11 },
{ "system": "FORWARD COLLISION AVOIDANCE", "subsystem": "WARNINGS", "count": 4 },
{ "system": "ELECTRICAL SYSTEM", "subsystem": "12V/24V/48V BATTERY", "count": 3 },
{ "system": "FORWARD COLLISION AVOIDANCE", "subsystem": "ADAPTIVE CRUISE CONTROL", "count": 3 },
{ "system": "VISIBILITY", "subsystem": "SUN/MOON ROOF ASSEMBLY", "count": 3 },
{ "system": "FORWARD COLLISION AVOIDANCE", "subsystem": "AUTOMATIC EMERGENCY BRAKING", "count": 2 },
{ "system": "LANE DEPARTURE", "subsystem": "BLIND SPOT DETECTION", "count": 2 },
{ "system": "BACK OVER PREVENTION", "subsystem": "SENSING SYSTEM", "count": 1 },
{ "system": "ELECTRICAL SYSTEM", "subsystem": "IGNITION", "count": 1 },
{ "system": "ENGINE AND ENGINE COOLING", "subsystem": "EXHAUST SYSTEM", "count": 1 }
]
},
"recalls": {
"total": 3,
"do_not_drive": 0,
"park_outside": 0,
"potential_units_max": 1853568,
"by_system": [{ "system": "EQUIPMENT", "count": 2 }, { "system": "ELECTRICAL SYSTEM", "count": 1 }],
"latest": [
{
"campaign_number": "23V734000",
"received_date": "2023-11-01",
"systems": ["ELECTRICAL SYSTEM"],
"defect": "Toyota Motor Engineering & Manufacturing (Toyota) is recalling certain 2013-2018 RAV4 vehicles. Certain replacement 12-volt batteries may not fit properly in the battery tray, allowing the battery to move and contact the hold-down bracket, possibly causing a short circuit.",
"consequence": "A battery short circuit increases the risk of a fire.",
"remedy": "Dealers will replace the battery clamp sub-assembly, battery tray, and positive terminal cover, free of charge. Owner letters were mailed December 27, 2024, to 2013-2014 RAV4 owners. Additional owner notification letters will be mailed in phases, phase 2 will begin on May 14, 2025, and phase 3 in late July 2025. Owners may contact Toyota's customer service at 1-800-331-4331. Toyota's numbers f",
"do_not_drive": false,
"park_outside": false,
"truncated": true,
"url": "https://www.nhtsa.gov/recalls?nhtsaId=23V734000"
},
{
"campaign_number": "19V503000",
"received_date": "2019-06-28",
"systems": ["EQUIPMENT"],
"defect": "Southeast Toyota Distributors, LLC (SET) is recalling certain 2017-2019 Toyota Camry, Corolla, Rav4, Sienna, and Yaris iA vehicles equipped with factory-installed floor mats. The load carrying capacity modification label may be incorrect. As such, these vehicles fail to comply with the requirements of Federal Motor Vehicle Safety Standard (FMVSS) number 110, \"Tire Selection and Rims.\"",
"consequence": "An incorrect label may lead to unintentionally overloading the vehicle, increasing the risk of a crash.",
"remedy": "SET will notify owners and provide a corrected label for placement over the inaccurate label, free of charge. The recall began August 23, 2019. Owners may contact Toyota customer service at 1-888-270-9371. SET's number for this recall is SET19A.",
"do_not_drive": false,
"park_outside": false,
"truncated": false,
"url": "https://www.nhtsa.gov/recalls?nhtsaId=19V503000"
},
{
"campaign_number": "17V831000",
"received_date": "2017-12-20",
"systems": ["EQUIPMENT"],
"defect": "Toyota Motor Engineering & Manufacturing (Toyota) is recalling certain 2017-2018 Toyota 4Runner and Tundra, 2018 Toyota Highlander, RAV4 and Lexus GX460 and 2017 Toyota Sienna and Tacoma vehicles. These vehicles may have incorrect load carrying capacity modification labels. As such, these vehicles fail to comply with the requirements of Federal Motor Vehicle Safety Standard (FMVSS) number 110, \"",
"consequence": "An incorrect load information label can result in the operator overloading the vehicle and increasing the risk of a crash.",
"remedy": "Toyota will notify owners and provide them with corrected labels, free of charge. The recall began on January 23, 2018. Owners may contact Toyota customer service at 1-800-331-4331. Toyota's numbers for this recall are H0Z for Toyota vehicles, and HLF for Lexus vehicles.",
"do_not_drive": false,
"park_outside": false,
"truncated": true,
"url": "https://www.nhtsa.gov/recalls?nhtsaId=17V831000"
}
]
},
"investigations": {
"total": 2,
"open": 0,
"items": [
{
"action_number": "DP22005",
"opened_date": "2023-01-27",
"closed_date": "2023-08-07",
"campaign_numbers": ["22V063000"],
"subject": "Pedestrian alert sounds",
"summary": "NHTSA received a petition on or about July 18, 2022, requesting that Federal Motor Vehicle Safety Standard (FMVSS) 141 be applied to all electric and hybrid vehicles operating in the United States. The petition can be reviewed at NHTSA.gov under ODI Number 11486072. FMVSS 141 establishes performance requirements for pedestrian alert sounds for motor vehicles. The standard applies to hybrid and ele",
"systems": ["ELECTRICAL SYSTEM"],
"url": null
},
{
"action_number": "PE21005",
"opened_date": "2021-02-25",
"closed_date": "2024-08-12",
"campaign_numbers": ["23V734"],
"subject": "Battery Hold Down Bracket Thermal Events",
"summary": "The Office of Defects Investigation (ODI) opened a Preliminary Evaluation (PE) to understand the contributing factors and frequency of vehicle fires originating from the battery region of the engine compartment in Model Year (MY) 2013-2018 Toyota RAV4 vehicles on 25 February 2021. At the time of opening, ODI attributed eleven allegations and additional EWR events to this PE. PE21005 focused on rep",
"systems": ["ELECTRICAL SYSTEM"],
"url": null
}
]
},
"manufacturer_communications": {
"total": 186,
"by_system": [
{ "system": "EQUIPMENT", "subsystem": "", "source_field": "nhtsa_component", "count": 75 },
{ "system": "ELECTRICAL SYSTEM", "subsystem": "", "source_field": "nhtsa_component", "count": 49 },
{ "system": "STRUCTURE", "subsystem": "", "source_field": "nhtsa_component", "count": 28 },
{ "system": "ENGINE", "subsystem": "", "source_field": "nhtsa_component", "count": 10 },
{ "system": "ENGINE AND ENGINE COOLING", "subsystem": "", "source_field": "nhtsa_component", "count": 8 },
{ "system": "EQUIPMENT ADAPTIVE/MOBILITY", "subsystem": "", "source_field": "nhtsa_component", "count": 6 },
{ "system": "LANE DEPARTURE", "subsystem": "", "source_field": "nhtsa_component", "count": 6 },
{ "system": "UNKNOWN OR OTHER", "subsystem": "", "source_field": "nhtsa_component", "count": 6 },
{ "system": "VISIBILITY", "subsystem": "", "source_field": "nhtsa_component", "count": 5 },
{ "system": "AIR BAGS", "subsystem": "", "source_field": "nhtsa_component", "count": 4 },
{ "system": "TIRES", "subsystem": "", "source_field": "nhtsa_component", "count": 4 },
{ "system": "BACK OVER PREVENTION", "subsystem": "", "source_field": "nhtsa_component", "count": 3 },
{ "system": "SEATS", "subsystem": "", "source_field": "nhtsa_component", "count": 3 },
{ "system": "SERVICE BRAKES", "subsystem": "", "source_field": "nhtsa_component", "count": 3 },
{ "system": "SERVICE BRAKES, HYDRAULIC", "subsystem": "", "source_field": "nhtsa_component", "count": 3 },
{ "system": "POWER TRAIN", "subsystem": "", "source_field": "nhtsa_component", "count": 2 },
{ "system": "STEERING", "subsystem": "", "source_field": "nhtsa_component", "count": 2 },
{ "system": "VEHICLE SPEED CONTROL", "subsystem": "", "source_field": "nhtsa_component", "count": 2 },
{ "system": "WHEELS", "subsystem": "", "source_field": "nhtsa_component", "count": 2 },
{ "system": "COMMUNICATION", "subsystem": "", "source_field": "nhtsa_component", "count": 1 },
{ "system": "EXTERIOR LIGHTING", "subsystem": "", "source_field": "nhtsa_component", "count": 1 },
{ "system": "FORWARD COLLISION AVOIDANCE", "subsystem": "", "source_field": "nhtsa_component", "count": 1 },
{ "system": "SUSPENSION", "subsystem": "", "source_field": "nhtsa_component", "count": 1 }
],
"by_subsystem": [
{ "system": "EQUIPMENT", "subsystem": "OTHER", "source_field": "nhtsa_component", "count": 30 },
{ "system": "STRUCTURE", "subsystem": "BODY", "source_field": "nhtsa_component", "count": 24 },
{ "system": "EQUIPMENT", "subsystem": "ELECTRICAL", "source_field": "nhtsa_component", "count": 9 },
{ "system": "ELECTRICAL SYSTEM", "subsystem": "12V/24V/48V BATTERY", "source_field": "nhtsa_component", "count": 7 },
{ "system": "ENGINE AND ENGINE COOLING", "subsystem": "COOLING SYSTEM", "source_field": "nhtsa_component", "count": 5 },
{ "system": "ELECTRICAL SYSTEM", "subsystem": "SOFTWARE", "source_field": "nhtsa_component", "count": 4 },
{ "system": "EQUIPMENT", "subsystem": "APPLIANCE", "source_field": "nhtsa_component", "count": 4 },
{ "system": "ENGINE AND ENGINE COOLING", "subsystem": "ENGINE", "source_field": "nhtsa_component", "count": 2 },
{ "system": "LANE DEPARTURE", "subsystem": "BLIND SPOT DETECTION", "source_field": "nhtsa_component", "count": 2 },
{ "system": "COMMUNICATION", "subsystem": "MANUFACTURER TELEMATICS", "source_field": "nhtsa_component", "count": 1 },
{ "system": "ELECTRICAL SYSTEM", "subsystem": "PROPULSION SYSTEM", "source_field": "nhtsa_component", "count": 1 },
{ "system": "ELECTRICAL SYSTEM", "subsystem": "WIRING", "source_field": "nhtsa_component", "count": 1 },
{ "system": "EXTERIOR LIGHTING", "subsystem": "HEADLIGHTS", "source_field": "nhtsa_component", "count": 1 },
{ "system": "FORWARD COLLISION AVOIDANCE", "subsystem": "SENSING SYSTEM", "source_field": "nhtsa_component", "count": 1 },
{ "system": "SERVICE BRAKES, HYDRAULIC", "subsystem": "FOUNDATION COMPONENTS", "source_field": "nhtsa_component", "count": 1 },
{ "system": "SUSPENSION", "subsystem": "REAR", "source_field": "nhtsa_component", "count": 1 },
{ "system": "VEHICLE SPEED CONTROL", "subsystem": "CRUISE CONTROL", "source_field": "nhtsa_component", "count": 1 },
{ "system": "VISIBILITY", "subsystem": "DEFROSTER/DEFOGGER/HVAC SYSTEM", "source_field": "nhtsa_component", "count": 1 }
],
"recent": [
{
"nhtsa_id": "11029892",
"document_id": ["T-SB-0119-15 Rev2"],
"communication_date": "2026-02-13",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["T-SB-0119-15 Rev2"],
"systems": ["ENGINE"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "OBSOLETE NOTICE February 13, 2026: This bulletin is now obsolete. Please see T-SB-0009-26."
},
{
"nhtsa_id": "11029893",
"document_id": ["T-SB-0009-26"],
"communication_date": "2026-02-13",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["T-SB-0009-26"],
"systems": ["ENGINE"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "This bulletin includes basic procedures for performing a rescue charge on Ni-MH high voltage (HV) batteries. This bulletin should be used in conjunction with the applicable model and model year Repair Manual while performing a rescue charge. The GRX-5100 should be used wherever the Repair Manual ref"
},
{
"nhtsa_id": "11028712",
"document_id": ["T-SB-0055-24 Rev2"],
"communication_date": "2026-01-07",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["T-SB-0055-24 Rev2"],
"systems": ["UNKNOWN OR OTHER"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "Some 2005 â 2026 Toyota vehicles that have undergone water intrusion may exhibit a condition in which a musty odor is present. Follow the procedures in this bulletin to remediate the odor and address this condition. The purpose of this Service Bulletin is to provide general guidelines and procedur"
},
{
"nhtsa_id": "11020666",
"document_id": ["21TG01"],
"communication_date": "2025-06-18",
"communication_type": ["Service Campaign"],
"campaign_id": ["21TG01"],
"systems": ["ELECTRICAL SYSTEM"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "21TG01 Exprired - Replaced with Campaign 23TA13 During a recent investigation of reported battery fires in 2013-2018 RAV4 vehicles with gasoline engines (excluding hybrid models), Toyota discovered that many non-Toyota retailers and others who sell or install replacement batteries were recommending "
},
{
"nhtsa_id": "11020667",
"document_id": ["21TG01"],
"communication_date": "2025-06-18",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["21TG01"],
"systems": ["ELECTRICAL SYSTEM"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "Campaign Expired - replaced with campaign 23TA13TECHNICAL INSTRUCTIONS FOR CONSUMER ADVISORY 21TG01 12-VOLT BATTERY SIZE AND INSTALLATION INSPECTION CERTAIN 2013 â 2018 RAV4"
},
{
"nhtsa_id": "11020657",
"document_id": ["T-SB-0058-23 Rev1"],
"communication_date": "2025-06-13",
"communication_type": ["Service Campaign"],
"campaign_id": ["T-SB-0058-23 Rev1"],
"systems": ["ELECTRICAL SYSTEM"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "The air conditioning dye injection tool kit has been developed to aid in identifying the location of air conditioning refrigerant leaks. The procedures outlined in this Service Bulletin aid in locating, inspecting, and repairing refrigerant leaks."
},
{
"nhtsa_id": "11012742",
"document_id": ["T-SB-0035-24 Rev2"],
"communication_date": "2024-12-06",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["T-SB-0035-24 Rev2"],
"systems": ["STRUCTURE"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "Acid rain results from rainwater or other airborne moisture that become acidic due to industrial chemical impurities in the atmosphere. If these acidic compounds settle on an exposed vehicle, especially the horizontal areas such as the hood, roof, and decklid, significant damage to the painted surfa"
},
{
"nhtsa_id": "11012743",
"document_id": ["T-SB-0038-24 Rev2"],
"communication_date": "2024-12-06",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["T-SB-0038-24 Rev2"],
"systems": ["STRUCTURE"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "To prevent brake rotor rust from forming during transportation and storage, wheel film will be used instead of a cardboard type of anti-rust cover. The purpose of the wheel film is to shield the disc brake rotor from weather elements and initial rust before the vehicle is delivered to the customer. "
},
{
"nhtsa_id": "11012744",
"document_id": ["T-SB-0039-24 Rev2"],
"communication_date": "2024-12-06",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["T-SB-0039-24 Rev2"],
"systems": ["STRUCTURE"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "The condition known as acid rain is caused by airborne chemicals or particles in the atmosphere, which mix with rainwater, nighttime dew, or high humidity to form acidic compounds. If these contaminants settle and remain on a painted vehicle surface, especially the horizonal areas of the hood, roof,"
},
{
"nhtsa_id": "11012735",
"document_id": ["T-SB-0061-23 Rev2"],
"communication_date": "2024-12-05",
"communication_type": ["Service Bulletin/Repair Instructions"],
"campaign_id": ["T-SB-0061-23 Rev2"],
"systems": ["STRUCTURE"],
"mfr_system": null,
"mfr_subsystem": null,
"summary": "Toyota vehicles are currently protected with RapgardTM protective film designed to protect the horizontal painted surfaces. This material protects from acid rain, environmental fallout, and rail contamination. Follow the Removal Procedure in this bulletin to remove the RapgardTM protective film wi"
}
]
},
"rate": {
"complaints_per_100k_sold": 80.99857667240992,
"units_sold": 427168,
"sales_year": 2018,
"basis": "calendar_year_us_sales_proxy_for_model_year",
"source": "goodcarbadcar.net",
"source_url": "https://www.goodcarbadcar.net/toyota-rav4-sales-figures/",
"null_reason": null
},
"model_tags": {
"model": "typesafe/jev-1.13-20260917",
"schema_version": "tag-v1",
"tagged_complaints": 346,
"complaints_total": 346,
"tagged_share": 1,
"failure_modes": [
{
"label": "electrical_electronic",
"count": 106,
"share": 0.3063583815028902,
"mean_confidence": 0.7714150943396229,
"high_confidence_count": 55,
"low_confidence_count": 17
},
{
"label": "loss_of_control",
"count": 59,
"share": 0.17052023121387283,
"mean_confidence": 0.8657627118644066,
"high_confidence_count": 43,
"low_confidence_count": 5
},
{
"label": "mechanical_failure",
"count": 46,
"share": 0.1329479768786127,
"mean_confidence": 0.7204347826086959,
"high_confidence_count": 16,
"low_confidence_count": 5
},
{
"label": "fire_or_overheating",
"count": 35,
"share": 0.10115606936416185,
"mean_confidence": 0.8614285714285715,
"high_confidence_count": 23,
"low_confidence_count": 0
},
{
"label": "visibility_or_lighting",
"count": 32,
"share": 0.09248554913294797,
"mean_confidence": 0.9443749999999999,
"high_confidence_count": 28,
"low_confidence_count": 0
},
{
"label": "unclear",
"count": 27,
"share": 0.07803468208092486,
"mean_confidence": 0.8307407407407406,
"high_confidence_count": 18,
"low_confidence_count": 4
},
{
"label": "structural_or_corrosion",
"count": 15,
"share": 0.04335260115606936,
"mean_confidence": 0.6340000000000001,
"high_confidence_count": 3,
"low_confidence_count": 2
},
{
"label": "restraint_or_airbag",
"count": 13,
"share": 0.03757225433526012,
"mean_confidence": 0.8607692307692308,
"high_confidence_count": 9,
"low_confidence_count": 1
},
{
"label": "noise_or_comfort",
"count": 8,
"share": 0.023121387283236993,
"mean_confidence": 0.63,
"high_confidence_count": 2,
"low_confidence_count": 3
},
{
"label": "fluid_or_fuel_leak",
"count": 5,
"share": 0.014450867052023121,
"mean_confidence": 0.602,
"high_confidence_count": 1,
"low_confidence_count": 2
}
],
"severities": [
{
"label": "moderate",
"count": 165,
"share": 0.476878612716763,
"mean_confidence": 0.8358787878787874,
"high_confidence_count": 113,
"low_confidence_count": 13
},
{
"label": "low",
"count": 107,
"share": 0.3092485549132948,
"mean_confidence": 0.7178504672897195,
"high_confidence_count": 54,
"low_confidence_count": 20
},
{
"label": "high",
"count": 47,
"share": 0.13583815028901733,
"mean_confidence": 0.9025531914893618,
"high_confidence_count": 37,
"low_confidence_count": 2
},
{
"label": "critical",
"count": 17,
"share": 0.049132947976878616,
"mean_confidence": 0.7588235294117648,
"high_confidence_count": 10,
"low_confidence_count": 4
},
{
"label": "none",
"count": 10,
"share": 0.028901734104046242,
"mean_confidence": 0.8869999999999999,
"high_confidence_count": 8,
"low_confidence_count": 0
}
],
"confidence_note": "Confidence is the model's own probability for the label it chose (0 to 1), not accuracy.",
"note": "Model-generated labels on tagged complaints only. Model years 2013 and newer are tagged in full; 2012 in part (see tagged_share); earlier model years have no tags. NHTSA's own flags remain separate in the complaints block."
},
"model_tags_null_reason": null,
"data": {
"built_at": "2026-10-07T21:35:09.694572+00:00",
"sources": [
{ "name": "NHTSA complaints API", "url": "https://api.nhtsa.gov/complaints/complaintsByVehicle" },
{ "name": "NHTSA bulk complaints", "url": "https://static.nhtsa.gov/odi/ffdd/cmpl/FLAT_CMPL.zip" },
{ "name": "NHTSA recalls (2010 and later)", "url": "https://static.nhtsa.gov/odi/ffdd/rcl/FLAT_RCL_POST_2010.zip" },
{ "name": "NHTSA recalls (before 2010)", "url": "https://static.nhtsa.gov/odi/ffdd/rcl/FLAT_RCL_PRE_2010.zip" },
{ "name": "NHTSA investigations", "url": "https://static.nhtsa.gov/odi/ffdd/inv/FLAT_INV.zip" },
{
"name": "NHTSA manufacturer communications (yearly archives, newest shown)",
"url": "https://static.nhtsa.gov/odi/ffdd/tsbs/TSBS_RECEIVED_2025-2026.zip"
},
{ "name": "goodcarbadcar.net", "url": "https://www.goodcarbadcar.net/toyota-rav4-sales-figures/" }
],
"notes": [
"Complaints from the API and bulk file are merged and deduplicated by ODI number; the API alone misses records.",
"System and subsystem counts are numbers of distinct complaints, recalls or communications that name them. One record can name several systems, so shares across systems can add to more than 100 percent; a single share never exceeds 100 percent.",
"Recalls are counted once per campaign, investigations once per action and manufacturer communications once per NHTSA id, even when NHTSA lists several model names for the same record.",
"A sales denominator is a calendar-year proxy, not the population of vehicles still in use. Rates are copied from verified pipeline output."
]
}
}

Price

EventUSD per eventWhen it is charged
vehicle-risk-record$0.02Charged once per requested vehicle whose API risk record is successfully pushed to the dataset. Unknown vehicles, input failures, API errors and failed dataset writes are not charged.
  • The first input above costs $0.02. The second costs 2 x $0.02 = $0.04. 100 vehicles cost $2.00.
  • Repeating a vehicle in a run is a separate item and a separate charge.
  • Apify adds its own Actor start event to every run ($0.00005 on this Actor's Pricing tab on 2026-10-16).
  • Cap a run with maxTotalChargeUsd (example below). The run stops at the cap and keeps what it saved.

How to run

In Apify Console, open the Actor, paste an input example and press Start. To run it from code or from an agent:

Call from the Apify API

Use your Apify token. The Used Car Index API key is held by the Actor as a secret and is never part of your request, your dataset or the logs. This example caps the run at $1.

curl -X POST 'https://api.apify.com/v2/acts/theusedcarindex~vehicle-risk-record/run-sync-get-dataset-items?maxTotalChargeUsd=1' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"make":"Toyota","model":"RAV4","year":2018}'

Call from an MCP client

In an MCP client that supports remote Streamable HTTP, add this server URL with your Apify token as a bearer header:

URL: https://mcp.apify.com/?actors=theusedcarindex/vehicle-risk-record
Header: Authorization: Bearer <your Apify token>

Initialize the connection and call tools/list. The client then shows this Actor as a tool; call it with the first input example as its arguments. Tool names and wrapper fields come from tools/list, so read them there instead of assuming a name. If your client offers a generic Actor-run tool instead, select theusedcarindex/vehicle-risk-record and pass the same input. The run status and dataset come back with the tool result. This route needs access to the Actor from your Apify account.

ActorUse it for
VIN to risk recordVINs in; the NHTSA vPIC decode, the same record as this Actor and, if you ask for it, each VIN's stored listing history out
Chicagoland listing changesStored listing events (new, price drop, relisted, delisted) for the Chicagoland dealers the collector watches

The same data is available without Apify from The Used Car Index at https://theusedcarindex.com: GET https://api.theusedcarindex.com/v1/vehicle_risk and /v1/listing_changes, the same records as web pages at https://theusedcarindex.com/vehicles, and an MCP endpoint at https://api.theusedcarindex.com/mcp that serves the API tools directly and does not run or charge these Actors. The MCP endpoint has a free tier that needs no key. As of 2026-10-16 it allows 20 requests per minute per IP and 2,000 per day shared, returns full vehicle risk records and returns up to 10 listing events per call with no paging. Plans with higher limits and cursor paging are at https://theusedcarindex.com/#pricing. The API and the MCP endpoint also serve recall_changes: new and updated NHTSA recalls, investigations and complaint-count changes recorded from a daily comparison of NHTSA's bulk files. Questions or a data issue: use the Issues tab on this Actor's page.

What it returns

Input is a make, a model and a year, or a vehicles array of 1 to 100 such objects; the two forms cannot be mixed. Labels are trimmed and must have 1 to 64 characters, and years run from 2000 through 2027. Model spellings and aliases resolve to the stored vehicle.

One dataset item per requested vehicle:

ItemWhenCharged
The complete vehicle risk record, with no wrapperThe vehicle was foundYes
found false with input and suggestions (up to 10 close names)No vehicle matches the make, model and yearNo
input and error, with a stable code and the HTTP status when there is oneAny other lookup failureNo

One failed lookup does not stop the others. A not-found item, real output for Toyota Corolla Cross Hybrid 2018 on 2026-10-16:

{
"found": false,
"input": { "make": "Toyota", "model": "Corolla Cross Hybrid", "year": 2018 },
"suggestions": [{ "make": "TOYOTA", "model": "COROLLA", "year": 2018, "family_key": "COROLLA" }]
}

The record has these blocks:

BlockWhat it holds
vehicleThe make, model and year the lookup resolved to, its family_key, the NHTSA labels that carry complaints (matched_models), other labels (other_names) and how it resolved (resolved_via)
complaintsDistinct complaints, with counts of those that involve a crash, a fire or an injury and totals for injuries and deaths; by_source (both, bulk_only, api_only); coverage_complete; top systems with shares and top subsystems
recallsCampaign count, do-not-drive and park-outside counts, the largest potential unit count, counts by system and the latest campaigns with defect, consequence and remedy text and NHTSA links
investigationsAction count, how many are open, and the actions with subject, summary and campaign numbers
manufacturer_communicationsCount of communications (one per NHTSA id), counts by system and subsystem and the most recent with date, type and summary
rateComplaints per 100k sold with units sold, sales year, basis and the named source; or null with a null_reason
model_tagsModel-generated labels (failure mode and severity) with counts, shares and confidence, kept apart from NHTSA's fields; or null with model_tags_null_reason
dataThe build time (built_at), the sources with their URLs and plain-language notes

Input is validated before any lookup or charge. Vehicles are looked up one at a time and charged as each record is saved. The run stops at your spending limit and keeps what it saved. A request that fails on the network, with HTTP 429 or with a 5xx status is tried up to three times in total; if the API still returns an error for a vehicle, that vehicle gets an error item and the run continues.

Sources and facts boundary

Complaints, recalls, investigations and manufacturer communications come from NHTSA's published files and API; the record's data.sources lists each one with its URL. NHTSA complaints combine the complaints API and the bulk file, merged and deduplicated by ODI number. On the 2026-10-07 build, 231 of the 350 complaints for the 2018 Mazda CX-5 came from the bulk file only (by_source.bulk_only). Rates divide complaints by calendar-year US sales from a named public source, a proxy for the model year, and appear only where that source is verified for the vehicle; otherwise rate is null with a reason. Model tags are model-generated labels (the model is named in model_tags.model), are marked as such and never replace NHTSA's own fields.

Facts only. The stored listing events behind the sister Actors carry VIN, price, mileage, status, dates and a link back. Never photos or dealer-written text. A listing that is no longer observed is reported as delisted, and delisted is never labeled sold. NHTSA official record text in risk records is distinct from dealer-written text. Dataset items never contain added agent instructions.

Known gaps

  • A record describes a make, model and model year as NHTSA files them. It is not the history of an individual car.
  • A record reflects the NHTSA data build in data.built_at (2026-10-07 on 2026-10-16); filings after the build appear after the next build. A zero count is confirmed only when complaints.coverage_complete is true.
  • Rates use calendar-year sales as a proxy for the model year and exist only where a verified sales source matches the vehicle. Counts are not a reliability rating, prediction or repair recommendation.
  • Model tags exist only for model years 2012 and newer (2012 in part), cover tagged complaints only, and their confidence is the model's own probability, not accuracy.
  • Some manufacturer communication and investigation summaries show stray characters where the source text has punctuation such as a dash or an apostrophe.
  • Dataset writes and charges are separate operations. If a run stops after a write, an item can be saved without its charge, and running the same input again repeats items and charges.
  • A run through an MCP client has not been tested end to end.

Owner setup, done once by the publisher and not by callers: set the secret environment variable UCI_API_KEY in the Apify Console; it is never accepted in input, logged or returned. UCI_API_BASE optionally selects another API origin (HTTPS, default https://api.theusedcarindex.com). Configure the custom event from .actor/pay_per_event.json and turn automatic dataset-item pricing off; the Actor stops before any lookup if the pricing does not match.