# NHTSA Recalls Scraper (`straightforward_hydra/nhtsa-recalls-scraper`) Actor

US vehicle safety recalls from the official NHTSA API by make, model and model year. No key.

- **URL**: https://apify.com/straightforward\_hydra/nhtsa-recalls-scraper.md
- **Developed by:** [Dev D](https://apify.com/straightforward_hydra) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 75.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 recalls

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## NHTSA Recalls Scraper 🚗

**US vehicle safety recalls — straight from the official NHTSA API. No API key, no proxy.**

Pull every safety recall for any vehicle by **make, model and model year**: campaign number, affected component, plain-English summary, safety consequence, remedy, report date, and NHTSA's severe **"Do Not Drive / Park It"** and **"Park Outside"** flags. Give it just a make + years and it **auto-discovers every recalled model** for you.

Perfect for **automotive dealers & marketplaces**, insurance & fleet risk, vehicle-history products, consumer-safety apps, and journalism.

> Uses the official **NHTSA Recalls API** — public US government safety data, no key, very low maintenance.

***

### Features

- ✅ **No API key, no proxy** — official government API, stable and low-maintenance.
- ✅ **Auto-discover models** — give a make + years, get recalls for every model (no need to list them).
- ✅ **Severity flags** — "Do Not Drive" and "Park Outside" surfaced as booleans.
- ✅ **Powerful filters** — by component (`airbag`, `brake`, `fuel`), keyword (`fire`, `takata`), report date.
- ✅ **Deep links** — each recall carries its NHTSA lookup URL.

***

### Input

| Field | Description |
|---|---|
| **Makes** | Vehicle makes, e.g. `["honda", "toyota", "ford"]`. |
| **Models** | Optional. Leave empty to auto-discover all recalled models per make + year. |
| **Model years** | List of years, e.g. `["2019", "2020"]`. |
| **Model year from / to** | Or use a year range instead of a list. |
| **Component contains** | Only recalls for a component (`airbag`, `brake`, `fuel`…). |
| **Keyword** | Match summary/consequence/component/remedy (`fire`, `stall`, `takata`…). |
| **"Do Not Drive" only** | Only NHTSA's most severe "Park It" recalls. |
| **Reported after** | Only recalls reported on/after this date (YYYY-MM-DD). |
| **Max results** | Cap across all makes/models/years. |

#### Example — every Ford recall, 2020–2022

```json
{
  "makes": ["ford"],
  "modelYearFrom": 2020,
  "modelYearTo": 2022,
  "maxResults": 2000
}
```

#### Example — fire-risk recalls across brands

```json
{
  "makes": ["honda", "toyota", "kia"],
  "modelYears": ["2021"],
  "keyword": "fire"
}
```

### Output

```json
{
  "campaign_number": "22V484000",
  "manufacturer": "Ford Motor Company",
  "make": "FORD",
  "model": "ESCAPE",
  "model_year": "2021",
  "component": "ENGINE AND ENGINE COOLING",
  "summary": "Ford Motor Company is recalling certain 2020-2022 Escape...",
  "consequence": "An engine compartment fire increases the risk of injury.",
  "remedy": "Dealers will update the powertrain control module software, free of charge...",
  "notes": "Owners may contact Ford customer service at 1-866-436-7332.",
  "report_received_date": "2022-07-07",
  "do_not_drive": false,
  "park_outside": false,
  "over_the_air_update": false,
  "recall_url": "https://www.nhtsa.gov/recalls?nhtsaId=22V484000"
}
```

### Run it on a schedule

Set `reportedAfter` to a recent date and run daily/weekly to catch **new recalls** for the makes you care about — pipe alerts to Slack, email or a webhook.

### Notes & limitations

- Official **NHTSA Recalls API** — public US vehicle-safety records.
- Recalls are queried per make + model + model year; auto-discovery expands a make into its recalled models.
- `componentContains`, `keyword`, `doNotDriveOnly` and `reportedAfter` are applied as filters over the fetched recalls.
- Data source: NHTSA (US DOT).

***

#### Keywords

NHTSA recalls, vehicle recalls, car recalls, auto recalls, safety recalls, recall API, vehicle safety, Takata airbag, do not drive, automotive data, VIN recalls, car dealer data, fleet safety, vehicle history, recall lookup, make model year, NHTSA campaign, auto safety, recall monitoring, US DOT.

# Actor input Schema

## `makes` (type: `array`):

Vehicle makes to pull recalls for, e.g. \["honda", "toyota", "ford"].

## `models` (type: `array`):

Specific models, e.g. \["accord", "civic"]. Leave empty to auto-discover ALL recalled models for each make + model year.

## `modelYears` (type: `array`):

Model years to include, e.g. \["2019", "2020", "2021"]. You can also use the from/to range below instead.

## `modelYearFrom` (type: `integer`):

Start of a model-year range (used with 'Model year to').

## `modelYearTo` (type: `integer`):

End of a model-year range (inclusive).

## `componentContains` (type: `string`):

Only recalls whose component matches this text, e.g. "airbag", "brake", "fuel", "steering".

## `keyword` (type: `string`):

Only recalls whose summary/consequence/component/remedy contains this text, e.g. "fire", "stall", "takata".

## `doNotDriveOnly` (type: `boolean`):

Only the most severe recalls flagged "Park It / Do Not Drive" by NHTSA.

## `reportedAfter` (type: `string`):

Only recalls reported on/after this date (YYYY-MM-DD).

## `maxResults` (type: `integer`):

Maximum number of recall records to return across all makes/models/years.

## Actor input object example

```json
{
  "makes": [
    "honda"
  ],
  "modelYears": [
    2024
  ],
  "doNotDriveOnly": false,
  "maxResults": 500
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "makes": [
        "honda"
    ],
    "modelYears": [
        2024
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("straightforward_hydra/nhtsa-recalls-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "makes": ["honda"],
    "modelYears": [2024],
}

# Run the Actor and wait for it to finish
run = client.actor("straightforward_hydra/nhtsa-recalls-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "makes": [
    "honda"
  ],
  "modelYears": [
    2024
  ]
}' |
apify call straightforward_hydra/nhtsa-recalls-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,straightforward_hydra/nhtsa-recalls-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/kvDhbwSh9OWkdGOVl/builds/3UQg4hPNucLxshbk7/openapi.json
