# VIN Decoder API + NHTSA Recalls: Bulk Make, Model, Year (`clearpathdata/nhtsa-vin-decoder-recalls`) Actor

Bulk-decode VINs into make, model, year, trim, engine, body and plant with NHTSA vPIC, plus open NHTSA safety recalls for each vehicle. Official free data. $2 per 1,000 VINs.

- **URL**: https://apify.com/clearpathdata/nhtsa-vin-decoder-recalls.md
- **Developed by:** [Six Figure Salute](https://apify.com/clearpathdata) (community)
- **Categories:** Automation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 vin decodeds

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## VIN Decoder API + NHTSA Recalls: Bulk Make, Model, Year

Bulk-decode VINs into make, model, year, trim, engine, body and plant with NHTSA vPIC, plus open NHTSA safety recalls for each vehicle. Official free data. $2 per 1,000 VINs.

### What does it do?

**VIN Decoder + Recalls** bulk-decodes Vehicle Identification Numbers with NHTSA's official **vPIC** API into make, model, model year, trim, body class, drive type, fuel, engine, transmission and plant, and attaches **NHTSA safety recalls** for each vehicle.

- ✅ Official public data source: no login, no cookies, no proxies
- ✅ Fast: plain API calls, typical runs finish in seconds
- ✅ Clean, flat JSON / CSV / Excel output, ready for Sheets, BI tools or AI agents
- ✅ Pay only for results: no monthly rental

### Use cases

- **Dealers & auto marketplaces:** enrich inventory listings.
- **Fleet & insurance:** decode and recall-check vehicles in bulk.
- **Auto repair:** surface open recalls for customer vehicles.

### How to use it

1. Click **Try for free**. The input is prefilled with a working example.
2. Edit the input (see examples below) and click **Start**.
3. Download results as JSON, CSV, Excel or HTML, or pull them via API.

### Input examples

**Decode two VINs with recalls**

```json
{
  "vins": [
    "1HGCV1F34JA000001",
    "5YJ3E1EA7KF000001"
  ],
  "includeRecalls": true
}
```

### Output

Sample rows:

| vin | make | model | modelYear | trim | bodyClass | engineHP | recallCount |
|---|---|---|---|---|---|---|---|
| 1HGCV1F34JA000001 | HONDA | Accord | 2018 | Sport | Sedan/Saloon | 192 | 6 |
| 5YJ3E1EA7KF000001 | TESLA | Model 3 | 2019 |  | Sedan/Saloon |  | 22 |
| NOTAVIN |  |  |  |  |  |  |  |

Sample JSON record (long fields shortened):

```json
{
  "vin": "1HGCV1F34JA000001",
  "decoded": true,
  "make": "HONDA",
  "model": "Accord",
  "modelYear": "2018",
  "trim": "Sport",
  "series": null,
  "bodyClass": "Sedan/Saloon",
  "vehicleType": "PASSENGER CAR",
  "driveType": "4x2",
  "fuelTypePrimary": "Gasoline",
  "engineCylinders": "4",
  "displacementL": "1.5",
  "engineHP": "192",
  "transmissionStyle": "Continuously Variable Transmission (CVT)",
  "doors": "4",
  "gVWR": "Class 1C: 4,001 - 5,000 lb (1,814 - 2,268 kg)",
  "manufacturer": "AMERICAN HONDA MOTOR CO., INC.",
  "plantCountry": "UNITED STATES (USA)",
  "plantState": "OHIO",
  "plantCity": "MARYSVILLE",
  "electrificationLevel": null,
  "errorCode": "1",
  "errorText": "1 - Check Digit (9th position) does not calculate properly",
  "recallCount": 6,
  "recalls": [
    {
      "campaign": "20V314000",
      "reportDate": "28/05/2020",
      "component": "FUEL SYSTEM, GASOLINE:DELIVERY:FUEL PUMP",
      "summary": "Honda (American Honda Motor Co.) is recalling certain 2018-2019 Acura NSX, 2019 Acura RDX, RLX and RLX Sport Hybrid, 2018-2019 Honda Acco...",
      "consequence": "If the fuel pump fails, the engine can stall while driving, increasing the risk of a crash.",
      "remedy": "Honda will notify owners and dealers will replace the fuel pump assembly, free of charge.  The recall began July 22, 2020.  Owners may co..."
    },
    {
      "campaign": "20V771000",
      "reportDate": "10/12/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 ...",
      "consequence": "Various system malfunctions such as inoperative windshield wipers, defroster, rearview camera, or exterior lighting can increase the risk...",
      "remedy": "Honda will notify owners, and dealers will update the BCM software, free of charge.  The recall is expected to begin February 22, 2021.  ..."
    },
    {
      "campaign": "18V629000",
      "reportDate": "13/09/2018",
      "component": "BACK OVER PREVENTION: SENSING SYSTEM: CAMERA",
      "summary": "Honda (American Honda Motor Co.) is recalling certain 2018 Honda Accord and 2019 Honda Insight vehicles.  In certain scenarios, the back-...",
      "consequence": "If the rearview camera display does not show what is behind the vehicle, it can increase the risk of a crash.",
      "remedy": "Honda will notify owners, and dealers will reprogram the display audio unit software, free of charge.  The recall began October 30, 2018...."
    },
    "..."
  ],
  "recallNote": "Recalls are matched by make/model/year, not by this specific VIN; confirm open status at nhtsa.gov/recalls.",
  "source": "NHTSA vPIC + NHTSA Recalls API"
}
```

### Pricing

Pay per event: **$0.002 per VIN decoded** ($2.00 per 1,000). No start fee, no monthly rental. Rows for not-found inputs and errors are free.

| Results | Cost |
|---|---|
| 100 VIN decodeds | $0.20 |
| 1,000 VIN decodeds | $2.00 |
| 10,000 VIN decodeds | $20.00 |

Apify's free plan includes monthly platform credit, so you can try it at no cost.

### Integrations

- **Google Sheets:** use Apify's Google Sheets integration, or import the dataset CSV link with `=IMPORTDATA()`.
- **Zapier & Make:** trigger runs and receive the dataset via the official Apify apps.
- **Webhooks & schedules:** run daily or hourly and post results anywhere.
- **AI agents (MCP):** available to Claude, ChatGPT and other agents through the Apify MCP server.
- **API & SDKs:** call from Python, JavaScript or any HTTP client:

```bash
curl -X POST 'https://api.apify.com/v2/acts/clearpathdata~nhtsa-vin-decoder-recalls/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"vins": ["1HGCV1F34JA000001", "5YJ3E1EA7KF000001"], "includeRecalls": true}'
```

### FAQ

**Worldwide VINs?**

vPIC is best for vehicles sold in the US.

**Recalls by VIN?**

Recalls are matched by make/model/year from NHTSA; confirm VIN-specific status with the manufacturer.

**Something not working?**

Open an issue on the Actor's Issues tab, and it will be fixed quickly.

### More details

Bulk-decode VINs into make, model, year, trim, engine, body and plant data with NHTSA vPIC, and attach the NHTSA safety recalls for each vehicle.

Decode VINs in bulk with NHTSA's official **vPIC** database and get each vehicle's **safety recalls** from the NHTSA Recalls API, all in one row per VIN.

**Uses:** dealers and used-car listings, fleet management, insurance intake, parts compatibility, recall outreach.

##### Output fields

make, model, model year, trim, series, body class, vehicle type, drive type, fuel, cylinders, displacement, HP, transmission, doors, GVWR, manufacturer, plant location, electrification, decode error code/text. With recalls on, you also get the recall count and a list of campaigns (number, date, component, summary, consequence, remedy, park-it flags).

##### Notes

NHTSA lists recalls by make/model/year, so a listed recall does not mean this specific VIN is unrepaired. Confirm open status at nhtsa.gov/recalls. Data comes from public U.S. DOT/NHTSA APIs. Not affiliated with NHTSA.

##### Pricing

Pay per event: **vin-decoded**. Charged per VIN decoded (recalls included). You pay only for results. Not-found/error rows are free. Apify platform usage is included.

##### Example input

```json
{
  "vins": [
    "1HGCV1F34JA000001",
    "5YJ3E1EA7KF000001",
    "NOTAVIN"
  ],
  "includeRecalls": true
}
```

Built by clearpathdata, a maker of official-government-data Actors. Questions and feature requests are welcome in the Issues tab.

# Actor input Schema

## `vins` (type: `array`):

17-character VINs (partial VINs with \* also work). Decoded 50 per batch.

## `includeRecalls` (type: `boolean`):

Attach recall campaigns for the decoded make/model/year.

## Actor input object example

```json
{
  "vins": [
    "1HGCV1F34JA000001",
    "5YJ3E1EA7KF000001"
  ],
  "includeRecalls": true
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "vins": [
        "1HGCV1F34JA000001",
        "5YJ3E1EA7KF000001"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpathdata/nhtsa-vin-decoder-recalls").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 = { "vins": [
        "1HGCV1F34JA000001",
        "5YJ3E1EA7KF000001",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("clearpathdata/nhtsa-vin-decoder-recalls").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 '{
  "vins": [
    "1HGCV1F34JA000001",
    "5YJ3E1EA7KF000001"
  ]
}' |
apify call clearpathdata/nhtsa-vin-decoder-recalls --silent --output-dataset

```

## MCP server setup

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

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/baTrGSlmZgEH5zbWv/builds/W5veFHVkyKFAnVbd4/openapi.json
