docs / enrich-recall
Product Safety & Recall Match API
Product Safety & Recall Match API
base /enrich-recall/v13 endpoints
post
/enrich-recall/v1/product_match3 creditsResolve a product (GTIN ‖ title+brand ‖ listing_url) and match it against FDA + EU recalls with transparent confidence. recalls[] = high-confidence (brand independently matched); possible[] = lower-confidence candidates.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| gtin | optional | — | Product barcode (GTIN-8/12/13/14, UPC, EAN or ISBN). The engine resolves it to {title, brand, category} via the barcode engine, then matches recalls. Provide this OR (title + brand) OR listing_url. |
| title | optional | — | Product title/name. Use with `brand` when you have no barcode. Ignored if `gtin` resolves a product. |
| brand | optional | — | Product brand / manufacturer. STRONGLY recommended with `title` — brand is the independent false-match guard (a title match with a different brand is never asserted). |
| category | optional | — | Optional product category hint (food / drug / device / toy / apparel …) — improves category-fit scoring. Auto-derived from the barcode when available. |
| listing_url | optional | — | A marketplace product URL (amazon/ebay/…). MINIMUM support: the host is recorded and you must still pass title (+brand) for matching. Full URL→product resolution is the enrich-url engine's job. |
| max_results = 25 | optional | 1–50 | Max recalls[] + max possible[] returned (each list capped at this). |
post
/enrich-recall/v1/brand_check2 creditsAll recalls for a brand / recalling-firm (normalized passthrough of the recall engine's by_company), newest first — the seller-watch / due-diligence use case.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| brand | required | — | Brand / recalling-firm name to list recalls for. |
| category | optional | all · food · drug · device | FDA recall category scope (passed through to the recall engine). Default all. |
| date_from | optional | — | Filter recalls with report date from this YYYY-MM-DD. |
| date_to | optional | — | Filter recalls with report date to this YYYY-MM-DD. |
| limit = 25 | optional | 1–100 | Max recalls to return for the brand. |
post
/enrich-recall/v1/batch2 creditsScan up to 25 catalog products in one call (seller pre-listing audit). Each item is product_match'd; per-item ok/error + a roll-up summary.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| items | required | — | Up to 25 products (seller-catalog scan). Each item = a {gtin} OR {title, brand[, category]} object (or a bare barcode string). Per-item ok/error; one bad item never sinks the batch. |
| max_results = 25 | optional | 1–50 | Max recalls[] + max possible[] returned (each list capped at this). |
Example request · product_match
curl -X POST https://api.reefapi.com/enrich-recall/v1/product_match \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"gtin":"0860007279478"}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}