canonical: https://jentic.com/apis/recallsapi.com/recallsapi

# recallsapi.com

The RecallsAPI API checks products, drugs, and vehicles against US government recall records from feeds such as CPSC, FDA, NHTSA, and USDA FSIS, with every record linked to its agency source and an as-of date. A product check accepts any mix of name, brand, UPC, model, NDC, and lot, normalises the identifiers, and returns matches with a confidence level and the reasons behind it. Monitored catalogs of up to 5,000 rows per upload are matched against recall history, with alert emails or a webhook for new matches. Early-warning signals such as NHTSA investigations, CPSC violation notices, SEC filings, and Prop 65 notices are searchable alongside recalls.

## For AI agents

Check whether a product, drug, or vehicle is recalled by barcode, NDC, model, or VIN, search US recall and early-warning signal records, and monitor a product catalog for new recall matches.

## Scope

Does not issue recalls, make legal or safety determinations, or cover recalls outside the listed US agency feeds. Use for checking products and vehicles against recall and early-warning records only.

## Capabilities

- Check one product for recalls by any mix of name, brand, upc, model, ndc, and lot, with a confidence level and match reasons
- Check up to 100 products in a single batch request
- Look up NHTSA recall campaigns and consumer complaint counts for a 17-character VIN or a make, model, and year
- Search recalls by keyword, category, source feed, and date range with cursor pagination
- Monitor a catalog of SKUs for recall matches and early-warning signals, with alert_email or webhook_url notifications
- Dismiss a catalog match or signal that does not apply so it drops out of the open list
- Issue a signed check receipt and verify its Ed25519 signature later

## Use cases

### Recall checks from an AI agent through Jentic

A shopping or support agent asked 'is this product recalled?' needs an answer grounded in agency records rather than its training data. Through Jentic the agent searches for 'check if a product is recalled', loads the RecallsAPI product check with its input schema, and passes the brand, model, and barcode from the conversation while the API key is injected at call time. The response carries each match's confidence level, its reasons, and the agency source link, so the agent can cite where the recall came from.

Example prompt: Call GET `/v1/check` with brand 'Acme', model 'BM-200', and upc '012345678905', then report each match's confidence and source link

### Marketplace catalog recall monitoring

Online sellers must stop selling recalled products. RecallsAPI lets a seller create a monitored catalog with a name, an alert_email or webhook_url, and a min_confidence of exact, strong, or possible, then upload up to 5,000 rows per call as JSON or CSV, including a marketplace export. Matches found in recall history come back on upload, and new matches can be listed by status and dismissed when they do not apply.

Example prompt: Call POST `/v1/catalogs` with name 'Summer store' and min_confidence 'strong', POST `/v1/catalogs/{id}/items` with the SKU list, then GET `/v1/catalogs/{id}/matches` with status 'open'

### Vehicle recall lookup by VIN

Used-car dealers and fleet managers check open recall campaigns before a sale or service. RecallsAPI decodes a 17-character VIN with NHTSA vPIC and returns campaigns plus live NHTSA consumer complaint counts, including crash, fire, injury, and death counts and the top components. Without a VIN, the same lookup works from make, model, and year.

Example prompt: Call GET `/v1/vehicles/{vin}` with vin '1HGCM82633A004352' and list the campaigns and complaint totals returned

### Early-warning signals before a recall

Risk and sourcing teams watch for trouble before a formal recall. The signals search returns public records such as NHTSA investigations, CPSC violation notices, SEC filings, Prop 65 notices, and SaferProducts.gov incident reports, filtered by kind, source, and date. A signal is not a recall, and the API labels it that way, so teams can track it without treating it as a safety determination.

