---
name: nhtsa-vpic-ingestion
description: "How to get NHTSA vPIC Vehicle API data into a pandas DataFrame and Parquet: access, the request, the format, limits, quirks and terms."
---

# Load NHTSA vPIC vehicle models into pandas and Parquet

Source entry: https://signal-lab-jet.vercel.app/datasets/nhtsa-vpic
Provider: https://vpic.nhtsa.dot.gov/api/
Checked against the provider's documentation: 2026-11-01

## Access
- No account, registration or API key. Choose JSON, CSV or XML with the format parameter.
- This example requests Honda models for model year 2026 as JSON.

## Request
```bash
curl 'https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeYear/make/honda/modelyear/2026?format=json'
```

## Format
JSON with Count, Message, SearchCriteria and Results; each result has Make_ID, Make_Name, Model_ID and Model_Name.

## Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
```python
"""NHTSA vPIC Honda models for model year 2026 -> pandas -> Parquet. No key."""
import requests
import pandas as pd

URL = "https://vpic.nhtsa.dot.gov/api/vehicles/GetModelsForMakeYear/make/honda/modelyear/2026?format=json"
r = requests.get(URL, timeout=60)
r.raise_for_status()
payload = r.json()
df = pd.DataFrame(payload["Results"])
df.to_parquet("nhtsa_vpic_honda_2026.parquet", index=False)
print(len(df), "models", ", ".join(sorted(df["Model_Name"].dropna().unique())[:5]))
```
Run by us on 2026-11-01 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 70 models ADV160, Accord, Africa Twin, Africa Twin Adventure Sports, CB1000F

## Limits
- No daily action limit is stated; automated traffic control applies.
- The FAQ says the service can handle 1,000-2,000 transactions per minute during the normal week and asks large batch users to use nights or weekends.
- The batch VIN endpoint accepts at most 50 VINs per request.

## Quirks
- VIN decode results are based on manufacturer submissions and may later be corrected.
- Coverage is strongest from model year 1995 forward, weaker for 1980-1994 and absent before 1980.
- Response schemas differ by method; inspect Message and Count before normalizing Results.

## Terms and attribution
- NHTSA says the API is free for public use and requires no licence or registration.
- Traffic control protects the public service; avoid aggressive parallel polling.
- Terms page: https://vpic.nhtsa.dot.gov/api/Home/Index/FAQ

## Sources
- https://vpic.nhtsa.dot.gov/api/: "Users/Applications attempting to use vPIC APIs will be controlled by an automated traffic rate control mechanism"
- https://vpic.nhtsa.dot.gov/api/Home/Index/FAQ: "No, NHTSA is a government agency and the services provided on the API are free for use by the public as an offering as a part of our Open Data initiatives; and"
- https://vpic.nhtsa.dot.gov/api/Home/Index/FAQ: "No there is no limit to the amount of actions that can be run on the API per day"
- https://vpic.nhtsa.dot.gov/api/Home/Index/FAQ: "Prior to 1980 we do not have data in vPIC"

## Help improve this skill
Missing a source, or see something to improve? Call the MCP tool suggest_source or feedback (or POST /api/suggest or /api/feedback). Reviewed ideas: https://signal-lab-jet.vercel.app/agent-suggestions

Information for educational purposes only. Free tiers, limits and licenses belong to the providers and may change; check the provider's own terms before using the data.
