RecallHound is a free JSON API that checks used products and vehicles against official United States federal recall records. There is no key and no sign up. An OpenAPI description is at /openapi.json.
Basics
| Base URL | https://recallhound.app/api |
| Authentication | None |
| Format | JSON. GET with query parameters, or POST with a JSON body. |
| Rate limit | 60 requests a minute per IP. Purchase scans: 20 a minute, 25 items each. |
| Coverage | United States only. CPSC, NHTSA, FDA, and fueleconomy.gov. |
Check a product
GET /api/check-product accepts a messy description such as a marketplace listing title. Add brand and model_number when you have them. Set category to food, drug, or device to search FDA reports instead of CPSC.
curl "https://recallhound.app/api/check-product?description=boppy+lounger+pillow+great+condition"
{
"result": "possible_match",
"message": "Possible match. Compare the brand, model number, and dates on the item with the official notice.",
"matches": [{
"confidence": "possible_match",
"recall_id": 9147,
"recall_date": "2021-09-23",
"title": "The Boppy Company Recalls Over 3 Million Original Newborn Loungers ...",
"hazard": "Infants can suffocate if they roll, move, or are placed on the lounger ...",
"remedy_type": ["Refund"],
"official_url": "https://www.cpsc.gov/Recalls/2021/..."
}],
"limits": "No known recall found does not mean an item is safe. ...",
"source": "Source: official CPSC, NHTSA, and FDA records. ..."
}
Confidence levels
likely_match | The model number matched, or several distinctive terms matched. Still verify the label. |
possible_match | The brand or product type matched. The user needs to compare the model number and dates. |
none_found | No known federal recall matched. This never means the item is safe. |
Check a vehicle
GET /api/check-vehicle takes a vin, or make, model, and year. It returns the recalls issued for that model and year, owner complaint counts with the top components, NHTSA crash ratings, and EPA fuel cost. The VIN is used only to decode the vehicle and is never stored.
curl "https://recallhound.app/api/check-vehicle?make=Honda&model=Accord&year=2015"
The response cannot tell whether a specific vehicle already had a recall repair. Send the user to nhtsa.gov/recalls with the VIN for that. It does not include accident, title, lien, flood, or theft history.
Scan purchases
POST /api/scan-purchases checks up to 25 item names at once. Send names only. Do not send order numbers, prices, addresses, payment details, or anything that identifies a person.
curl -X POST https://recallhound.app/api/scan-purchases -H "Content-Type: application/json" -d '{"items": ["Boppy Newborn Lounger", "Anker power bank"]}'
Recall details
GET /api/recall-details?recall_id=9147 returns the full CPSC record for one recall: the hazard, the remedy, and how to contact the company to claim it.
Rules for assistants and integrations
- Never tell a user an item is safe because of a RecallHound result.
- Always pass along the
limitstext and theofficial_urlfor each match. - Describe the remedy as listed in
remedy_type. Do not promise a refund unless it is listed. - Do not present results as a certification, inspection, or guarantee.
Known gaps in this version
- Car seats and tires are regulated by NHTSA and are not covered by the product check yet.
- USDA meat and poultry recalls are not included yet.
- Matching is text based. Vague descriptions return more possible matches, so brand and model number matter.
Errors
Errors return JSON with error and message. 400 means a missing or invalid input, 429 means the rate limit was reached, and 502 means a government data service did not respond and no result could be determined.
Contact
Questions, higher volume, or recall screening for a resale platform: r@agran.co. Use of the API is covered by the terms of service and privacy policy.