NHTSA Vehicle Recalls & Complaints Scraper
Pricing
from $6.15 / 1,000 results
NHTSA Vehicle Recalls & Complaints Scraper
Scrape official US vehicle safety recalls and consumer complaints from the NHTSA database by make, model and year. Get recall campaign numbers, affected components, defect summaries, consequences, remedies and injury reports. Export to JSON, CSV or Excel.
Pricing
from $6.15 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
NHTSA Vehicle Recalls & Complaints Scraper
Here is one real result, with every field the actor returns for a recall:
{"dataset": "recalls","campaignNumber": "20V771000","make": "HONDA","model": "ACCORD","modelYear": "2020","component": "ELECTRICAL SYSTEM:BODY CONTROL MODULE:SOFTWARE","summary": "Honda (American Honda Motor Co.) is recalling certain 2018-2020 Accord Sedan, Accord Hybrid, and 2019-2020 Insight vehicles. A software error may cause intermittent or continuous disruptions in communication between the Body Control Module (BCM) and other components. This may result in malfunctions of various systems such as the windshield wipers and defroster, rearview camera, exterior lights, audible warning of a stopped vehicle, and power window operation.","consequence": "Various system malfunctions such as inoperative windshield wipers, defroster, rearview camera, or exterior lighting can increase the risk of a crash.","remedy": "Honda will notify owners, and dealers will update the BCM software, free of charge. The recall is expected to begin February 22, 2021. Owners may contact Honda customer service at 1-888-234-2138. Honda's number for this recall is X95.","notes": "Owners may also contact the National Highway Traffic Safety Administration Vehicle Safety Hotline at 1-888-327-4236 (TTY 1-800-424-9153), or go to www.safercar.gov.","manufacturer": "Honda (American Honda Motor Co.)","reportReceivedDate": "2020-10-12","potentialUnitsAffected": 737233,"parkIt": false,"parkOutSide": false,"overTheAirUpdate": false,"observedAt": "2026-08-10T14:17:18.215Z","error": null}
The most complete NHTSA vehicle scraper available. It returns every field the NHTSA safety recall campaign record exposes (campaign number, component, summary, consequence, remedy, units affected and park-it warnings) and, in complaints mode, every field of a consumer complaint (crash, fire, injuries, deaths, incident dates and VIN), across any combination of make, model and model year you provide.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor queries the NHTSA vehicle safety dataset for every combination of make, model and model year you provide, and writes one normalized record per result to the run's dataset. In recalls mode it returns official manufacturer safety recall campaigns; in complaints mode it returns consumer complaints filed with NHTSA.
The NHTSA API returns records per exact make, model and model year, so all three lists are required. For example, 2 makes, 1 model and 2 years runs 4 queries. Dates are normalized to YYYY-MM-DD, and missing source values are returned as null, never invented.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 safety recall campaigns for the 2020 Honda Accord.
{"dataset": "recalls","makes": ["Honda"],"models": ["Accord"],"modelYears": ["2020"],"maxRecalls": 10}
Switch dataset to complaints to pull consumer complaints for the same vehicles instead.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
dataset | enum | no | recalls | What to collect: recalls (official manufacturer safety recall campaigns) or complaints (consumer complaints filed with NHTSA). |
makes | string[] | yes | ["Honda"] | Vehicle makes to query, for example Honda, Toyota, Ford. One per line. Case-insensitive. |
models | string[] | yes | ["Accord"] | Vehicle models to query, for example Accord, Camry, F-150. One per line. |
modelYears | string[] | yes | ["2020"] | Model years to query, for example 2020, 2021. One four-digit year per line. |
maxRecalls | integer | no | 10 | Maximum records to collect across all queries. |
The actor queries every combination of make x model x model year. All three lists are required.
Output reference
One dataset item per result. Fields depend on dataset. Types: string, integer, boolean, object[], or null when the source value is absent.
Common fields (both datasets):
| Field | Type | Description |
|---|---|---|
dataset | string | recalls or complaints, matching the mode that produced the record. |
make | string | Vehicle make. |
model | string | Vehicle model. |
modelYear | string | Model year. |
component | string | Affected component or system. |
summary | string | Narrative summary of the recall or complaint. |
manufacturer | string | Manufacturer name. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Recalls mode (dataset: "recalls"):
| Field | Type | Description |
|---|---|---|
campaignNumber | string | NHTSA recall campaign number (unique per campaign), for example 20V771000. |
consequence | string | Description of the safety consequence of the defect. |
remedy | string | The manufacturer's remedy and owner contact information. |
notes | string | Additional NHTSA notes. |
reportReceivedDate | string | Date NHTSA received the recall report (YYYY-MM-DD). |
potentialUnitsAffected | integer | Estimated number of vehicles affected. |
parkIt | boolean | true when NHTSA advises not to drive the vehicle until repaired. |
parkOutSide | boolean | true when NHTSA advises parking outside due to fire risk. |
overTheAirUpdate | boolean | true when the remedy is delivered as an over-the-air update. |
Complaints mode (dataset: "complaints"):
| Field | Type | Description |
|---|---|---|
odiNumber | string | NHTSA ODI complaint number (unique per complaint). |
products | object[] | Vehicles named in the complaint, each with type, make, model, modelYear, manufacturer. |
crash | boolean | Whether a crash was reported, or null. |
fire | boolean | Whether a fire was reported, or null. |
numberOfInjuries | integer | Number of injuries reported, or null. |
numberOfDeaths | integer | Number of deaths reported, or null. |
dateOfIncident | string | Date of the incident (YYYY-MM-DD). |
dateComplaintFiled | string | Date the complaint was filed (YYYY-MM-DD). |
vin | string | Vehicle VIN when the complainant provided one, else null. |
Example output record
The hero record at the top of this page is a real record from a live run (input {"dataset":"recalls","makes":["Honda"],"models":["Accord"],"modelYears":["2020"],"maxRecalls":10}).
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~nhtsa-recalls-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"dataset":"recalls","makes":["Toyota"],"models":["Camry"],"modelYears":["2021","2022"],"maxRecalls":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~nhtsa-recalls-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"dataset":"complaints","makes":["Ford"],"models":["F-150"],"modelYears":["2020"],"maxRecalls":100}'
Apify CLI:
apify call scrapers_lat/nhtsa-recalls-scraper \--input '{"dataset":"recalls","makes":["Honda"],"models":["Accord"],"modelYears":["2020"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxRecalls.
FAQ and troubleshooting
A run returned 0 records. Why? NHTSA has no recalls or complaints for that exact make, model and year combination, or the make/model spelling did not match. Confirm the vehicle exists in NHTSA's data and check spelling. Zero-result runs are not charged.
Why are make, model and year all required? The NHTSA vehicle API returns records only for an exact make, model and model year. The actor runs one query per combination of the three lists you provide.
What is the difference between recalls and complaints?
recalls returns official manufacturer safety recall campaigns (campaign number, remedy, units affected). complaints returns consumer complaints (crash, fire, injuries, deaths, incident date, VIN). Set dataset accordingly.
What do parkIt and parkOutSide mean?
parkIt true means NHTSA advises not to drive the vehicle until it is repaired. parkOutSide true means the vehicle should be parked away from structures due to fire risk. Both come straight from NHTSA.
Why is vin null on a complaint?
The complainant did not provide a VIN. Missing values are returned as null, never invented.
Is this an official NHTSA tool? No. This actor is independent and has no affiliation with NHTSA. It reads only data that is publicly available through the NHTSA API. Use it in accordance with NHTSA's terms.
Related scrapers
- NHTSA VIN Decoder Scraper: decode vehicle specs from a VIN.
- TrueCar Listings Scraper: US used and new car listings from TrueCar.
- FMCSA Carriers Scraper: US motor carrier records.
- CPSC Recalls Scraper: US consumer product safety recalls.
- openFDA Food Recalls Scraper: US FDA food recall enforcement records.
- FDA Drug & Device Recalls Scraper: US FDA drug and device recalls.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with NHTSA. Accesses only publicly available NHTSA data. Use in accordance with NHTSA's terms of service.
