# RecallDB > A recall data API for vehicles (NHTSA), car seats and tires (NHTSA), consumer products (CPSC) and food (FDA). JSON over HTTPS, a free tier, and an official source link on every record. Run by an independent project, not affiliated with any agency. The consumer site built on it is https://checkrecalls.org. Base URL: https://recalldb.app. Authentication: `Authorization: Bearer rdb_...` (free key at https://recalldb.app/signup). Free (beta) keys: 1,000 requests per month and 10 per minute, for non-commercial use. One key per verified email. A 429 answer says which limit was reached and when to try again. Attribution is required ("Data from RecallDB" with a link to https://recalldb.app). There is no bulk export. ## Rules for tools and agents using this API - Show "Data from RecallDB" with a link to https://recalldb.app wherever you show its data (free keys). - Cite the agency and official_url from each response's `source` block. - The API reports what a recall notice says. Never tell a user that a car, product or food package is "safe", "not recalled" or "unaffected" because nothing was found; tell them to confirm with the manufacturer or the agency. Lot, serial and date codes are shown as the agency wrote them and are never matched for the user. - Do not collect the data in bulk or call record numbers in order; keys that do are suspended. - Keep the API key on a server, never in client-side code. ## Docs - [Overview](https://recalldb.app/docs): RecallDB recall API docs: quickstart, authentication, endpoints for NHTSA vehicle, CPSC product and FDA food recalls, errors and rate limits. - [Authentication](https://recalldb.app/docs/authentication): How to get a free RecallDB API key and send it: Bearer token in the Authorization header. Keys are shown once and stored only as hashes. - [Get a recall](https://recalldb.app/docs/recalls): Look up one NHTSA vehicle recall, CPSC product recall or FDA food recall by its number. JSON with the official text, source agency and link. - [Recalls for a vehicle](https://recalldb.app/docs/vehicles): Get every NHTSA recall for a make, model and model year as JSON: what is wrong, the fix, the issuing company and the official NHTSA link. - [Recall change history](https://recalldb.app/docs/history): See which official fields an agency changed in a recall after we first saw it: field, old text, new text and day. Latest change on the free tier. - [Search recalls](https://recalldb.app/docs/search): Full-text search across NHTSA, CPSC and FDA recalls by product name, brand, model number, recall number or UPC, with category, agency and date filters. JSON. - [Look up a barcode](https://recalldb.app/docs/barcode): Find recalls whose official notice lists a UPC, EAN-13 or GTIN-14 barcode, with the lot codes, best-by dates and serial numbers written beside it. JSON. - [New recalls feed](https://recalldb.app/docs/new): Poll for recalls we first saw since a date, newest first, with stable ids and category and agency filters. Built for Zapier, Make, n8n and scripts. JSON. - [Recalls by company](https://recalldb.app/docs/company): Every U.S. agency recall filed under one company name across NHTSA, CPSC, FDA and USDA FSIS, newest 100 with counts by agency. JSON. - [Check many VINs](https://recalldb.app/docs/vins-batch): Check many VINs in one call: check digit, NHTSA vPIC decode, and the recalls filed for each make, model and year with the remedy. VINs are never stored. - [Decode a VIN](https://recalldb.app/docs/vin): Decode a VIN with NHTSA vPIC and get the model's recalls page. The VIN goes in the request body and is never stored or logged. - [Your usage](https://recalldb.app/docs/usage): See how many requests your RecallDB key has used this month, your limit, and when it resets. Calling it does not use up your quota. - [Data freshness](https://recalldb.app/docs/health): See when RecallDB last refreshed each official source (NHTSA, CPSC, FDA, USDA FSIS and more) and whether it is current. No API key needed. - [Create a watchlist](https://recalldb.app/docs/create-watchlist): Create a watchlist of makes, models, brands, categories and UPCs. When a matching recall is added or changed, your webhook gets a signed message. - [List your watchlists](https://recalldb.app/docs/list-watchlists): List your RecallDB watchlists with the makes, models, brands, categories or UPCs each one follows and the webhook it sends to, in one API request. - [Delete a watchlist](https://recalldb.app/docs/delete-watchlist): Delete one of your RecallDB watchlists with an authenticated API request. The webhook it used keeps working for your other watchlists. - [Create a webhook](https://recalldb.app/docs/create-webhook): Register an HTTPS address and get HMAC-signed JSON messages when a watchlist matches a new or changed recall. Retries with backoff and a delivery log. - [List your webhooks](https://recalldb.app/docs/list-webhooks): List your RecallDB webhooks with the URL, status and how many deliveries have failed in a row, in one authenticated API request. - [Delete a webhook](https://recalldb.app/docs/delete-webhook): Delete a RecallDB webhook and its delivery log with one API request. Watchlists that used it are kept, but they no longer send anywhere. - [Send a test message](https://recalldb.app/docs/test-webhook): Queue a signed test message to your RecallDB webhook to check that your endpoint receives it and your signature-checking code accepts it. - [Delivery log](https://recalldb.app/docs/webhook-deliveries): See the last 50 deliveries for a RecallDB webhook: whether each was sent, how many attempts it took, the response status and the next retry. - [All tutorials](https://recalldb.app/docs/tutorials): Step-by-step RecallDB API tutorials with tested code: VIN recall check in Python, barcode lookup in JavaScript, webhook alerts, MCP with Claude, and n8n or Zapier. - [Python: VIN to recalls](https://recalldb.app/docs/tutorials/python-vin-check): Decode a VIN and list the NHTSA recalls for that model and year in about 30 lines of Python, using the free RecallDB API. - [JavaScript: barcode lookup](https://recalldb.app/docs/tutorials/js-barcode-lookup): Look up a UPC, EAN or GTIN barcode in official recall notices with Node.js and the free RecallDB API, and show lot codes as the notice wrote them. - [Webhook alerts](https://recalldb.app/docs/tutorials/webhook-alerts): Get a signed message when a recall mentions your makes, brands or UPCs: register a webhook, create a watchlist, and verify the HMAC signature in Node.js. - [MCP with Claude](https://recalldb.app/docs/tutorials/mcp-claude): Connect Claude Code or Claude Desktop to the RecallDB MCP server with your API key, check the connection, and ask about vehicle, product and food recalls. - [n8n and Zapier](https://recalldb.app/docs/tutorials/n8n-zapier): Build a no-code new-recall alert in n8n or Zapier: poll /v1/new hourly or catch RecallDB webhooks, skip duplicates, and send the official link to Slack or email. - [All endpoints (curl)](https://recalldb.app/docs/endpoints): Every RecallDB API endpoint on one page with a ready-to-paste curl command: recalls, vehicles, VIN, barcode, search, new recalls, webhooks and usage. - [Errors](https://recalldb.app/docs/errors): Every RecallDB API error: status codes, error codes and what to do, including quota, rate limit and suspended-key responses. - [Rate limits](https://recalldb.app/docs/rate-limits): RecallDB rate limits: 1,000 free requests a month, 10 per minute, rate-limit response headers, and how fair-use checks warn, throttle and suspend keys. - [Attribution](https://recalldb.app/docs/attribution): Free RecallDB keys require "Data from RecallDB" with a link to recalldb.app wherever the data is shown. How to display it and what not to do. - [Data coverage](https://recalldb.app/docs/coverage): What recall data RecallDB covers: NHTSA vehicles, CPSC products, FDA food, drugs and devices, USDA FSIS, Canada and the UK, and what is not covered yet. ## MCP server - [RecallDB MCP server](https://recalldb.app/mcp): a hosted MCP server with the tools search_recalls, get_recall, barcode_lookup and vehicle_recalls, using your own API key (setup for Claude, Claude Code and other clients). ## Endpoints - GET /v1/recalls/{id}: One recall by its official number. - GET /v1/vehicles/{make}/{model}/{year}: The NHTSA recalls for one make, model and model year (up to 50). - GET /v1/recalls/{id}/history: What the agency changed in a recall since we first saw it. - GET /v1/search: Full-text search across every category, with filters. - GET /v1/barcode/{code}: Recalls whose official notice lists this barcode. - GET /v1/new: Recalls first seen since a date, newest first, for polling integrations. - GET /v1/companies/{id}: All recalls filed under one company name, across agencies. - POST /v1/vins/batch: Decode many VINs and list the recalls filed for each one's make, model and year. - POST /v1/vin: Decode a VIN to the vehicle and its model's recalls. - GET /v1/usage: Your key's usage this month, your limit and the reset date. - GET /v1/health: How fresh each data source is. No key needed. (no key needed) - POST /v1/watchlists: Create a watchlist of makes, models, brands, categories and UPCs. - GET /v1/watchlists: Your watchlists and your plan limits. - DELETE /v1/watchlists/{id}: Delete a watchlist. - POST /v1/webhooks: Register an HTTPS address that receives signed messages. - GET /v1/webhooks: Your webhooks and their status. - DELETE /v1/webhooks/{id}: Delete a webhook and its delivery log. - POST /v1/webhooks/{id}/test: Queue a signed test message. - GET /v1/webhooks/{id}/deliveries: The last 50 deliveries for a webhook. ## Specs - [OpenAPI 3.1](https://recalldb.app/openapi.json) - [Postman collection](https://recalldb.app/postman.json) - [Monthly data downloads](https://recalldb.app/data) and [Zapier, Make and n8n](https://recalldb.app/integrations) - [Changelog](https://recalldb.app/changelog) and [Status](https://recalldb.app/status): what changed, and when each source was last refreshed - [Pricing](https://recalldb.app/pricing): Free (beta), 1,000 requests a month for non-commercial use; Pro and Business are planned (waitlist). - [Full documentation in one file](https://recalldb.app/llms-full.txt): every endpoint with parameters, a curl example and notes, the limits, and the common questions. ## Coverage - Vehicles (NHTSA): 89 makes of passenger cars, SUVs, minivans and pickups, all model years, with the issuing company named - Other vehicles (NHTSA): heavy trucks, buses, trailers and every other NHTSA vehicle recall, by maker - Motorcycles (NHTSA): motorcycle and scooter recalls by brand, with model names and model years as NHTSA lists them - RVs (NHTSA): motorhome, travel trailer, fifth wheel and truck camper recalls from a reviewed list of RV makers - Car seats, tires and car equipment (NHTSA): child car seat, tire and other car equipment (lighting, wheels, hitches, accessories) recalls by brand - Consumer products (CPSC): recalls of toys, appliances, furniture, bikes and more, with model numbers and UPCs where listed - Pet food and cosmetics (FDA): pet food, animal feed and cosmetics recalls as FDA tags them in its recalls list (recalls only) - Dietary supplements (FDA): recall events whose FDA text calls the product a dietary supplement (recalls only) - Drugs (FDA): drug recall events from the FDA enforcement reports, recalls only, with lot and expiration codes as listed - Medical devices (FDA): medical device recall events from the FDA enforcement reports, recalls only, with model and lot codes as listed - Canada (Transport Canada, Health Canada, CFIA): vehicle, consumer product and food recall notices from the Government of Canada recalls and safety alerts open data (Open Government Licence – Canada); drugs, medical devices and natural health products are not included - United Kingdom (Food Standards Agency): food alerts (allergy alerts, recall information notices, food alerts for action) since 2018 (Open Government Licence v3.0) - Australia (ACCC (Product Safety Australia)): consumer product recalls from the official recalls feed, which holds only the most recent 100 (Creative Commons Attribution 4.0; source: ACCC © Commonwealth of Australia); older Australian recalls are not included - USDA meat, poultry and eggs (USDA FSIS): FSIS recalls (meat_poultry) and public health alerts (public_health_alert, not recalls) from 2014, imported by hand and updated periodically, not daily - Barcodes (CPSC and FDA): UPC, EAN and GTIN numbers read from CPSC and FDA notices (check digit verified), with the lot codes, best-by dates and serial numbers written beside them, for GET /v1/barcode/{code} - Food (FDA): food recall events from the FDA enforcement reports, with UPCs and lot codes as listed Last updated 2026-11-13.