NHTSA Vehicle Recall Scraper — Car Safety Recall Digest
Pricing
$8.00 / 1,000 nhtsa recall digest rows
NHTSA Vehicle Recall Scraper — Car Safety Recall Digest
Watch NHTSA recalls and complaints by VIN, make/model or manufacturer: one digest row per vehicle with new recalls, complaint hotspots by component, linked investigations and a signal level. No API key.
Pricing
$8.00 / 1,000 nhtsa recall digest rows
Rating
0.0
(0)
Developer
naoki anzai
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
NHTSA Vehicle Recall Watch Scraper
What you get: one digest row per vehicle, VIN, or manufacturer feed with new and total NHTSA recalls and complaints in the lookback window, complaint hotspots by component, linked investigations, a signal level, and a recommended action, billed at $0.008 per row.
Sample output from a real run (2026-10-18, the JSON below: 2021 Ford F-150, recalls 14 days / complaints 30 days, first run):
| feedName | status | new recalls | new complaints | top components | investigationSignal |
|---|---|---|---|---|---|
| 2021 Ford F-150 | initial | 0 | 10 | Exterior lighting 2, Power train 2, Engine 1, Steering 1 | urgent |
resolvedCoverage shows which official model variants were matched (6 F-150 variants in this run). Every input needs at least one entry in feeds.
Open Input (leave defaults → Start)
Paid first run ≈ USD 0.008 per digest row (1 vehicle feed, recallLookbackDays 14, caps 5/5). Open Console Input (deep link above) and run this JSON.
{"feeds": [{"id": "ford-f150-2021","name": "2021 Ford F-150","type": "vehicle","make": "FORD","model": "F-150","modelYear": 2021}],"recallLookbackDays": 14,"complaintLookbackDays": 30,"maxRecallsPerVehicle": 5,"maxComplaintsPerVehicle": 5,"maxEvidenceItems": 3,"complaintAlertThreshold": 3,"delivery": "dataset","datasetMode": "all","snapshotKey": "nhtsa-vehicle-first-run","notifyOnNoNew": true,"dryRun": false}
Use this actor to monitor public NHTSA recall and vehicle complaint metadata for fleet, product, and safety-operations review. Input VINs, makes, models, manufacturers, or watch terms; get source-linked digest rows for recalls and complaint trends. Complaint records are consumer-submitted and unverified; this actor does not confirm defects or replace official safety review.
Store Quickstart
Run this actor with your target input. Results appear in the Apify Dataset and can be piped to webhooks for real-time delivery. Use dryRun to validate before committing to a schedule.
Use with Apify MCP
Exact actor: taroyamada/nhtsa-vehicle-recall-digest
Sample input JSON:
{"feeds": [{"id": "ford-f150-2021","name": "2021 Ford F-150","type": "vehicle","make": "FORD","model": "F-150","modelYear": 2021}],"recallLookbackDays": 14,"complaintLookbackDays": 30,"maxRecallsPerVehicle": 5,"maxComplaintsPerVehicle": 5,"maxEvidenceItems": 3,"complaintAlertThreshold": 3,"delivery": "dataset","datasetMode": "all","snapshotKey": "nhtsa-vehicle-first-run","notifyOnNoNew": true,"dryRun": false}
Key Features
- 🏛️ Government-sourced — Pulls directly from official agency feeds — no third-party aggregators
- ⏱️ Timely digests — Daily/weekly rollups of new filings, rulings, or actions
- 🔍 Keyword watchlists — Flag items matching your compliance/legal watch terms
- 📊 Structured metadata — Agency, date, docket, document type, link — all dataset-ready
- 📡 Webhook alerts — Push to legal/compliance teams the moment new items match watchlist
Use Cases
| Who | Why |
|---|---|
| Developers | Automate recurring data fetches without building custom scrapers |
| Data teams | Pipe structured output into analytics warehouses |
| Ops teams | Monitor changes via webhook alerts |
| Product managers | Track competitor/market signals without engineering time |
Input
| Field | Type | Default | Description |
|---|---|---|---|
| feeds | array | — | One digest row per watched vehicle, VIN, or manufacturer feed. |
| recallLookbackDays | integer | 30 | Default recall lookback window used when a feed-specific override is not set. |
| complaintLookbackDays | integer | 90 | Default complaint lookback window used when a feed-specific override is not set. |
| maxRecallsPerVehicle | integer | 50 | Default cap on recall evidence rows per feed. |
| maxComplaintsPerVehicle | integer | 100 | Default cap on complaint evidence rows per feed. |
| maxDiscoveredModelsPerFeed | integer | 12 | Default cap on manufacturer model expansion before complaints and recalls are fetched. |
| maxEvidenceItems | integer | 10 | Upper bound on recall or complaint items retained in each digest section. |
| complaintAlertThreshold | integer | 3 | Complaint-count threshold that escalates a digest to action_needed. |
Input Example
{"feeds": [{"id": "ford-f150-2021","name": "2021 Ford F-150","type": "vehicle","make": "FORD","model": "F-150","modelYear": 2021}],"recallLookbackDays": 30,"complaintLookbackDays": 90,"maxRecallsPerVehicle": 50,"maxComplaintsPerVehicle": 100,"maxDiscoveredModelsPerFeed": 12,"maxEvidenceItems": 10,"complaintAlertThreshold": 3,"delivery": "dataset","datasetMode": "all","snapshotKey": "nhtsa-vehicle-recall-digest-state","notifyOnNoNew": true,"requestTimeoutSeconds": 30,"batchDelayMs": 600,"dryRun": false}
Input Examples
Example: Single vehicle
{"feeds": [{"id": "toyota-rav4-2022","name": "2022 Toyota RAV4","type": "vehicle","make": "TOYOTA","model": "RAV4","modelYear": 2022}],"snapshotKey": "nhtsa-rav4-2022"}
Example: Small fleet portfolio
{"feeds": [{"id": "ford-f150-2021","name": "2021 Ford F-150","type": "vehicle","make": "FORD","model": "F-150","modelYear": 2021},{"id": "tesla-model-y-2023","name": "2023 Tesla Model Y","type": "vehicle","make": "TESLA","model": "MODEL Y","modelYear": 2023}],"snapshotKey": "nhtsa-fleet-watch"}
Example: Recurring watch (rows only when something is new)
{"feeds": [{"id": "ford-f150-2021","name": "2021 Ford F-150","type": "vehicle","make": "FORD","model": "F-150","modelYear": 2021}],"snapshotKey": "nhtsa-f150-weekly","datasetMode": "new_only"}
Output
| Field | Type | Description |
|---|---|---|
meta | object | |
errors | array | |
digests | array | |
digests[].feedId | string | |
digests[].feedName | string | |
digests[].feedType | string | |
digests[].checkedAt | timestamp | |
digests[].recallWindowStart | timestamp | |
digests[].complaintWindowStart | timestamp | |
digests[].recallLookbackDays | number | |
digests[].complaintLookbackDays | number | |
digests[].status | string | |
digests[].changedSinceLastRun | boolean | |
digests[].changeSummary | string | |
digests[].actionNeeded | boolean | |
digests[].requestedTarget | object | |
digests[].resolvedCoverage | object | |
digests[].newRecallCount | number | |
digests[].totalRecallCount | number | |
digests[].newComplaintCount | number | |
digests[].totalComplaintCount | number | |
digests[].seriousComplaintCount | number | |
digests[].newSeriousComplaintCount | number | |
digests[].linkedInvestigationCount | number | |
digests[].newLinkedInvestigationCount | number | |
digests[].componentHotspots | array | |
digests[].investigationSignal | string | |
digests[].recommendedAction | string | |
digests[].signalTags | array | |
digests[].newRecalls | array | |
digests[].newComplaints | array | |
digests[].linkedInvestigations | array | |
digests[].evidence | object | |
digests[].warnings | array | |
digests[].error | null |
Output Example
Real row from the 2026-10-18 run of the JSON at the top (trimmed):
{"feedId": "ford-f150-2021","feedName": "2021 Ford F-150","feedType": "vehicle","recallLookbackDays": 14,"complaintLookbackDays": 30,"status": "initial","changedSinceLastRun": true,"actionNeeded": true,"resolvedCoverage": {"discoveryMode": "vehicle_family","coverageNote": "Matched 6 official NHTSA model variant(s) for F-150.","matchedModelCount": 6},"newRecallCount": 0,"totalRecallCount": 0,"newComplaintCount": 10,"totalComplaintCount": 10,"componentHotspots": [{"component": "EXTERIOR LIGHTING","complaintCount": 2,"newComplaintCount": 2},{"component": "POWER TRAIN","complaintCount": 2,"newComplaintCount": 2}],"investigationSignal": "urgent","recommendedAction": "First run for 2021 Ford F-150: baseline includes 0 recall(s) and 10 complaint(s). Review current signals before switching to recurring monitoring."}
API Usage
Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.
cURL
curl -X POST "https://api.apify.com/v2/acts/taroyamada~nhtsa-vehicle-recall-digest/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{ "feeds": [{"id": "ford-f150-2021", "name": "2021 Ford F-150", "type": "vehicle", "make": "FORD", "model": "F-150", "modelYear": 2021}], "recallLookbackDays": 30, "complaintLookbackDays": 90, "maxRecallsPerVehicle": 50, "maxComplaintsPerVehicle": 100, "maxDiscoveredModelsPerFeed": 12, "maxEvidenceItems": 10, "complaintAlertThreshold": 3, "delivery": "dataset", "datasetMode": "all", "snapshotKey": "nhtsa-vehicle-recall-digest-state", "notifyOnNoNew": true, "requestTimeoutSeconds": 30, "batchDelayMs": 600, "dryRun": false }'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("taroyamada/nhtsa-vehicle-recall-digest").call(run_input={"feeds": [{"id": "ford-f150-2021", "name": "2021 Ford F-150", "type": "vehicle", "make": "FORD", "model": "F-150", "modelYear": 2021}],"recallLookbackDays": 30,"complaintLookbackDays": 90,"maxRecallsPerVehicle": 50,"maxComplaintsPerVehicle": 100,"maxDiscoveredModelsPerFeed": 12,"maxEvidenceItems": 10,"complaintAlertThreshold": 3,"delivery": "dataset","datasetMode": "all","snapshotKey": "nhtsa-vehicle-recall-digest-state","notifyOnNoNew": True,"requestTimeoutSeconds": 30,"batchDelayMs": 600,"dryRun": False})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('taroyamada/nhtsa-vehicle-recall-digest').call({"feeds": [{"id": "ford-f150-2021", "name": "2021 Ford F-150", "type": "vehicle", "make": "FORD", "model": "F-150", "modelYear": 2021}],"recallLookbackDays": 30,"complaintLookbackDays": 90,"maxRecallsPerVehicle": 50,"maxComplaintsPerVehicle": 100,"maxDiscoveredModelsPerFeed": 12,"maxEvidenceItems": 10,"complaintAlertThreshold": 3,"delivery": "dataset","datasetMode": "all","snapshotKey": "nhtsa-vehicle-recall-digest-state","notifyOnNoNew": true,"requestTimeoutSeconds": 30,"batchDelayMs": 600,"dryRun": false});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Tips & Limitations
- Run daily for active watchlists; weekly for passive monitoring.
- Webhook delivery works well for compliance team Slack channels — include docket URL for 1-click access.
- Use
watchKeywordsgenerously — false positives are cheap to triage, false negatives miss filings. - Pair with
regulatory-change-monitorfor cross-agency coverage. - Archive Dataset rows weekly for long-term compliance evidence retention.
FAQ
How far back does history go?
This actor monitors forward-only — new items since first run. For historical data, use the agency's own search tool.
What timezones are used?
All timestamps are UTC. Use your downstream pipeline to convert to agency-local time if needed.
Does it translate non-English content?
No — original language is preserved. Use downstream translation services if needed.
Is the data official?
Yes — sourced directly from official government websites and feeds. Not a third-party aggregator.
Can I use this for legal research?
For alerting and monitoring, yes. For litigation research, cross-verify with primary sources (agency websites) — this actor is a monitoring tool, not a legal database.
Related Actors
Government & Regulatory cluster — explore related Apify tools:
- EPA Enforcement Digest | ECHO Compliance Risk Monitor — Monitor EPA ECHO all-media facility search, corporate compliance screener, and enforcement case feeds with one summary-first digest row per watched company, facility, or case feed.
- FDA Warning Letters Digest | Summary-First Feed — Monitor public FDA warning letters with one summary-first digest row per configured feed.
- Federal Register Digest | Agency Rule & Notice Monitor — Monitor Federal Register documents — rules, proposed rules, and notices — per configured agency feed.
- Government Contract Award Monitor | Award & Competitor Watch — Monitor public-sector contract award notices for new wins, notable awardees, incumbent recompetes, and competitor signals — one digest row per configured feed without brittle broad crawling.
- Grants.gov Funding Digest | Opportunity Watch & Signal Digest — Monitor Grants.
- Product Safety Recall Digest | CPSC + openFDA Alerts — Monitor CPSC saferproducts.
- Regulatory Change Monitor API — Monitor official regulator update feeds, government bulletin pages, and public compliance notices with one action-oriented digest row per monitored source.
- OFAC Sanctions Change Digest | SDN List Monitor — Monitor the OFAC SDN (Specially Designated Nationals) sanctions list for additions and removals.
- Tariff Trade Change Digest | Federal Register + HTS Monitor — Monitor U.
- Treasury Fiscal Data Digest | Debt, Rates & Budget Monitor — Monitor the U.
- USPTO Patent Monitor API | JSON + Webhook — Search and monitor US patent filings with multi-source fallback.
- Campaign Finance & Lobbying Digest | FEC + LDA Watch — Monitor official FEC OpenFEC committee reports and LDA.
Cost
Pay Per Event:
actor-start: $0.01 (flat fee per run)dataset-item: $0.003 per output item
Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01
No subscription required — you only pay for what you use.
⭐ Was this helpful?
If this actor saved you time, please leave a ★ rating on Apify Store. It takes 10 seconds, helps other developers discover it, and keeps updates free.
Bug report or feature request? Open an issue on the Issues tab of this actor.
Compliance Guardrails
This actor is independently operated and has no source-agency affiliation, sponsorship, or approval. It uses public data from NHTSA datasets and APIs (https://www.nhtsa.gov/nhtsa-datasets-and-apis). Results are informational only and may be delayed, incomplete, amended, withdrawn, or superseded by the source. Verify all records with the linked official source before relying on them.
- Use NHTSA public APIs/datasets only.
- Label complaint records as consumer-submitted and unverified.
- Do not state that a complaint confirms a defect or replaces official safety review.