Drugs.com API: Check drug interactions
Checks 2 to 10 medicine names together on the Drugs.com interaction checker and returns drug-to-drug interactions and food or lifestyle warnings, most severe first, plus the names it could not recognise.
Unofficial. Not affiliated with or endorsed by Drugs.com.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Medicines, required
medicines 2 to 10 medicine names to check together, such as warfarin and aspirin.
- warfarin
- aspirin
List of text.
Input as JSON
{ "medicines": [ "warfarin", "aspirin" ]}Output
{ "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 promptly if you have any unusual bleeding or bruising, vomiting , blood in your urine or stools, headache…", "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 doctor at once if you have symptoms of bleeding in your stomach or intestines. This includes black, blo…", "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, so eating more vitamin K can make warfarin less effective. You do not need to avoid foods with vitam…", "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": "multivitamins with minerals", "explanation": "Rarely, vitamin supplements containing vitamin K may reduce the effectiveness of warfarin. This may be more likely to occur in individuals who have low levels of vitamin K in their blood. Before using any vitamin supplement, you should check the label to make sure it does not contain vitamin K. I…", "severity_meaning": "Moderately clinically significant. Usually avoid combinations; use it only under special circumstances." } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"drugs.com/check_drug_interactions","input":{"medicines":["warfarin","aspirin"]}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "drugs.com/check_drug_interactions" , "input": { "medicines": [ "warfarin", "aspirin" ] }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "drugs.com/check_drug_interactions" , "input": { "medicines": [ "warfarin", "aspirin" ] } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run drugs.com/check_drug_interactions# with {"medicines":["warfarin","aspirin"]}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "medicines" ], "properties": { "medicines": { "type": "array", "items": { "type": "string" }, "description": "2 to 10 medicine names to check together, such as warfarin and aspirin." } }}Output schema
{ "type": "object", "required": [ "interactions", "food_and_lifestyle_interactions", "unrecognized_names" ], "properties": { "interactions": { "type": "array", "items": { "type": "object", "required": [ "medicine_one", "medicine_two", "severity", "severity_meaning", "explanation", "page_link" ], "properties": { "severity": { "type": "string" }, "page_link": { "type": "string" }, "explanation": { "type": "string" }, "medicine_one": { "type": "string" }, "medicine_two": { "type": "string" }, "severity_meaning": { "type": "string" } } }, "description": "Medicine-to-medicine interactions, most severe first." }, "unrecognized_names": { "type": "array", "items": { "type": "string" }, "description": "Names that were not clearly recognised by the checker." }, "food_and_lifestyle_interactions": { "type": "array", "items": { "type": "object", "required": [ "medicine", "substance", "severity", "severity_meaning", "explanation", "page_link" ], "properties": { "medicine": { "type": "string" }, "severity": { "type": "string" }, "page_link": { "type": "string" }, "substance": { "type": "string" }, "explanation": { "type": "string" }, "severity_meaning": { "type": "string" } } }, "description": "Food, alcohol and lifestyle warnings, most severe first." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
drugs.com/check_drug_interactions- Returns
- drug interactions with severity and explanation, food and lifestyle interactions, unrecognised names
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method drugs.com/check_drug_interactions with the inputs above.
Ask your agent
- Is it safe to take warfarin and ibuprofen together? Tell me how serious the interaction is.
- Check my mom's meds for interactions: lisinopril, metformin, atorvastatin, and amlodipine. Also any food or alcohol warnings.
- Use Drugs.com to see if sertraline and tramadol interact, and list the severity.
- I'm on simvastatin and my doctor just added clarithromycin — any problems, and should I avoid grapefruit?
- Run these through the Drugs.com interaction checker: levothyroxine, omeprazole, calcium carbonate, and Synthroid. Flag anything it doesn't recognize.
See more
All Drugs.com methodsLooks up a medicine by brand or generic name on Drugs.com and returns a plain-language overview: class, uses, availability, schedule, dosage forms, side effects, and pregnancy and breastfeeding notes.
drugs.com/get_drugGets the US cash prices Drugs.com lists for a brand or generic medicine by strength, dosage form and quantity, optionally filtered. Where a range is listed the lower price is returned.
drugs.com/get_drug_pricesFinds possible pill matches on the Drugs.com pill identifier by imprint, optionally narrowed by color and shape, with each pill's labeler.
drugs.com/identify_pillFinds the latest FDA drug label for a brand or generic medicine and returns its uses, directions, warnings, ingredients and a DailyMed link.
open.fda.gov/get_drug_labelFinds FDA drug enforcement recalls by medicine or company name, newest first, with status, class, reason and quantity. Recent recalls may not yet appear.
open.fda.gov/search_drug_recallsLists the most frequently reported reaction terms for a brand or generic medicine in FDA adverse-event reports, with counts and the share of all matching reports. Reports do not establish causation.
open.fda.gov/get_reported_side_effectsLooks up a medicine in the NHS medicines A to Z and returns its guidance: uses, key facts, who can take it, how to take it, side effects, pregnancy and interactions. Sections absent from NHS guidance are null; a plain name with separate adult and child pages selects the adult page.
nhs.uk/get_medicineLooks up a medicine at Cost Plus Drugs by generic or brand name and returns the listed price and its breakdown for a strength, form and quantity, with the strengths and forms on offer. The drug price excludes shipping and taxes; standard shipping is shown separately.
costplusdrugs.com/get_drug_price