Vehicle Safety Intelligence
Pricing
from $3.00 / 1,000 results
Vehicle Safety Intelligence
Official NHTSA recalls, complaints, and safety ratings for fleets, dealers, insurers, vehicle history, APIs, schedules, and monitoring.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Skootle
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
NHTSA Vehicle Safety Intelligence
Get normalized, official United States vehicle-safety signals for a single make, model, and model year. This actor reads public National Highway Traffic Safety Administration, NHTSA, recall, consumer-complaint, and crash-test-rating endpoints, then writes a summary plus source-linked records that are ready for a spreadsheet, database, alert queue, or review workflow.
It is designed for a first-pass safety screen. Give it a vehicle configuration and receive a consistent dataset with recall campaigns, reported complaints, and ratings where NHTSA publishes them. Each record retains the official API URL and retrieval time so a buyer can reproduce the lookup later.
What you get
Every successful run writes a summary record first. It is followed by zero or more recall, complaint, and rating records. The actor uses these stable record types rather than forcing unrelated NHTSA source objects into one overloaded row.
summary: returned counts, crash and fire complaint counts, injury and death totals, rating count, and average published overall rating.recall: NHTSA campaign number, component, manufacturer, consequence, remedy, received date, and available parking or OTA flags.complaint: ODI complaint number, components, narrative, crash and fire flags, injury and death counts, filed date, and failure mileage where supplied.rating: NHTSA vehicle configuration, vehicle ID, and overall, front-crash, side-crash, and rollover ratings.
All records include schemaVersion, recordType, id, sourceUrl, retrievedAt, fieldCompletenessScore, and agentMarkdown. Use the structured fields for automation and agentMarkdown when a reviewer needs a compact human-readable briefing.
Who it is for
- Used-car marketplaces and dealer groups that need a consistent intake screen before a person reviews a vehicle.
- Fleet, rental, and leasing teams that need vehicle-level recall and complaint context in an asset workflow.
- Insurance, research, and compliance teams that need public-source evidence attached to a vehicle record.
- Vehicle researchers comparing configurations that can have more than one NHTSA safety-rating result.
The actor does not determine whether a vehicle is safe to drive, whether a repair is complete, or whether a complaint establishes a defect. It organizes public information so the right person can investigate.
Quick start
Run with a make, model, and model year. The defaults below request all three available source categories, with a cap of 25 rows in each category.
{"make": "Tesla","model": "Model 3","modelYear": 2023,"includeComplaints": true,"includeRatings": true,"limitPerType": 25}
Then read the dataset in this order:
- Open the first row, where
recordTypeissummary. - Filter by
recordTypeto inspect recalls, complaints, or ratings separately. - Keep
sourceUrlwith any downstream decision or ticket. - Recheck the official source before acting on a recall, safety, legal, insurance, or purchasing decision.
Input reference
| Field | Required | Description |
|---|---|---|
make | Yes | Vehicle manufacturer name as recognized by NHTSA, for example Tesla. |
model | Yes | Vehicle model as recognized by NHTSA, for example Model 3. |
modelYear | Yes | Model year from 1886 through next calendar year. |
includeComplaints | No | Defaults to true. Set false to skip the complaints endpoint. |
includeRatings | No | Defaults to true. Set false to skip ratings search and rating-detail calls. |
limitPerType | No | Defaults to 25, minimum 1, maximum 100. Caps recalls, complaints, and ratings independently. |
Use conventional NHTSA naming and do not substitute a trim name for the model unless NHTSA recognizes that model string. A precise configuration produces the most useful source match.
Output contract
Common fields
| Field | Meaning |
|---|---|
schemaVersion | Normalized output version, currently 1.0. |
id | Stable source-derived ID such as nhtsa-recall-22v844000. |
sourceUrl | Exact public NHTSA API endpoint used for that row. |
retrievedAt | ISO 8601 time at which the actor started the source lookup. |
fieldCompletenessScore | Percentage of populated normalized fields for the row. It is a data-completeness signal, not a risk score. |
agentMarkdown | Plain-language source summary derived from the same row. |
Summary record
The summary is always first, including when NHTSA returns no matching records. An honest no-match run returns one summary with count: 0 and sourceStatus: "ok"; failed or malformed source responses fail the run instead of appearing as no data.
{"recordType": "summary","id": "nhtsa-summary-2023-tesla-model-3","query": { "make": "Tesla", "model": "Model 3", "modelYear": 2023 },"count": 6,"sourceStatus": "ok","recallCount": 2,"complaintCount": 2,"ratingCount": 2,"crashComplaintCount": 1,"fireComplaintCount": 0,"injuryCount": 0,"deathCount": 0,"averageOverallRating": 5}
Counts are rows actually returned after limitPerType is applied. They are not a complete lifetime count when a cap truncates a source collection.
Worked examples from the live NHTSA E2E shape
The actor's live E2E uses Tesla, Model 3, and 2023, with complaints and ratings enabled and limitPerType: 2. The live check requires a summary, recall, complaint, and rating, and verifies that the resulting dataset has at least four rows. The examples below use those actual normalized shapes, not an invented all-purpose vehicle schema. Field values can change as NHTSA updates its public data.
1. Recall campaign routing
The live run produces recall-shaped rows with keys including campaignNumber, component, consequence, remedy, manufacturer, reportReceivedDate, parkIt, parkOutside, and overTheAirUpdate. A known output shape is:
{"recordType": "recall","id": "nhtsa-recall-22v844000","vehicle": "2023 Tesla Model 3","campaignNumber": "22V844000","component": "EXTERIOR LIGHTING:TAIL LIGHTS","consequence": "...","remedy": "...","reportReceivedDate": "2022-11-15T00:00:00.000Z","overTheAirUpdate": false,"sourceUrl": "https://api.nhtsa.gov/recalls/recallsByVehicle?..."}
Buyer workflow: filter rows where recordType equals recall, group by campaignNumber, and create one review task per campaign. Put component, consequence, and remedy in the task, then link sourceUrl. Do not interpret a false overTheAirUpdate value as proof that a dealer repair is required. It only reflects the field supplied by NHTSA for that campaign.
2. Complaint escalation queue
The live E2E requires complaint rows and confirms their normalized shape includes odiNumber, component, summary, crash, fire, injuryCount, deathCount, complaintFiledDate, and failureMileage when source values exist.
{"recordType": "complaint","id": "nhtsa-complaint-12345678","vehicle": "2023 Tesla Model 3","odiNumber": "12345678","component": ["STEERING"],"crash": true,"fire": false,"injuryCount": 2,"deathCount": 0,"complaintFiledDate": "2026-07-16T00:00:00.000Z","summary": "Steering concern"}
Buyer workflow: route only complaint rows with crash: true, fire: true, injuryCount > 0, or deathCount > 0 to a trained reviewer. Keep the narrative as evidence, but label it as a consumer report. A complaint does not prove causation, prevalence, or an unresolved defect.
3. Configuration-aware rating comparison
The live check calls NHTSA's rating search and then its individual vehicle-detail endpoints. Its existing live evidence records rating source URLs for vehicle IDs 19945 and 19944. That is why ratings are separate rows rather than a single property on the summary.
{"recordType": "rating","id": "nhtsa-rating-19945","vehicle": "2023 Tesla Model 3","vehicleId": "19945","vehicleDescription": "2023 Tesla Model 3 AWD","overallRating": 5,"overallFrontCrashRating": 5,"overallSideCrashRating": 5,"rolloverRating": 5,"sourceUrl": "https://api.nhtsa.gov/SafetyRatings/VehicleId/19945?format=json"}
Buyer workflow: group rating rows by vehicleDescription, not just make and model. Compare the four numeric rating fields among the returned configurations, then make sure the candidate vehicle's drivetrain and body style match the NHTSA description before using a rating in buyer-facing material.
4. One-row fleet intake brief
The first E2E row is a summary with numeric risk mirrors. It is shaped for a fleet or marketplace intake table, where a system needs counts without parsing prose.
{"recordType": "summary","id": "nhtsa-summary-2023-tesla-model-3","recallCount": 2,"complaintCount": 2,"ratingCount": 2,"crashComplaintCount": 1,"fireComplaintCount": 0,"injuryCount": 0,"deathCount": 0,"averageOverallRating": 5,"agentMarkdown": "NHTSA vehicle safety summary for 2023 Tesla Model 3..."}
Buyer workflow: save the summary by its ID, show only the numeric fields in a prioritization grid, and preserve agentMarkdown for the reviewer. If complaintCount or recallCount is nonzero, the next step is review of the linked detail rows, not automatic rejection or approval.
Buyer tutorials
Used-vehicle acquisition screening
- Start with the exact make, model, and model year from the listing or VIN decode output.
- Run with both
includeComplaintsandincludeRatingsset totrue. - Copy the summary fields into the deal file: returned recall count, complaint count, crash and fire complaint counts, and average overall rating.
- Review every returned recall's
remedyandsourceUrl. Determine repair completion through the appropriate VIN-specific or dealer process. - Review high-severity complaint signals separately from broad complaint volume. Preserve the exact ODI number and narrative for a reviewer.
- Confirm rating configuration with
vehicleDescription. A rating row is not automatically the rating for every trim.
Fleet monitoring intake
- Run a separate actor job for each model year, make, and model combination in the fleet.
- Use
limitPerTypeappropriate to the daily review capacity. A lower cap controls dataset size but also means summary counts are counts returned, not an exhaustive count. - Store
idas a de-duplication key andretrievedAtas the observation timestamp. - Trigger review for a new
campaignNumber, a newly observed complaint with crash or fire true, or a changed rating configuration. - Retain
sourceUrlin every alert so an analyst can reproduce the official lookup. - Keep maintenance and VIN-specific repair status in a separate system. This actor does not verify either.
Marketplace listing research
- Use the summary as an internal research aid, not public safety advice.
- Add recall and complaint evidence to an internal vehicle dossier, with source URLs visible to the reviewer.
- Do not convert complaint narratives into a claim about a specific vehicle, seller, or manufacturer.
- If a listing includes a VIN, use NHTSA's VIN-specific recall service separately before making a representation about open recalls.
Filtering and integration patterns
The following patterns work well in a database or no-code workflow:
recall review: recordType = "recall"urgent complaint: recordType = "complaint" AND (crash = true OR fire = true OR injuryCount > 0 OR deathCount > 0)rating comparison: recordType = "rating", grouped by vehicleDescriptionintake card: recordType = "summary"
For deduplication, use id plus the latest retrievedAt. The IDs are derived from NHTSA campaign numbers, ODI numbers, and rating vehicle IDs. A source can revise its text over time, so preserve the latest source URL and timestamp even when an ID is familiar.
Limitations and data interpretation
- The actor is make, model, and model-year research. It does not perform a VIN-specific recall lookup.
- Consumer complaints are public reports. They are not verified findings that a defect caused a crash, fire, injury, death, or failure.
- NHTSA may return multiple ratings for different configurations, or no ratings for a requested vehicle.
limitPerTypetruncates each record category independently. The summary reports returned rows after that cap.- NHTSA source content can change, be corrected, omit fields, be temporarily unavailable, or use different capitalization for collection keys. The actor normalizes known lower-case
resultsand upper-caseResultsresponse shapes. fieldCompletenessScoremeasures populated fields in one normalized row. It is not a safety score, defect severity score, or confidence score.- A recall row does not say whether a particular VIN is affected, repaired, owned, registered, or currently safe to operate.
- This service does not offer legal, safety, engineering, insurance, medical, or purchase advice.
Pricing
The Actor uses live Apify pay-per-event pricing:
| Item | Live value |
|---|---|
| Pricing model | PAY_PER_EVENT |
| Start fee | $0.01 per run |
| Dataset result | $0.003 per result, displayed as $3.00 per 1,000 |
| Platform usage billed separately | No |
Use limitPerType and your Apify run-charge controls to keep recall, complaint, and rating research within budget.
Frequently asked questions
1. Is the data official?
The actor calls public NHTSA API endpoints and puts the exact endpoint in sourceUrl. It normalizes the response for easier use, but NHTSA remains the source of the underlying public data.
2. Does a complaint prove there is a defect?
No. A complaint is a consumer report to NHTSA. Review its narrative and official source, and do not infer causation or a vehicle-specific condition from the existence of a complaint row.
3. Can I use this to find VIN-specific open recalls?
No. Supply make, model, and model year here for broad vehicle research. Use NHTSA's VIN lookup and an authorized repair source for VIN-specific recall status and completion.
4. Why are there multiple rating records for one make, model, and year?
NHTSA can publish different results for separate vehicle configurations. Use vehicleDescription and vehicleId to identify the configuration before comparing or presenting a rating.
5. What does a zero-count summary mean?
It means the queried NHTSA endpoints returned no matching rows for the selected categories during that run. It does not prove the vehicle has no safety concerns, no open recalls, or no relevant information elsewhere.
6. What happens if NHTSA is unavailable or returns malformed data?
The actor fails closed with a source error. It does not turn a blocked, invalid, or malformed response into a deceptive zero-result summary.
7. What does limitPerType limit?
It limits recall, complaint, and rating rows independently, from 1 to 100 each. The summary counts reflect what was returned after those limits, so set a high enough limit for the review you need.
8. Can I make automated decisions from the risk fields?
Treat the numeric fields as routing and prioritization signals. Put a human review between these public-source signals and any safety, underwriting, purchase, employment, or legal decision.
Related actors
- FDIC Bank Intelligence: use alongside this actor when an auto-finance, lender, or counterparty review also needs official bank data and insurance context.
- CPSC Product Recall Intelligence: use alongside this actor when an investigation spans vehicle equipment and separate consumer-product recalls.
Legal and non-affiliation
NHTSA data used by this actor is public government information. This actor is not affiliated with, endorsed by, sponsored by, or operated by the National Highway Traffic Safety Administration, the United States Department of Transportation, Tesla, or any vehicle manufacturer. NHTSA names and data are used descriptively to identify the public source.
Validate current information through the linked official source before making a safety, legal, insurance, employment, or purchasing decision. You are responsible for ensuring your use complies with applicable laws, agreements, and policies.
Support and feedback
For support, provide the actor input, run ID, approximate run time, affected output id, and its sourceUrl. Do not include personal complaint details or sensitive customer data unless a support channel specifically requires it.
If a source field changes shape or a normalization result looks wrong, include a minimal reproducible example and the official source URL. That makes it possible to compare the source response with the normalized row.
If this actor saved time in a research or workflow review, leave feedback on its Apify listing. Specific feedback about missing fields, source changes, and integration use cases helps prioritize improvements.