# 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/tools/drugs-com
- Handle: `@drugs-com`
- Category: [Health](https://fous.com/tools/category/health)
- Source website: https://drugs.com
- Last verified: Oct 7, 2026

## Methods

### Check drug interactions

Operation `check_drug_interactions`, 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.

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 completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

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 completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

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 | `"tablet"` | Filter by dosage form, for example tablet or oral capsule. |
| `medicine` | string | yes | `"atorvastatin"` | Brand or generic medicine name, for example atorvastatin. |
| `quantity` | integer | no | `30` | 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": [
        "tablet",
        "oral capsule",
        "subcutaneous solution"
      ]
    },
    "medicine": {
      "type": "string",
      "description": "Brand or generic medicine name, for example atorvastatin.",
      "examples": [
        "atorvastatin",
        "amoxicillin",
        "ibuprofen"
      ]
    },
    "quantity": {
      "type": "integer",
      "minimum": 1,
      "description": "Filter by listed quantity, for example 30 tablets or 30 milliliters.",
      "examples": [
        30,
        4,
        100
      ]
    },
    "strength": {
      "type": "string",
      "description": "Filter by labeled strength, for example 20 mg.",
      "examples": [
        "20 mg",
        "200 mg"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "form": "tablet",
      "medicine": "atorvastatin",
      "quantity": 30,
      "strength": "20 mg"
    },
    {
      "form": "oral capsule",
      "medicine": "amoxicillin",
      "quantity": 4
    },
    {
      "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 tablet"` |  |
| `prices[].price` | number | `9.85` | US dollars, lowest listed amount when a range is shown. |
| `prices[].page_url` | string | `"https://www.drugs.com/price-guide/atorvastatin"` | Public price-guide page for this price. |
| `prices[].quantity` | integer | `30` |  |
| `prices[].strength` | string | `"20 mg"` |  |
| `prices[].quantity_unit` | string or null | `"tablets"` | Unit for quantity, such as tablets or milliliters. |
| `prices[].price_currency` | string | `"USD"` |  |
| `prices[].price_per_unit` | number | `0.33` | US dollars per unit, lowest listed amount when a range is shown. |
| `prices[].price_per_unit_currency` | string | `"USD"` |  |
| `medicine_name` | string | `"Atorvastatin"` | Name of the medicine on the price guide. |

**Example input**

```json
{
  "form": "tablet",
  "medicine": "atorvastatin",
  "quantity": 30,
  "strength": "20 mg"
}
```

**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 tablet",
      "price": 9.85,
      "page_url": "https://www.drugs.com/price-guide/atorvastatin",
      "quantity": 30,
      "strength": "20 mg",
      "quantity_unit": "tablets",
      "price_currency": "USD",
      "price_per_unit": 0.33,
      "price_per_unit_currency": "USD"
    }
  ],
  "medicine_name": "Atorvastatin"
}
```

### Identify pill

Operation `identify_pill`, 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 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

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": "@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.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

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=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": "@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);
```

## 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/drugs-com`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `check_drug_interactions`: Check drug interactions. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_drug`: Get drug. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_drug_prices`: Get drug prices. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `identify_pill`: Identify pill. 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-drugs-com https://api.fous.com/mcp/tools/drugs-com --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

- 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

### 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 Drugs.com 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 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. 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 Oct 7, 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/tools/goodrx.md): Prescription savings and drug prices at US pharmacies.
- [Cost Plus Drugs API](https://fous.com/tools/cost-plus-drugs.md): Transparent medicine prices from Mark Cuban Cost Plus Drug Company.
- [FDA API](https://fous.com/tools/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/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.
- [WebMD API](https://fous.com/tools/webmd.md): Plain-language health condition and symptom guides from WebMD.
- [MedlinePlus API](https://fous.com/tools/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/tools/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/tools/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 tools](https://fous.com/tools/category/health)
