Docs menu

Docs / Endpoints

All endpoints

Set RECALLDB_KEY to your key, then paste. Each endpoint's own page has JavaScript and Python versions and the full response.

Set your key (bash, zsh)
export RECALLDB_KEY=rdb_your_key

GET /v1/recalls/{id}

One recall by its official number.

curl
curl https://recalldb.app/v1/recalls/21V215000 \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/vehicles/{make}/{model}/{year}

The NHTSA recalls for one make, model and model year (up to 50).

curl
curl https://recalldb.app/v1/vehicles/honda/civic/2019 \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/recalls/{id}/history

What the agency changed in a recall since we first saw it.

curl
curl https://recalldb.app/v1/recalls/21V215000/history \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/search

Full-text search across every category, with filters.

curl
curl https://recalldb.app/v1/search?q=bunk+bed&category=consumer_product \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/barcode/{code}

Recalls whose official notice lists this barcode.

curl
curl https://recalldb.app/v1/barcode/036000291452 \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/new

Recalls first seen since a date, newest first, for polling integrations.

curl
curl https://recalldb.app/v1/new?category=consumer_product&limit=5 \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/companies/{id}

All recalls filed under one company name, across agencies.

curl
curl https://recalldb.app/v1/companies/ford-motor \
  -H "Authorization: Bearer $RECALLDB_KEY"

POST /v1/vins/batch

Decode many VINs and list the recalls filed for each one's make, model and year.

curl
curl -X POST https://recalldb.app/v1/vins/batch \
  -H "Authorization: Bearer $RECALLDB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vins": ["1HGCM82633A004352", "5YJ3E1EA7KF317000"]}'

POST /v1/vin

Decode a VIN to the vehicle and its model's recalls.

curl
curl -X POST https://recalldb.app/v1/vin \
  -H "Authorization: Bearer $RECALLDB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vin": "1HGCM82633A004352"}'

GET /v1/usage

Your key's usage this month, your limit and the reset date.

curl
curl https://recalldb.app/v1/usage \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/downloads

The monthly snapshot files, for keys with approved research access.

curl
curl https://recalldb.app/v1/downloads \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/health

How fresh each data source is. No key needed.

curl
curl https://recalldb.app/v1/health

POST /v1/watchlists

Create a watchlist of makes, models, brands, categories and UPCs.

curl
curl -X POST https://recalldb.app/v1/watchlists \
  -H "Authorization: Bearer $RECALLDB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "My brands", "brands": ["Graco"], "categories": ["car_seat"], "webhook_id": "wh_3f9a1c07b2d4"}'

GET /v1/watchlists

Your watchlists and your plan limits.

curl
curl https://recalldb.app/v1/watchlists \
  -H "Authorization: Bearer $RECALLDB_KEY"

DELETE /v1/watchlists/{id}

Delete a watchlist.

curl
curl -X DELETE https://recalldb.app/v1/watchlists/wl_8c1d2e3f4a5b \
  -H "Authorization: Bearer $RECALLDB_KEY"

POST /v1/webhooks

Register an HTTPS address that receives signed messages.

curl
curl -X POST https://recalldb.app/v1/webhooks \
  -H "Authorization: Bearer $RECALLDB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/recalls"}'

GET /v1/webhooks

Your webhooks and their status.

curl
curl https://recalldb.app/v1/webhooks \
  -H "Authorization: Bearer $RECALLDB_KEY"

DELETE /v1/webhooks/{id}

Delete a webhook and its delivery log.

curl
curl -X DELETE https://recalldb.app/v1/webhooks/wh_3f9a1c07b2d4 \
  -H "Authorization: Bearer $RECALLDB_KEY"

POST /v1/webhooks/{id}/test

Queue a signed test message.

curl
curl -X POST https://recalldb.app/v1/webhooks/wh_3f9a1c07b2d4/test \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/webhooks/{id}/deliveries

The last 50 deliveries for a webhook.

curl
curl https://recalldb.app/v1/webhooks/wh_3f9a1c07b2d4/deliveries \
  -H "Authorization: Bearer $RECALLDB_KEY"

GET /v1/downloads

Monthly summary snapshots (gzipped CSV and JSON) for keys with approved research and journalism access (request it at /data). Daily full-field snapshots are planned for Pro. Free keys created before 2026-11-15 can use them until 2026-12-15; other keys get 403 plan_limit.

curl
curl https://recalldb.app/v1/downloads \
  -H "Authorization: Bearer $RECALLDB_KEY"
curl -O https://recalldb.app/v1/downloads/recalls-2026-10.csv.gz \
  -H "Authorization: Bearer $RECALLDB_KEY"