Drugs APIdrugs.com ↗
Access FDA approvals, drug interactions, pill identification, drug details by condition, and more from Drugs.com via a structured JSON API.
What is the Drugs API?
The Drugs.com API exposes 8 endpoints covering FDA drug approvals, drug detail pages, interaction checks, and pill identification. You can call get_drug_interactions to check severity and descriptions for two-drug pairs using interaction IDs, search drugs by keyword, or look up pills by imprint code, color, and shape — all returning structured JSON with fields ready for clinical tools, formulary apps, or consumer health products.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/da04495a-c550-40b2-91b6-6a686616952d/get_new_drug_approvals' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace drugs-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.drugs.com_scraper_api import Drugs, PillColor, PillShape, AlphabetLetter
drugs = Drugs()
# Search for drugs by keyword
for summary in drugs.drugsummaries.search(query="metformin"):
print(summary.name, summary.url)
# Get detailed drug information
abilify = drugs.drugs.get(url="/abilify.html")
print(abilify.name, abilify.generic_name, abilify.drug_class)
# Check drug interactions
for interaction in abilify.interactions():
print(interaction.severity, interaction.pair, interaction.description)
# Search pill identifier with color enum
for pill in drugs.pills.search(imprint="L484", color=PillColor.WHITE):
print(pill.name, pill.url, pill.details.strength, pill.details.shape)
# Get pill detail
detail = drugs.pilldetails.get(url="/imprints/l484-10944.html")
print(detail.imprint, detail.strength, detail.color, detail.drug_class)
# List drugs for a condition
for drug in drugs.conditiondrugs.list(condition="depression"):
print(drug.name, drug.rating, drug.rx_otc)
# List drugs alphabetically
for entry in drugs.drugentries.list(letter=AlphabetLetter.B):
print(entry.name, entry.url)
# Get latest FDA approvals
for approval in drugs.approvals.list():
print(approval.name, approval.approval_date, approval.treatment)
Retrieve the latest FDA drug approvals listed on Drugs.com. Returns a single page of the most recent approvals including drug name, manufacturer, approval date, treatment indication, and description. No pagination; the response reflects the site's current listing (typically 15-25 recent approvals).
No input parameters required.
{
"type": "object",
"fields": {
"approvals": "array of approval objects each containing name, url, company, approval_date, treatment, and description"
},
"sample": {
"data": {
"approvals": [
{
"url": "https://www.drugs.com/xocova.html",
"name": "Xocova",
"company": "",
"treatment": "Post-Exposure Prophylaxis of COVID-19",
"description": "Xocova (ensitrelvir) is a 3CL protease inhibitor for post-exposure prophylaxis of COVID‑19.",
"approval_date": "May 29, 2026"
}
]
},
"status": "success"
}
}About the Drugs API
Drug Search and Detail
The search_drugs endpoint accepts a keyword query and returns matching drug name, url, and description fields from the Drugs.com index. From there, get_drug_details takes a drug page path (e.g. /lisinopril.html) and returns the drug's generic_name, drug_class, a sections object mapping content headings to full text (covering areas like dosage, side effects, and warnings), and an interaction_id for use in downstream interaction lookups.
Drug Interactions and FDA Approvals
get_drug_interactions accepts a comma-separated pair of interaction IDs and returns an interactions array where each object carries severity, pair (the drug combination name), and a plain-text description. Interaction IDs come from the interaction_id field returned by get_drug_details. The get_new_drug_approvals endpoint requires no inputs and returns an approvals array with name, company, approval_date, treatment, and description for each recently approved drug.
Pill Identification
pill_identifier_search filters by any combination of imprint, color, and shape, returning a pills array with name, URL, and summary details. get_pill_detail drills into a specific pill page and returns physical metadata: size (in mm), color, shape, imprint, strength, drug_class, and availability (Rx, OTC, or both). No image URLs are currently returned by these endpoints.
Condition-Based and Alphabetical Listings
get_drugs_by_condition accepts a condition slug (e.g. depression, insomnia) and returns drugs sorted by popularity, each with rating, reviews, rx_otc, pregnancy, csa, and alcohol fields — enough to build a basic comparison view per condition. get_drug_by_letter returns all drug name and url pairs beginning with a given letter, useful for building browseable drug directories.
The Drugs API is a managed, monitored endpoint for drugs.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when drugs.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official drugs.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a drug interaction checker using get_drug_interactions severity and description fields
- Display FDA approval feeds in a clinical news dashboard using get_new_drug_approvals
- Identify unknown pills by imprint and color using pill_identifier_search and get_pill_detail
- Populate a condition-specific medication comparison page using get_drugs_by_condition ratings and reviews
- Enrich a pharmacy product catalog with drug_class and generic_name from get_drug_details
- Generate a browseable drug A–Z index using get_drug_by_letter
- Alert users to potential drug-drug interactions in a medication tracking app by chaining get_drug_details and get_drug_interactions
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.