Example prompt: Call GET `/v1/signals` with kind 'investigation', source 'nhtsa_inv', and since '2026-01-01', then summarise the titles returned

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v1/check` | Check whether a product is recalled |
| POST | `/v1/check/batch` | Check up to 100 products |
| GET | `/v1/recalls` | Search recalls |
| GET | `/v1/vehicles/{vin}` | NHTSA campaigns for a VIN |
| GET | `/v1/signals` | Search early-warning signals |
| POST | `/v1/catalogs` | Create a monitored catalog |
| POST | `/v1/catalogs/{id}/items` | Add or replace catalog items |
| GET | `/v1/catalogs/{id}/matches` | List recall matches for a catalog |

## Key resources

- **Checks** — Single and batch product recall checks by name, brand, upc, model, ndc, and lot, with optional signed receipts
- **Recalls** — Recall records searchable by keyword, category, source, and date, each with identifiers and an agency source link
- **Vehicles** — NHTSA campaigns and complaint counts by VIN or by make, model, and year
- **Signals** — Early-warning public records such as investigations, violation notices, filings, and Prop 65 notices
- **Catalogs** — Monitored product catalogs with items, recall matches, signals, dismissals, and alert settings
- **Receipts** — Signed records of a check, retrievable by id and verifiable against the published Ed25519 keys

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 57 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 48 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 43 / 100
  - Agent Usability: 94 / 100
  - Security: 53 / 100
  - AI Discoverability: 70 / 100
- **View full report:** https://jentic.com/apis/recallsapi.com/recallsapi/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring RecallsAPI by hand means signing up for a key by email, choosing bearer or X-API-Key headers, and knowing which operations are open, which accept an x402 credit token, and which need the key. Through Jentic you install once, import RecallsAPI from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** RecallsAPI puts the catalog id in the URL path (`/v1/catalogs/{id}/...`), so a rule can limit your agent to one catalog and the operations you pick. You choose the operations it may call, so destructive or billing ones like deleting a catalog or starting a checkout are not included unless you add them.
- **Credential handling:** Your RecallsAPI key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check if a product is recalled' or 'look up recalls for a VIN', and Jentic returns the matching RecallsAPI operation with its input schema, including identifier fields like upc, ndc, and lot.

## Related APIs

- **openFDA Drug API** — FDA's own drug data including enforcement reports
- **NHTSA Vehicle API (vPIC)** — VIN decoding and vehicle specifications from NHTSA
- **Shopify API** — Storefront products and inventory

## FAQ

### What authentication does RecallsAPI use?

Per its OpenAPI spec, RecallsAPI accepts the API key from POST `/v1/keys` either as an HTTP bearer token or in the X-API-Key header. The check, recall search, and vehicle operations also accept an x402 prepaid credit token in X-Credit-Token, and several operations such as GET `/v1/health`, receipt lookup, and key signup need no key. Through Jentic the key is stored by your own instance and attached at call time.

### Is there a RecallsAPI MCP server?

Yes - the spec declares an MCP endpoint at POST /mcp. You can also connect RecallsAPI directly through Jentic: your agent gets the full 31-endpoint surface from the spec without loading another server's tool definitions into its context, your key is injected at call time by your self-hosted instance instead of living in an MCP config, and your rules decide which operations the agent may call.

### Can I check many products for recalls at once?

Yes. POST `/v1/check/batch` checks up to 100 products in one request, each with fields such as name, brand, upc, and model. For ongoing monitoring, create a catalog with POST `/v1/catalogs` and upload up to 5,000 rows per call to POST `/v1/catalogs/{id}/items`, which returns the matches found in recall history.

### What are the rate limits for RecallsAPI?

The OpenAPI spec does not state numeric rate limits, but GET `/v1/account` returns your plan, its limits, and today's usage. Check https://recallsapi.com/ for the current limits on each plan.

### Is RecallsAPI free?

POST `/v1/keys` creates a Free account and emails its key, one free account per inbox. The spec lists paid plans through POST `/v1/billing/checkout`: Starter at $29, Growth at $79, and Scale at $199 a month, with a year priced at 10 times the monthly price.

### How do I check a vehicle for recalls through Jentic?

Search Jentic for 'check a VIN for recalls', load the GET `/v1/vehicles/{vin}` operation, and run it with the 17-character VIN. The response lists NHTSA campaigns and live complaint counts for that vehicle. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with RecallsAPI?

Yes. For example, write a rule that allows only GET `/v1/check` and GET `/v1/catalogs/{id}/matches` for your store's catalog id, so the agent can run checks and read that catalog's matches but cannot delete catalogs, change alert emails, or start a billing checkout, and every call it makes is logged.
