# FDA API

> FDA returns drug, food, and device recalls, medicine labels, and reported side effects as a workflow and API.

FDA (openFDA) searches drug, food, and device recalls using a medicine, company, product, allergen, or device name. Get drug label uses a brand or generic medicine name to return label uses, directions, ingredients, and safety sections. Get reported side effects uses a brand or generic medicine name to return frequently reported reactions and report counts.

- Page: https://fous.com/tools/fda
- Handle: `@fda`
- Category: [Health](https://fous.com/tools/category/health)
- Source website: https://open.fda.gov
- Last verified: Sep 28, 2026

## Methods

### Get drug label

Operation `get_drug_label`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get the latest matching FDA drug label for a brand or generic medicine, including uses, directions, safety sections, ingredients and a DailyMed link. Some sections are absent from individual labels.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `medicine` | string | yes | `"Tylenol"` | The brand or generic medicine name, for example Tylenol or sertraline. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "medicine"
  ],
  "properties": {
    "medicine": {
      "type": "string",
      "minLength": 1,
      "description": "The brand or generic medicine name, for example Tylenol or sertraline.",
      "examples": [
        "Tylenol",
        "sertraline",
        "Zoloft"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "medicine": "Tylenol"
    },
    {
      "medicine": "sertraline"
    },
    {
      "medicine": "Zoloft"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `type` | string or null | `"Over the counter"` | Prescription or over the counter. |
| `used_for` | string or null | `"Uses temporarily relieves the following cold/flu symptoms: minor aches and pains headache sore throat sneezing and runn` | Uses and indications from the label. |
| `warnings` | string or null |  | Warnings or warnings and precautions from the label. |
| `brand_name` | string or null | `"Childrens TYLENOL COLD plus COUGH plus RUNNY NOSE"` | Brand name on the selected label. |
| `how_to_take` | string or null |  | Directions or dosage and administration from the label. |
| `generic_name` | string or null | `"ACETAMINOPHEN, CHLORPHENIRAMINE MALEATE, AND DEXTROMETHORPHAN HYDROBROMIDE"` | Generic name on the label. |
| `manufacturer` | string or null | `"Kenvue Brands LLC"` | Manufacturer or labeler listed by the FDA. |
| `boxed_warning` | string or null |  | Boxed warning, if any. |
| `dailymed_link` | string or null | `"https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=5b95905e-b729-4caf-921a-fc4ef815289c"` | Link to the label on DailyMed. |
| `active_ingredients` | string or null | `"Active ingredients (in each 5 mL) Purposes Acetaminophen 160 mg Pain reliever/fever reducer Chlorpheniramine maleate 1 ` | Active ingredients and strengths from the label, when available. |
| `common_side_effects` | string or null | `"When using this product do not exceed recommended dose (see overdose warning ) marked drowsiness may occur sedatives an` | Adverse reactions or side effects listed on the label. |
| `label_effective_date` | string or null | `"2026-08-25"` | Date this label became effective, in YYYY-MM-DD format. |
| `pregnancy_information` | string or null |  | Pregnancy information in the label. |

**Example input**

```json
{
  "medicine": "Tylenol"
}
```

**Example output**

```json
{
  "type": "Over the counter",
  "used_for": "Uses temporarily relieves the following cold/flu symptoms: minor aches and pains headache sore throat sneezing and runny nose cough temporarily reduces fever",
  "warnings": "Warnings Liver warning This product contains acetaminophen. Severe liver damage may occur if your child takes more than 5 doses in 24 hours, which is the maximum daily amount with other drugs containi…",
  "brand_name": "Childrens TYLENOL COLD plus COUGH plus RUNNY NOSE",
  "how_to_take": "Directions this product does not contain directions or complete warnings for adult use do not give more than directed (see overdose warning ) shake well before using mL = milliliter find right dose on…",
  "generic_name": "ACETAMINOPHEN, CHLORPHENIRAMINE MALEATE, AND DEXTROMETHORPHAN HYDROBROMIDE",
  "manufacturer": "Kenvue Brands LLC",
  "boxed_warning": null,
  "dailymed_link": "https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=5b95905e-b729-4caf-921a-fc4ef815289c",
  "active_ingredients": "Active ingredients (in each 5 mL) Purposes Acetaminophen 160 mg Pain reliever/fever reducer Chlorpheniramine maleate 1 mg Antihistamine Dextromethorphan HBr 5 mg Cough suppressant",
  "common_side_effects": "When using this product do not exceed recommended dose (see overdose warning ) marked drowsiness may occur sedatives and tranquilizers may increase drowsiness excitability may occur, especially in chi…",
  "label_effective_date": "2026-08-25",
  "pregnancy_information": null
}
```

### Get reported side effects

Operation `get_reported_side_effects`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get the most frequently reported reaction terms for a brand or generic medicine in FDA adverse-event reports. Reports can include non-symptom terms and do not establish causation.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `medicine` | string | yes | `"semaglutide"` | Brand or generic medicine name, for example Ozempic. |
| `max_results` | integer | no | `3` | Maximum number of reaction terms to show, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "medicine"
  ],
  "properties": {
    "medicine": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "Brand or generic medicine name, for example Ozempic.",
      "examples": [
        "semaglutide",
        "Ozempic",
        "Tylenol"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of reaction terms to show, for example 20.",
      "x-fous-developer": true,
      "examples": [
        3,
        100
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "medicine": "semaglutide",
      "max_results": 3
    },
    {
      "medicine": "Ozempic"
    },
    {
      "medicine": "Tylenol",
      "max_results": 100
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `reactions` | array |  | Reaction terms, ordered by report count from highest to lowest. Some terms describe use or reporting rather than symptoms. |
| `reactions[].page_url` | string | `"https://api.fda.gov/drug/event.json?search=%28patient.drug.medicinalproduct.exact%3A%22SEMAGLUTIDE%22+OR+patient.drug.o` | FDA results for reports matching this medicine and reaction. |
| `reactions[].reaction` | string | `"Nausea"` | FDA reaction term in words. |
| `reactions[].report_count` | integer | `11534` | Number of matching reports listing this reaction. |
| `reactions[].share_of_all_reports_percent` | number | `14.46` | Percentage of all matching reports listing this reaction. |
| `total_reports` | integer | `79767` | Total FDA adverse-event reports mentioning the medicine. |
| `causality_note` | string | `"These reports do not prove the medicine caused the reaction. Reporting rates cannot be used to estimate the chance of a` | Caution about interpreting reports. |
| `medicine_name_matched` | string | `"semaglutide"` | Medicine name used to find matching reports. |
| `serious_reports_percent` | number | `51.96` | Percentage of matching reports marked serious. |

**Example input**

```json
{
  "medicine": "semaglutide",
  "max_results": 3
}
```

**Example output**

```json
{
  "reactions": [
    {
      "page_url": "https://api.fda.gov/drug/event.json?search=%28patient.drug.medicinalproduct.exact%3A%22SEMAGLUTIDE%22+OR+patient.drug.openfda.brand_name.exact%3A%22SEMAGLUTIDE%22+OR+patient.drug.openfda.generic_name%…",
      "reaction": "Nausea",
      "report_count": 11534,
      "share_of_all_reports_percent": 14.46
    },
    {
      "page_url": "https://api.fda.gov/drug/event.json?search=%28patient.drug.medicinalproduct.exact%3A%22SEMAGLUTIDE%22+OR+patient.drug.openfda.brand_name.exact%3A%22SEMAGLUTIDE%22+OR+patient.drug.openfda.generic_name%…",
      "reaction": "Off label use",
      "report_count": 7774,
      "share_of_all_reports_percent": 9.75
    },
    {
      "page_url": "https://api.fda.gov/drug/event.json?search=%28patient.drug.medicinalproduct.exact%3A%22SEMAGLUTIDE%22+OR+patient.drug.openfda.brand_name.exact%3A%22SEMAGLUTIDE%22+OR+patient.drug.openfda.generic_name%…",
      "reaction": "Vomiting",
      "report_count": 7693,
      "share_of_all_reports_percent": 9.64
    }
  ],
  "total_reports": 79767,
  "causality_note": "These reports do not prove the medicine caused the reaction. Reporting rates cannot be used to estimate the chance of a side effect.",
  "medicine_name_matched": "semaglutide",
  "serious_reports_percent": 51.96
}
```

### Search device recalls

Operation `search_device_recalls`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find FDA medical device recalls by device or company name, newest first. Records may lag recent recall activity; consult the FDA record for current guidance.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `query` | string | yes | `"insulin pump"` | Device or company name to search, for example insulin pump or Philips. |
| `since_date` | string | no | `"2026-08-01"` | Include recalls initiated on or after this date, for example 2025-01-01. Leave blank for no date limit. |
| `max_results` | integer | no | `5` | Most recalls to return, for example 20. Maximum 100. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Device or company name to search, for example insulin pump or Philips.",
      "examples": [
        "insulin pump",
        "Philips",
        "nonsuchimpossibledevicename482907"
      ]
    },
    "since_date": {
      "type": "string",
      "format": "date",
      "description": "Include recalls initiated on or after this date, for example 2025-01-01. Leave blank for no date limit.",
      "examples": [
        "2026-08-01"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Most recalls to return, for example 20. Maximum 100.",
      "x-fous-developer": true,
      "examples": [
        5,
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "query": "insulin pump"
    },
    {
      "query": "Philips",
      "since_date": "2026-08-01",
      "max_results": 5
    },
    {
      "query": "nonsuchimpossibledevicename482907",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `device_recalls` | array |  | Medical device recalls ordered by initiation date, newest first. |
| `device_recalls[].reason` | string or null | `"Loaner insulin pumps may have been cleaned with chemically incompatible products that could damage the pump case or key` | Reason for the recall. |
| `device_recalls[].status` | string or null | `"Open, Classified"` | FDA-published recall status. |
| `device_recalls[].company` | string or null | `"Medtronic MiniMed, Inc."` | Company recalling the device. |
| `device_recalls[].page_url` | string | `"https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfRES/res.cfm?id=221440"` | FDA page for this individual recalled device. |
| `device_recalls[].what_to_do` | string or null |  | FDA-published recall action or instructions, when stated. |
| `device_recalls[].device_name` | string or null | `"MiniMed 640G Insulin Pump, Model: MMT-1711, MMT-1712;"` | FDA product description of the recalled device. |
| `device_recalls[].recall_date` | string or null | `"2026-07-13"` | Date the firm initiated the recall. |
| `device_recalls[].seriousness` | string or null | `"Class II: may cause temporary or reversible health problems"` | FDA recall class and its health-risk meaning, when classified. |
| `device_recalls[].product_code` | string or null | `"QFG"` | FDA product code. |
| `device_recalls[].recall_number` | string or null | `"Z-2980-2026"` | FDA recall number. |

**Example input**

```json
{
  "query": "insulin pump"
}
```

**Example output**

```json
{
  "device_recalls": [
    {
      "reason": "Loaner insulin pumps may have been cleaned with chemically incompatible products that could damage the pump case or keypad, allow moisture ingress, and result in insulin over- or under-delivery, poten…",
      "status": "Open, Classified",
      "company": "Medtronic MiniMed, Inc.",
      "page_url": "https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfRES/res.cfm?id=221440",
      "what_to_do": "On 7/13/2026, field safety notices were sent to customers asking them to do the following:\n1) Stop using the loaner pump and contact the firm to arrange for loaner pump return. \n2) Contact your Health…",
      "device_name": "MiniMed 640G Insulin Pump, Model: MMT-1711, MMT-1712;",
      "recall_date": "2026-07-13",
      "seriousness": "Class II: may cause temporary or reversible health problems",
      "product_code": "QFG",
      "recall_number": "Z-2980-2026"
    },
    {
      "reason": "Loaner insulin pumps may have been cleaned with chemically incompatible products that could damage the pump case or keypad, allow moisture ingress, and result in insulin over- or under-delivery, poten…",
      "status": "Open, Classified",
      "company": "Medtronic MiniMed, Inc.",
      "page_url": "https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfRES/res.cfm?id=221569",
      "what_to_do": "On 7/13/2026, field safety notices were sent to customers asking them to do the following:\n1) Stop using the loaner pump and contact the firm to arrange for loaner pump return. \n2) Contact your Health…",
      "device_name": "MiniMed 670G Insulin Pump, Model: MMT-1781, MMT-1782;",
      "recall_date": "2026-07-13",
      "seriousness": "Class II: may cause temporary or reversible health problems",
      "product_code": "OZP",
      "recall_number": "Z-2981-2026"
    }
  ]
}
```

### Search drug recalls

Operation `search_drug_recalls`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find FDA drug recalls by medicine or company name, newest first. Covers FDA drug enforcement records; recent recalls may not yet appear.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `query` | string | yes | `"metformin"` | Medicine or company name, for example metformin or Pfizer. |
| `status` | string | no | `"ongoing"` | Recall status to include, for example ongoing. |
| `since_date` | string | no | `"2024-01-01"` | Include recalls started on or after this date, for example 2024-01-01. |
| `max_results` | integer | no | `5` | Maximum number of recalls to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Medicine or company name, for example metformin or Pfizer.",
      "examples": [
        "metformin",
        "Pfizer",
        "xyznosuchdrugqxx"
      ]
    },
    "status": {
      "enum": [
        "any",
        "ongoing",
        "completed"
      ],
      "type": "string",
      "default": "any",
      "description": "Recall status to include, for example ongoing.",
      "examples": [
        "ongoing",
        "completed"
      ]
    },
    "since_date": {
      "type": "string",
      "format": "date",
      "description": "Include recalls started on or after this date, for example 2024-01-01.",
      "examples": [
        "2024-01-01"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of recalls to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        5,
        3,
        2
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "query": "metformin"
    },
    {
      "query": "Pfizer",
      "status": "ongoing",
      "since_date": "2024-01-01",
      "max_results": 5
    },
    {
      "query": "xyznosuchdrugqxx"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `recalls` | array |  |  |
| `recalls[].reason` | string or null | `"CGMP Deviations: An incorrect detergent was used and the required swab sampling was not performed on a production hoppe` | Reason for the recall. |
| `recalls[].status` | string or null | `"Ongoing"` | Current recall status in words. |
| `recalls[].company` | string or null | `"Boehringer Ingelheim Pharmaceuticals, Inc."` | Recalling company. |
| `recalls[].page_url` | string | `"https://api.fda.gov/drug/enforcement.json?search=recall_number%3A%22D-0657-2026%22&limit=1"` | Link to this FDA recall record. |
| `recalls[].seriousness` | string or null | `"Class II: may cause temporary or reversible health problems"` | FDA recall class and what it means. |
| `recalls[].recall_number` | string or null | `"D-0657-2026"` | FDA recall number. |
| `recalls[].distributed_in` | string or null | `"OH"` | Areas where the medicine was distributed. |
| `recalls[].quantity_recalled` | string or null | `"560 bottles"` | Quantity recalled, including units. |
| `recalls[].recall_start_date` | string or null | `"2026-06-12"` | Date the recall began, YYYY-MM-DD. |
| `recalls[].product_description` | string or null | `"Synjardy XR Tablets (empagliflozin and metformin hydrochloride extended-release tablets), 12.5/1000 mg, 60 Tablets per ` | Recalled medicine and packaging description. |

**Example input**

```json
{
  "query": "metformin"
}
```

**Example output**

```json
{
  "recalls": [
    {
      "reason": "CGMP Deviations: An incorrect detergent was used and the required swab sampling was not performed on a production hopper that had previously been used for a different product.",
      "status": "Ongoing",
      "company": "Boehringer Ingelheim Pharmaceuticals, Inc.",
      "page_url": "https://api.fda.gov/drug/enforcement.json?search=recall_number%3A%22D-0657-2026%22&limit=1",
      "seriousness": "Class II: may cause temporary or reversible health problems",
      "recall_number": "D-0657-2026",
      "distributed_in": "OH",
      "quantity_recalled": "560 bottles",
      "recall_start_date": "2026-06-12",
      "product_description": "Synjardy XR Tablets (empagliflozin and metformin hydrochloride extended-release tablets), 12.5/1000 mg, 60 Tablets per Bottle, Rx only, Distributed by: Boehringer Ingelheim Pharmaceuticals, Inc., Ridg…"
    },
    {
      "reason": "CGMP Deviations",
      "status": "Ongoing",
      "company": "Glenmark Pharmaceuticals Inc., USA",
      "page_url": "https://api.fda.gov/drug/enforcement.json?search=recall_number%3A%22D-0328-2025%22&limit=1",
      "seriousness": "Class II: may cause temporary or reversible health problems",
      "recall_number": "D-0328-2025",
      "distributed_in": "U.S. Nationwide",
      "quantity_recalled": "N/A",
      "recall_start_date": "2025-03-13",
      "product_description": "Metformin Hydrochloride Extended-Release Tablets 1000mg, 90-count bottle. Manufactured by: Glenmark Pharmaceuticals Limited, Pithampur, Madhya Pradesh 454775, India, Manufactured for: Glenmark Pharmac…"
    }
  ]
}
```

### Search food recalls

Operation `search_food_recalls`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find FDA food recall enforcement reports by product, brand, or allergen, newest first. Reports are updated weekly and recall statuses may lag.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `query` | string | yes | `"ice cream"` | Product, brand, or allergen to search for, for example peanut or ice cream. |
| `state` | string | no | `"New York"` | State name or two-letter code where the recall was distributed, for example California or CA. |
| `since_date` | string | no | `"2025-01-01"` | Earliest recall start date in YYYY-MM-DD, for example 2025-01-01. |
| `max_results` | integer | no | `5` | Most recalls to return, for example 20 (maximum 100). |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Product, brand, or allergen to search for, for example peanut or ice cream.",
      "examples": [
        "ice cream",
        "peanut",
        "unlikelywordneverfda12345"
      ]
    },
    "state": {
      "type": "string",
      "description": "State name or two-letter code where the recall was distributed, for example California or CA.",
      "examples": [
        "New York",
        "NY"
      ]
    },
    "since_date": {
      "type": "string",
      "format": "date",
      "description": "Earliest recall start date in YYYY-MM-DD, for example 2025-01-01.",
      "examples": [
        "2025-01-01"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Most recalls to return, for example 20 (maximum 100).",
      "x-fous-developer": true,
      "examples": [
        5,
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "query": "ice cream",
      "state": "New York",
      "since_date": "2025-01-01",
      "max_results": 5
    },
    {
      "query": "peanut"
    },
    {
      "query": "unlikelywordneverfda12345",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `recalls` | array |  | Matching food recalls, newest first. |
| `recalls[].reason` | string or null | `"Foreign object: products may contain glass pieces"` | Reason for the recall. |
| `recalls[].status` | string or null | `"Ongoing"` | Recall status in words. |
| `recalls[].company` | string or null | `"Dreyer's Grand  Ice Cream Inc."` | Recalling company. |
| `recalls[].page_url` | string or null | `"https://api.fda.gov/food/enforcement.json?search=recall_number%3A%22H-1265-2026%22"` | Link to this recall record. |
| `recalls[].seriousness` | string or null | `"Class II: may cause temporary or reversible health problems"` | Health risk classification explained in words. |
| `recalls[].recall_number` | string or null | `"H-1265-2026"` | FDA recall number. |
| `recalls[].distributed_in` | string or null | `"The adulterated product was distributed to the following States: AL, AR, AZ, CA,CO,CT, FL,GA, IA,ID, IL, KS, LA, MA,MD,` | Where the recalled product was distributed. |
| `recalls[].recall_start_date` | string or null | `"2026-08-18"` | Date the recall began. |
| `recalls[].product_description` | string or null | `"Outshine Fruit Bar Watermelon, 6-Count 2.5 ounce with UPC 041548413624, packaged in paper outer cartons; individual fru` | Recalled product. |

**Example input**

```json
{
  "query": "ice cream",
  "state": "New York",
  "since_date": "2025-01-01",
  "max_results": 5
}
```

**Example output**

```json
{
  "recalls": [
    {
      "reason": "Foreign object: products may contain glass pieces",
      "status": "Ongoing",
      "company": "Dreyer's Grand  Ice Cream Inc.",
      "page_url": "https://api.fda.gov/food/enforcement.json?search=recall_number%3A%22H-1265-2026%22",
      "seriousness": "Class II: may cause temporary or reversible health problems",
      "recall_number": "H-1265-2026",
      "distributed_in": "The adulterated product was distributed to the following States: AL, AR, AZ, CA,CO,CT, FL,GA, IA,ID, IL, KS, LA, MA,MD,MI, MN,MO, NC, ND, NH, NJ, NV, NY, OH, PA, PR, TN TX, UT, VA, VI, WA, and WI.",
      "recall_start_date": "2026-08-18",
      "product_description": "Outshine Fruit Bar Watermelon, 6-Count 2.5 ounce with UPC 041548413624, packaged in paper outer cartons; individual fruit bars in plastic wrapper.  Keep at 0F (-18C) or colder."
    },
    {
      "reason": "Foreign object: products may contain glass pieces",
      "status": "Ongoing",
      "company": "Dreyer's Grand  Ice Cream Inc.",
      "page_url": "https://api.fda.gov/food/enforcement.json?search=recall_number%3A%22H-1266-2026%22",
      "seriousness": "Class II: may cause temporary or reversible health problems",
      "recall_number": "H-1266-2026",
      "distributed_in": "The adulterated product was distributed to the following States: AL, AR, AZ, CA,CO,CT, FL,GA, IA,ID, IL, KS, LA, MA,MD,MI, MN,MO, NC, ND, NH, NJ, NV, NY, OH, PA, PR, TN TX, UT, VA, VI, WA, and WI.",
      "recall_start_date": "2026-08-18",
      "product_description": "Outshine Fruit Bars Grape, 6-Count 2.5 ounce, with UPC 041548244044, packaged in paper outer cartons; individual fruit bars in plastic wrapper.  Keep at 0F (-18C) or colder."
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@fda",
  "visibility": "public",
  "operation": "get_drug_label",
  "version": 1,
  "input": {
    "medicine": "Tylenol"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@fda\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_drug_label\",\n  \"version\": 1,\n  \"input\": {\n    \"medicine\": \"Tylenol\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@fda",
  "visibility": "public",
  "operation": "get_drug_label",
  "version": 1,
  "input": {
    "medicine": "Tylenol"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/fda`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_drug_label`: Get drug label. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_reported_side_effects`: Get reported side effects. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_device_recalls`: Search device recalls. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_drug_recalls`: Search drug recalls. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_food_recalls`: Search food recalls. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-fda https://api.fous.com/mcp/tools/fda --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Track recalls affecting medicines, foods, or medical devices
- Review recalled product details and health-risk classifications
- Find medicine label directions, ingredients, and warnings
- Compare frequently reported reactions for a medicine
- Filter recall searches by date, status, or location

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this FDA tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a FDA account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from open.fda.gov when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 28, 2026.

### Has a medicine been recalled?

Search drug recalls by medicine or company name with Search drug recalls.

### Has a food product been recalled?

Search food recalls by product, brand, or allergen with Search food recalls.

### What warnings are on a medicine's label?

Get drug label returns label warnings, boxed warnings when present, and other available sections.

## Related

- [Drugs.com API](https://fous.com/tools/drugs-com.md): Drugs.com provides public medicine guides, interaction and food or lifestyle warnings for 2–10 medicines, pill matches by imprint, color, or shape, and listed US cash prices by strength, form, and quantity.
- [CPSC API](https://fous.com/tools/cpsc.md): U.S. Consumer Product Safety Commission recalls and product safety information.
- [USDA FoodData Central API](https://fous.com/tools/usda-fooddata-central.md): USDA FoodData Central provides food composition, nutrition facts per 100 g or chosen listed portions, and relevant food and branded-product search results; missing data may be unavailable.
- [Open Food Facts API](https://fous.com/tools/open-food-facts.md): Open Food Facts provides public packaged-food information, including ingredients, allergens, nutrition, and product classifications; coverage varies, and search results favor popular products.
- [ClinicalTrials.gov API](https://fous.com/tools/clinicaltrials-gov.md): ClinicalTrials.gov helps users find studies and view public trial records, including sponsor-run or funded studies; site distances are approximate, and contacts, eligibility, or exact dates may be missing.
- [NHTSA API](https://fous.com/tools/nhtsa.md): NHTSA provides vehicle details, model-level recalls, 5-Star Safety Ratings, owner complaints, and listed car, SUV, and truck models; data may be missing, and recalls do not confirm repairs.
- [Carfax API](https://fous.com/tools/carfax.md): Carfax provides used-car listings near a US ZIP code with free history highlights, plus open safety recalls reported by CARFAX for a VIN or US plate.
- [NHS API](https://fous.com/tools/nhs.md): NHS provides condition and medicine guidance, with condition dates reflecting the latest pages used, and nearby England service listings ordered by distance; availability details may be missing.
- [All Health tools](https://fous.com/tools/category/health)
