Api Endpoint

2s

FDA drug recall enforcement reports, newest first. All filters optional. Each record includes recall number, status (Ongoing/Completed/Terminated/Pending), classification (Class I/II/III), product description, reason for recall, initial-notification mechanism, voluntary-vs-mandated flag, recalling firm name + city/state/country, distribution pattern, and recall + report dates. Backed by OpenFDA's /drug/enforcement endpoint; data is public-domain US government records.

Open interactive test console

Offering

Provider
2s.io
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Health And Medicine
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://2s.io/api/gov/fda-recalls
MIME type
application/json
First seen
2026-10-16T01:54:06.400Z
Last seen
Tags
public-records, identifiers, AI-agents, us-gov-data, X402, upto-billing, ai-gateway, agent-infrastructure

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.006 USDC
Atomic price: 6000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.006 USDC
Atomic price: 6000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "6000",
    "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "6000",
    "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn"
  }
]

Observed health

Status
Healthy
Latest latency
138 ms
Average latency
620 ms
HTTP status
402
Last checked
Reachability
100% over 11 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "const": "http"
    },
    "method": {
      "const": "GET"
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "drug": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100,
          "description": "Optional drug-name substring match on the recall product description. Examples: \"sanitizer\", \"metformin\", \"valsartan\"."
        },
        "classification": {
          "type": "string",
          "enum": [
            "I",
            "II",
            "III"
          ],
          "description": "Optional class filter. I = life-threatening, II = temporary/reversible health risk, III = unlikely to cause harm."
        },
        "status": {
          "type": "string",
          "enum": [
            "Ongoing",
            "Completed",
            "Terminated",
            "Pending"
          ],
          "description": "Optional status filter."
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20,
          "description": "Max recalls to return (1-100). Default 20."
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "type",
    "method",
    "queryParams"
  ]
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "const": "http"
        },
        "method": {
          "const": "GET"
        },
        "queryParams": {
          "type": "object",
          "properties": {
            "drug": {
              "type": "string",
              "minLength": 2,
              "maxLength": 100,
              "description": "Optional drug-name substring match on the recall product description. Examples: \"sanitizer\", \"metformin\", \"valsartan\"."
            },
            "classification": {
              "type": "string",
              "enum": [
                "I",
                "II",
                "III"
              ],
              "description": "Optional class filter. I = life-threatening, II = temporary/reversible health risk, III = unlikely to cause harm."
            },
            "status": {
              "type": "string",
              "enum": [
                "Ongoing",
                "Completed",
                "Terminated",
                "Pending"
              ],
              "description": "Optional status filter."
            },
            "limit": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20,
              "description": "Max recalls to return (1-100). Default 20."
            }
          },
          "additionalProperties": false
        }
      },
      "required": [
        "type",
        "method",
        "queryParams"
      ]
    }
  },
  "required": [
    "input"
  ]
}