# FDA Recalls and Enforcement Actions

> FDA Recalls and Enforcement Actions is a paid API for AI agents from x402-filings.datalayer.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-12).

Queries FDA recall and enforcement records across drugs, devices, and food, normalized into a unified schema with classification, reason, distribution scope, and recalling firm.

## Facts

- Endpoint: GET https://x402-filings.datalayer.workers.dev/v1/fda/enforcement?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/fda-recalls-and-enforcement-actions-12fcaa0d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_74W1n45SGL5xmC0xmZZAj

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability fda-recalls-and-enforcement-actions-12fcaa0d
```

Example prompt: Pull up all FDA recalls for Pfizer across drugs and devices from the past year, focusing on Class I classifications — I want to see the recall reason and distribution scope for each one.

## When to prefer this

Choose this endpoint when you need a unified, normalized view of FDA enforcement across drug, device, and food categories without having to query three separate openFDA endpoints and reconcile schemas yourself. It is especially well-suited for compliance screening, counterparty due diligence, supply chain risk monitoring, and regulatory research workflows. Prefer it over raw openFDA queries when you need cross-product-type aggregation in a single call, or when you want to filter by firm name, recall classification, and date range simultaneously.

## Known failure modes

- No records found for the specified firm, date range, or classification — returns empty result set rather than an error
- Invalid product type value (not drug/device/food/all) may return an error or empty result
- Date range malformed (non-ISO format) may cause a query failure
- Upstream openFDA API outage for one product category returns partial results for the remaining categories
- Rate limiting or payment failure (x402) may block the request
- Overly broad queries may hit the 100-record limit and truncate results

## How this service works

FDA recall and enforcement records across drug, device and food, normalised into one shape with classification, reason, distribution scope and firm. Queryable by firm, product, classification and date. One product type returning nothing never fails the call — the three openFDA endpoints are independent and a gap in one is not a gap in the others.

## Output

Returns a list of normalized FDA recall records (up to 100 per call) drawn from the drug, device, and food openFDA endpoints, each record including: recalling firm name, product description, recall classification (Class I/II/III), reason for recall, distribution scope, and report date. Results from all three product-type endpoints are merged into a single unified shape; if one product type returns no results it does not cause the call to fail.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "end": {
       "type": "string",
       "examples": [
        "2026-08-15"
       ],
       "description": "Report date to, ISO. Defaults to today."
      },
      "firm": {
       "type": "string",
       "examples": [
        "Pfizer"
       ],
       "description": "Recalling firm name, partial match."
      },
      "limit": {
       "type": "integer",
       "examples": [
        25
       ],
       "description": "Max records, 1-100. Default 25."
      },
      "start": {
       "type": "string",
       "examples": [
        "2025-08-15"
       ],
       "description": "Report date from, ISO. Defaults to 1 year ago."
      },
      "search": {
       "type": "string",
       "examples": [
        "contamination"
       ],
       "description": "Free text matched against product description and recall reason."
      },
      "product": {
       "type": "string",
       "examples": [
        "drug"
       ],
       "description": "One of drug, device, food, or all. Default all."
      },
      "classification": {
       "type": "string",
       "examples": [
        "Class I"
       ],
       "description": "Class I, Class II or Class III."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/fda-recalls-and-enforcement-actions-12fcaa0d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-filings.datalayer.workers.dev](https://www.zero.xyz/host/x402-filings.datalayer.workers.dev/llms.txt)
