# Drugs.com API

> Drugs.com returns medicine information, interaction checks, pill matches, and listed US cash prices through a workflow and API.

Get drug returns plain-language medicine details from a required brand or generic name. Check drug interactions compares 2 to 10 medicine names for medicine interactions and food or lifestyle warnings. Identify pill uses an imprint, optionally color and shape; Get drug prices uses a medicine name, optionally strength, form, or quantity.

- Page: https://fous.com/workflows/drugs-com
- Handle: `@drugs-com`
- Category: [Health](https://fous.com/workflows/category/health)
- Source website: https://drugs.com
- Last verified: Sep 30, 2026
- Fous is not affiliated with Drugs.com.

## Methods

### Check drug interactions

Operation `check_drug_interactions`, version 1. 1 credit per call.

Check 2 to 10 medicine names for drug interactions and food or lifestyle warnings. Unrecognised or ambiguous names are listed; advice reflects Drugs.com’s public report.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `medicines` | array | yes |  | Medicine names to check together, such as warfarin and aspirin. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "medicines"
  ],
  "properties": {
    "medicines": {
      "type": "array",
      "items": {
        "type": "string",
        "examples": [
          "warfarin",
          "aspirin",
          "metformin"
        ],
        "description": "Use the same format as these example values: \"warfarin\", \"aspirin\", \"metformin\"."
      },
      "maxItems": 10,
      "minItems": 2,
      "description": "Medicine names to check together, such as warfarin and aspirin.",
      "examples": [
        [
          "warfarin",
          "aspirin"
        ],
        [
          "metformin",
          "amoxicillin",
          "zznothing"
        ],
        [
          "amoxicillin",
          "docusate"
        ]
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "medicines": [
        "warfarin",
        "aspirin"
      ]
    },
    {
      "medicines": [
        "metformin",
        "amoxicillin",
        "zznothing"
      ]
    },
    {
      "medicines": [
        "amoxicillin",
        "docusate"
      ]
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `interactions` | array |  | Medicine-to-medicine interactions, most severe first. |
| `interactions[].severity` | string | `"major"` |  |
| `interactions[].page_link` | string | `"https://www.drugs.com/interactions-check.php?drug_list=2311-0%2C243-0"` |  |
| `interactions[].explanation` | string | `"Using warfarin together with aspirin may cause you to bleed more easily.  You may need a dose adjustment based on your ` |  |
| `interactions[].medicine_one` | string | `"warfarin"` |  |
| `interactions[].medicine_two` | string | `"aspirin"` |  |
| `interactions[].severity_meaning` | string | `"Highly clinically significant. Avoid combinations; the risk of the interaction outweighs the benefit."` |  |
| `unrecognized_names` | array |  | Names that were not clearly recognised by the checker. |
| `food_and_lifestyle_interactions` | array |  | Food, alcohol and lifestyle warnings, most severe first. |
| `food_and_lifestyle_interactions[].medicine` | string | `"aspirin"` |  |
| `food_and_lifestyle_interactions[].severity` | string | `"moderate"` |  |
| `food_and_lifestyle_interactions[].page_link` | string | `"https://www.drugs.com/interactions-check.php?drug_list=2311-0%2C243-0"` |  |
| `food_and_lifestyle_interactions[].substance` | string | `"Alcohol (Ethanol)"` |  |
| `food_and_lifestyle_interactions[].explanation` | string |  |  |
| `food_and_lifestyle_interactions[].severity_meaning` | string | `"Moderately clinically significant. Usually avoid combinations; use it only under special circumstances."` |  |

**Example input**

```json
{
  "medicines": [
    "warfarin",
    "aspirin"
  ]
}
```

**Example output**

```json
{
  "interactions": [
    {
      "severity": "major",
      "page_link": "https://www.drugs.com/interactions-check.php?drug_list=2311-0%2C243-0",
      "explanation": "Using warfarin together with aspirin may cause you to bleed more easily.  You may need a dose adjustment based on your prothrombin time or International Normalized Ratio (INR).  Call your doctor promp…",
      "medicine_one": "warfarin",
      "medicine_two": "aspirin",
      "severity_meaning": "Highly clinically significant. Avoid combinations; the risk of the interaction outweighs the benefit."
    }
  ],
  "unrecognized_names": [],
  "food_and_lifestyle_interactions": [
    {
      "medicine": "aspirin",
      "severity": "moderate",
      "page_link": "https://www.drugs.com/interactions-check.php?drug_list=2311-0%2C243-0",
      "substance": "Alcohol (Ethanol)",
      "explanation": "Ask your doctor before using aspirin together with ethanol (alcohol).  Do not drink alcohol while taking aspirin.  Alcohol can increase your risk of stomach bleeding caused by aspirin.  Call your doct…",
      "severity_meaning": "Moderately clinically significant. Usually avoid combinations; use it only under special circumstances."
    },
    {
      "medicine": "warfarin",
      "severity": "moderate",
      "page_link": "https://www.drugs.com/interactions-check.php?drug_list=2311-0%2C243-0",
      "substance": "Food/Lifestyle",
      "explanation": "Nutrition and diet can affect your treatment with warfarin.  Therefore, it is important to keep your vitamin supplement and food intake steady throughout treatment.  Vitamin K helps your blood clot, s…",
      "severity_meaning": "Moderately clinically significant. Usually avoid combinations; use it only under special circumstances."
    }
  ]
}
```

### Get drug

Operation `get_drug`, version 1. 1 credit per call.

Get a plain-language medicine overview by brand or generic name from public Drugs.com pages. Some details are unavailable for certain medicines.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `medicine` | string | yes | `"ibuprofen"` | Brand or generic medicine name, for example Lipitor or ibuprofen. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "medicine"
  ],
  "properties": {
    "medicine": {
      "type": "string",
      "description": "Brand or generic medicine name, for example Lipitor or ibuprofen.",
      "examples": [
        "ibuprofen",
        "Lipitor",
        "Adderall"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "medicine": "ibuprofen"
    },
    {
      "medicine": "Lipitor"
    },
    {
      "medicine": "Adderall"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `name` | string or null | `"Ibuprofen"` | Medicine name. |
| `used_for` | string or null | `"Ibuprofen is a nonsteroidal anti-inflammatory drug (NSAID). It works by reducing hormones that cause inflammation and p` | Short description of what it treats. |
| `page_link` | string or null | `"https://www.drugs.com/ibuprofen.html"` | Medicine page link. |
| `drug_class` | string or null | `"Nonsteroidal anti-inflammatories (NSAIDs)"` | Drug class. |
| `brand_names` | array |  | Other brand names. |
| `availability` | string or null | `"Both prescription and over the counter"` | Prescription only, over the counter, or both. |
| `generic_name` | string or null | `"ibuprofen"` | Generic medicine name. |
| `pregnancy_notes` | string or null | `"Ask a doctor before using this medicine if you are pregnant or breastfeeding. If you are pregnant, you should not take ` | Pregnancy guidance. |
| `generic_available` | boolean or null | `true` | Whether a generic version is available, or null when not stated. |
| `breastfeeding_notes` | string or null | `"Ask a doctor before using this medicine if you are pregnant or breastfeeding."` | Breastfeeding guidance. |
| `common_side_effects` | array |  | Common side effects. |
| `serious_side_effects` | array |  | Serious symptoms and side effects. |
| `dosage_forms_and_strengths` | string or null | `"oral capsule (200 mg), oral suspension (100 mg/5 mL; 50 mg/1.25 mL), oral tablet (100 mg; 200 mg; 400 mg; 600 mg; 800 m` | Available dosage forms and strengths listed on the medicine page. |
| `controlled_substance_schedule` | string or null | `"Schedule II (high potential for abuse)"` | Schedule in words if controlled, otherwise null. |

**Example input**

```json
{
  "medicine": "ibuprofen"
}
```

**Example output**

```json
{
  "name": "Ibuprofen",
  "used_for": "Ibuprofen is a nonsteroidal anti-inflammatory drug (NSAID). It works by reducing hormones that cause inflammation and pain in the body. Ibuprofen is used to reduce fever and treat pain or inflammation…",
  "page_link": "https://www.drugs.com/ibuprofen.html",
  "drug_class": "Nonsteroidal anti-inflammatories (NSAIDs)",
  "brand_names": [
    "Advil",
    "Genpril",
    "IBU"
  ],
  "availability": "Both prescription and over the counter",
  "generic_name": "ibuprofen",
  "pregnancy_notes": "Ask a doctor before using this medicine if you are pregnant or breastfeeding. If you are pregnant, you should not take ibuprofen unless your doctor tells you to. Taking an NSAID at 20 weeks or later i…",
  "generic_available": true,
  "breastfeeding_notes": "Ask a doctor before using this medicine if you are pregnant or breastfeeding.",
  "common_side_effects": [
    "nausea, vomiting, gas",
    "bleeding",
    "dizziness , headache"
  ],
  "serious_side_effects": [
    "Get emergency medical help if you have signs of an allergic reaction to ibuprofen ( hives , difficult breathing, swelling in your face or throat) or a severe skin reaction (fever, sore throat , burnin…",
    "Get emergency medical help if you have signs of a heart attack or stroke: chest pain spreading to your jaw or shoulder, sudden numbness or weakness on one side of the body, slurred speech, leg swellin…",
    "Stop using this medicine and call your doctor at once if you have:"
  ],
  "dosage_forms_and_strengths": "oral capsule (200 mg), oral suspension (100 mg/5 mL; 50 mg/1.25 mL), oral tablet (100 mg; 200 mg; 400 mg; 600 mg; 800 mg),  oral tablet, chewable (100 mg; 50 mg)",
  "controlled_substance_schedule": null
}
```

### Get drug prices

Operation `get_drug_prices`, version 1. 1 credit per call.

Get listed US cash prices by strength, form and quantity for a brand or generic medicine. Where a price is shown as a range, the lower listed amount is returned.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `form` | string | no | `"oral capsule"` | Filter by dosage form, for example tablet or oral capsule. |
| `medicine` | string | yes | `"amoxicillin"` | Brand or generic medicine name, for example atorvastatin. |
| `quantity` | integer | no | `4` | Filter by listed quantity, for example 30 tablets or 30 milliliters. |
| `strength` | string | no | `"20 mg"` | Filter by labeled strength, for example 20 mg. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "medicine"
  ],
  "properties": {
    "form": {
      "type": "string",
      "description": "Filter by dosage form, for example tablet or oral capsule.",
      "examples": [
        "oral capsule",
        "tablet",
        "subcutaneous solution"
      ]
    },
    "medicine": {
      "type": "string",
      "description": "Brand or generic medicine name, for example atorvastatin.",
      "examples": [
        "amoxicillin",
        "atorvastatin",
        "ibuprofen"
      ]
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "description": "Filter by listed quantity, for example 30 tablets or 30 milliliters.",
      "examples": [
        4,
        30,
        100
      ]
    },
    "strength": {
      "type": "string",
      "description": "Filter by labeled strength, for example 20 mg.",
      "examples": [
        "20 mg",
        "200 mg"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "form": "oral capsule",
      "medicine": "amoxicillin",
      "quantity": 4
    },
    {
      "form": "tablet",
      "medicine": "atorvastatin",
      "quantity": 30,
      "strength": "20 mg"
    },
    {
      "form": "tablet",
      "medicine": "ibuprofen",
      "quantity": 100,
      "strength": "200 mg"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `note` | string | `"Prices are for cash-paying customers and are not valid with insurance plans. Prices may vary by pharmacy; where a range` | Explanation of the cash-price and insurance restrictions. |
| `prices` | array |  | Listed cash prices for matching strengths, forms and quantities. For a listed price range, the price shown is the lower amount. |
| `prices[].form` | string | `"oral capsule"` |  |
| `prices[].price` | number | `4.5` | US dollars, lowest listed amount when a range is shown. |
| `prices[].page_url` | string | `"https://www.drugs.com/price-guide/amoxicillin"` | Public price-guide page for this price. |
| `prices[].quantity` | integer | `4` |  |
| `prices[].strength` | string | `"250 mg"` |  |
| `prices[].quantity_unit` | string or null | `"capsules"` | Unit for quantity, such as tablets or milliliters. |
| `prices[].price_currency` | string | `"USD"` |  |
| `prices[].price_per_unit` | number | `1.13` | US dollars per unit, lowest listed amount when a range is shown. |
| `prices[].price_per_unit_currency` | string | `"USD"` |  |
| `medicine_name` | string | `"Amoxicillin"` | Name of the medicine on the price guide. |

**Example input**

```json
{
  "form": "oral capsule",
  "medicine": "amoxicillin",
  "quantity": 4
}
```

**Example output**

```json
{
  "note": "Prices are for cash-paying customers and are not valid with insurance plans. Prices may vary by pharmacy; where a range is listed, the lower price is shown.",
  "prices": [
    {
      "form": "oral capsule",
      "price": 4.5,
      "page_url": "https://www.drugs.com/price-guide/amoxicillin",
      "quantity": 4,
      "strength": "250 mg",
      "quantity_unit": "capsules",
      "price_currency": "USD",
      "price_per_unit": 1.13,
      "price_per_unit_currency": "USD"
    },
    {
      "form": "oral capsule",
      "price": 4.62,
      "page_url": "https://www.drugs.com/price-guide/amoxicillin",
      "quantity": 4,
      "strength": "500 mg",
      "quantity_unit": "capsules",
      "price_currency": "USD",
      "price_per_unit": 1.16,
      "price_per_unit_currency": "USD"
    }
  ],
  "medicine_name": "Amoxicillin"
}
```

### Identify pill

Operation `identify_pill`, version 1. 1 credit per call.

Find possible pill matches by imprint and optional color and shape. Returns up to 20 matching pills; the manufacturer field uses the company listed as labeler when available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `color` | string | no | `"white"` | Pill color, for example white. |
| `shape` | string | no | `"capsule"` | Pill shape, for example capsule, oval, or round. |
| `imprint` | string | yes | `"L484"` | Letters or numbers printed on the pill, for example L484. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "imprint"
  ],
  "properties": {
    "color": {
      "type": "string",
      "default": "",
      "description": "Pill color, for example white.",
      "examples": [
        "white"
      ]
    },
    "shape": {
      "type": "string",
      "default": "",
      "description": "Pill shape, for example capsule, oval, or round.",
      "examples": [
        "capsule",
        "round"
      ]
    },
    "imprint": {
      "type": "string",
      "minLength": 1,
      "description": "Letters or numbers printed on the pill, for example L484.",
      "examples": [
        "L484",
        "ZZZXQ987654321",
        "M"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "color": "white",
      "shape": "capsule",
      "imprint": "L484"
    },
    {
      "imprint": "ZZZXQ987654321"
    },
    {
      "shape": "round",
      "imprint": "M"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `matches` | array |  | Possible pills that match the description, at most 20. |
| `matches[].color` | string or null | `"White"` | Color listed for this pill. |
| `matches[].shape` | string or null | `"Capsule/Oblong"` | Shape listed for this pill. |
| `matches[].imprint` | string or null | `"L484"` | Pill imprint shown for this match. |
| `matches[].strength` | string or null | `"500mg"` | Strength printed in the pill listing, when known. |
| `matches[].manufacturer` | string or null | `"Kroger Company"` | Company listed as labeler on the pill page, when available; it may not be the physical manufacturer. |
| `matches[].medicine_name` | string or null | `"Acetaminophen"` | Name of the identified medicine. |
| `matches[].pill_page_link` | string or null | `"https://www.drugs.com/imprints/l484-10944.html"` | Link to this pill’s details. |
| `matches[].pill_image_link` | string or null | `"https://www.drugs.com/images/pills/custom/pill10944-1.avif"` | Link to a photo of the pill, when available. |

**Example input**

```json
{
  "color": "white",
  "shape": "capsule",
  "imprint": "L484"
}
```

**Example output**

```json
{
  "matches": [
    {
      "color": "White",
      "shape": "Capsule/Oblong",
      "imprint": "L484",
      "strength": "500mg",
      "manufacturer": "Kroger Company",
      "medicine_name": "Acetaminophen",
      "pill_page_link": "https://www.drugs.com/imprints/l484-10944.html",
      "pill_image_link": "https://www.drugs.com/images/pills/custom/pill10944-1.avif"
    }
  ]
}
```

## Quick start

Call the API with a Fous API key (`FOUS_API_KEY`). To create one, turn on Developer mode in Fous Studio, then open Keys & connections → API keys (https://app.fous.com/keys).

```bash
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
: "${FOUS_API_KEY:?Set FOUS_API_KEY before running this example}"

curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 120 \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@drugs-com",
  "visibility": "public",
  "operation": "check_drug_interactions",
  "version": 1,
  "input": {
    "medicines": [
      "warfarin",
      "aspirin"
    ]
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
# First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
import json
import os
import urllib.error
import urllib.request

api_key = os.environ.get("FOUS_API_KEY")
if not api_key:
    raise RuntimeError("Set FOUS_API_KEY before running this example")

body = json.loads("{\n  \"api\": \"@drugs-com\",\n  \"visibility\": \"public\",\n  \"operation\": \"check_drug_interactions\",\n  \"version\": 1,\n  \"input\": {\n    \"medicines\": [\n      \"warfarin\",\n      \"aspirin\"\n    ]\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=120) 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.
// First set your key: export FOUS_API_KEY='YOUR_FOUS_API_KEY'
const apiKey = process.env.FOUS_API_KEY;
if (!apiKey) throw new Error("Set FOUS_API_KEY before running this example");

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(120_000),
  body: JSON.stringify({
  "api": "@drugs-com",
  "visibility": "public",
  "operation": "check_drug_interactions",
  "version": 1,
  "input": {
    "medicines": [
      "warfarin",
      "aspirin"
    ]
  },
  "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);
```

Or describe the data in plain language: send `{"api":"@drugs-com","prompt":"Describe the data you need, with every detail"}` to the same URL. Fous fills in the input, runs the method that fits and returns only the fields you asked for; `data.route.calls[].request` is the exact call it made. Routing is free; the run costs the same.

## Use cases

- Review a medicine’s uses and common or serious side effects.
- Check medicines for possible interactions and food or lifestyle warnings.
- Find possible pill matches using an imprint, color, and shape.
- Compare listed cash prices by medicine strength, form, and quantity.
- Review pregnancy and breastfeeding notes for a medicine.

## FAQ

### Is Fous affiliated with Drugs.com?

No. Fous is not affiliated with Drugs.com. This workflow reads the public drugs.com website and returns its data.

### How much does it cost?

Each run costs 1 credit. With pay-as-you-go, a credit costs 1¢; monthly plans cost less per credit.

### Do I need a Drugs.com account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from drugs.com when you run it; repeating the same request within a day may return the saved result. Fous checks this workflow automatically; it last passed a check on Sep 30, 2026.

### What is this medicine used for?

Get drug returns a short description of what a named medicine treats.

### Do these medicines interact?

Check drug interactions checks 2 to 10 medicine names and returns medicine interactions and food or lifestyle warnings.

### What pill matches this imprint?

Identify pill returns possible matches from the required imprint and optional color and shape.

## Related

- [GoodRx API](https://fous.com/workflows/goodrx.md): Prescription savings and drug prices at US pharmacies.
- [Cost Plus Drugs API](https://fous.com/workflows/cost-plus-drugs.md): Transparent medicine prices from Mark Cuban Cost Plus Drug Company.
- [FDA API](https://fous.com/workflows/fda.md): FDA provides drug safety data, latest matching drug labels, common reported side effects, and newest-first drug, food, and device recalls; recent drug and device recalls may be missing, and weekly food statuses may lag.
- [NHS API](https://fous.com/workflows/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.
- [WebMD API](https://fous.com/workflows/webmd.md): Plain-language health condition and symptom guides from WebMD.
- [MedlinePlus API](https://fous.com/workflows/medlineplus.md): MedlinePlus provides health information from the U.S. National Library of Medicine, including condition and symptom overviews and explanations of tests with matching pages.
- [Costco API](https://fous.com/workflows/costco.md): Costco returns US product prices/details and warehouse hours/services/gas prices; delivery affects availability, member prices may be hidden, and posted gas and holiday hours may differ.
- [Mayo Clinic API](https://fous.com/workflows/mayo-clinic.md): Mayo Clinic provides health information from public condition pages, including condition overviews and, where available, diagnosis, treatment, home care, alternative medicine, and appointment preparation.
- [All Health workflows](https://fous.com/workflows/category/health)
