The playground

Try any of 817 endpoints — live.

Pick an endpoint, load a working example, tweak the params, and send — no signup to try. Results render the way the data deserves; raw JSON, headers & code are one tab away.

Playground demo key · api.reefapi.com
post/recall/v1/search1 credit

Search FDA recalls by keyword, category, classification, status, company, and date range with skip/limit pagination. Pass category=all (default) to span food+drug+device.

Working example
Parameters

Free-text product/keyword search over the recall's product description and reason (openFDA Lucene). e.g. 'peanut butter', 'listeria', 'airbag'. Combine with category/classification/date.

FDA recall category. food / drug / device, or 'all' to search every category at once. (CPSC consumer-product & NHTSA vehicle recalls are out of scope — see docs; vehicle recalls live in the `vehicle` API.)

FDA hazard classification. Case-insensitive. Filters to recalls of that seriousness tier.

Recall lifecycle status. Case-insensitive; unknown values are ignored rather than rejected.

Optional recalling-firm filter to narrow a search.

Filter by recall report_date from (on or after). ISO YYYY-MM-DD (or YYYYMMDD). Pair date_from + date_to for a range.

Filter by recall report_date to (on or before). ISO YYYY-MM-DD (or YYYYMMDD). Pair date_from + date_to for a range.

Result ordering by date field.

Results per page (1-100, default 20). Larger values are clamped. (1–100)

Pagination offset (skip N results). Page forward with meta.next_skip. openFDA ceiling: skip+limit <= 25000. (0–25000)

Include the 0-100 severity_score on each recall (default true).

request preview
curl -X POST https://api.reefapi.com/recall/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"listeria","category":"food","limit":"3"}'

Hit Send to run this endpoint live.