Search fda device recalls

When the user asks whether a medical device was recalled, what recalls exist for a type of device, or what happened with a specific recall action — reach for the FDA device recall endpoint. No auth required; uses Lucene search syntax.

search-fda-device-recalls · v1 · updated 2026-04-16

Agents: This page is a SKILL.md-style capability guide. For JSON, call GET /api/skills/search-fda-device-recalls. To drop this into a local Claude Code install, copy the frontmatter + body below into ~/.claude/skills/search-fda-device-recalls/SKILL.md.

When to use this skill

When the user asks whether a medical device was recalled, what recalls exist for a type of device, or what happened with a specific recall action — the FDA device recall endpoint is the authoritative source. It covers both voluntary and mandatory recalls, and links back to the device's original 510(k) clearance. For 510(k) clearance status or adverse event reports, use separate FDA device skills instead.

Your best first call

curl "https://api.fda.gov/device/recall.json?search=product_description:wound+therapy&limit=5"

No auth. No key. The search parameter uses Lucene query syntax — product_description:wound therapy narrows to devices whose description includes "wound therapy". You can search across product_description, recalling_firm, product_code, reason_for_recall, and root_cause_description. The seed tutorial doesn't cover all searchable fields, but the API supports any field in the recall record as a Lucene term.

Key response fields:

Fallbacks (when the best call isn't enough)

Pitfalls

One-line summary for the user

I can search FDA device recalls by product description, firm, or reason — no auth required, but queries use Lucene syntax so phrase searches need quotes.

APIs this skill uses

FDA Device API · primary · verified

OpenFDA API for accessing medical device data including adverse events, classifications, 510(k) clearances, PMA approvals, recalls, and registration information. The API provides public access to FDA's MAUDE (Manufacturer and User Facility …

Generated from

FDA Device API tutorial Getting Started with FDA Device API

SKILL.md source (frontmatter + body)
---
name: search-fda-device-recalls
description: When the user asks whether a medical device was recalled, what recalls exist for a type of device, or what happened with a specific recall action — reach for the FDA device recall endpoint. No auth required; uses Lucene search syntax.
---

## When to use this skill

When the user asks whether a medical device was recalled, what recalls exist for a type of device, or what happened with a specific recall action — the FDA device recall endpoint is the authoritative source. It covers both voluntary and mandatory recalls, and links back to the device's original 510(k) clearance. For 510(k) clearance status or adverse event reports, use separate FDA device skills instead.

## Your best first call

```bash
curl "https://api.fda.gov/device/recall.json?search=product_description:wound+therapy&limit=5"
```

No auth. No key. The `search` parameter uses Lucene query syntax — `product_description:wound therapy` narrows to devices whose description includes "wound therapy". You can search across `product_description`, `recalling_firm`, `product_code`, `reason_for_recall`, and `root_cause_description`. The seed tutorial doesn't cover all searchable fields, but the API supports any field in the recall record as a Lucene term.

Key response fields:

- `product_description` — what the recalled device is (often a full product name with model details)
- `reason_for_recall` — why it was recalled, in plain language
- `root_cause_description` — category: "Device Design", "Manufacturing", etc.
- `recall_status` — "Ongoing", "Completed", or "Terminated"
- `event_date_initiated` — when the recall started (YYYYMMDD format)
- `k_numbers` — links to the device's original 510(k) clearance, letting you trace the full regulatory lifecycle
- `product_quantity` — how many units were affected
- `recalling_firm` — the company that issued the recall

## Fallbacks (when the best call isn't enough)

- **Need 510(k) clearance status, not recall history** → `device/510k.json` with `search=device_name:<keyword>` — separate FDA device skill.
- **Need adverse event reports, not recalls** → `device/event.json` with `search=device.generic_name:<keyword>` — separate FDA device skill.

## Pitfalls

- The `search` parameter is Lucene syntax, not simple keyword matching. Wrap phrases in double quotes: `search=product_description:"negative pressure wound"`. To AND terms: `search=recalling_firm:Accuro+AND+recall_status:Ongoing`. The `+` in `+AND+` must be URL-encoded as `%2B` if your HTTP client doesn't handle it.
- "Terminated" in `recall_status` means the recall action was successfully completed and closed — it does not mean the device was destroyed or removed from the market permanently.
- Date formats are inconsistent across FDA device endpoints: `recall` uses `YYYYMMDD` for `event_date_initiated` but `YYYY-MM-DD` for `event_date_terminated`. Check each field before constructing date-range queries.
- The API caps at 100 results per request. Use `skip` and `limit` for pagination; `meta.results.total` gives the full match count. The maximum fetch per query is 25,000 records across all pages.

## One-line summary for the user

I can search FDA device recalls by product description, firm, or reason — no auth required, but queries use Lucene syntax so phrase searches need quotes.

« Back to all skills