RxNorm Drug Database Scraper
Pricing
from $3.00 / 1,000 results
RxNorm Drug Database Scraper
Scrape the NIH RxNorm drug database with search drugs by name, look up by RxCUI or NDC code, get brand/generic names, drug types, and spelling suggestions. Free NIH public API, no auth required.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(11)
Developer
Crawler Gang
Maintained by CommunityActor stats
11
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape the NIH RxNorm drug database — a free, authoritative drug terminology resource from the U.S. National Library of Medicine. Look up drugs by name, RxCUI, or NDC code to get brand names, generic names, drug types, and pharmaceutical identifiers.
No API key, authentication, or subscription required — the NIH RxNorm API is completely free and public.
What data do you get?
Each drug record includes:
| Field | Description |
|---|---|
rxcui | RxNorm Concept Unique Identifier |
name | Drug concept name |
synonym | Alternative name or synonym |
tty | Term type code (BN, IN, SCD, SBD, etc.) |
drugType | Human-readable drug type |
language | Language of the record (usually ENG) |
brandNames | List of brand names (getDrugDetails mode) |
genericNames | List of generic names (getDrugDetails mode) |
ndcCodes | List of NDC codes (getDrugDetails mode) |
ndcCode | NDC code (lookupByNDC mode) |
labeler | Labeler/manufacturer name (lookupByNDC mode) |
url | RxNav UI search link |
scrapedAt | ISO timestamp |
Modes
Search Drugs (searchDrugs)
Search by drug name and get all matching concept entries. Filter by drug type (brand name, generic, clinical drug, etc.).
Required inputs: drugName
Examples: drugName=aspirin, drugName=ibuprofen, drugName=metformin
Get Drug Details (getDrugDetails)
Get comprehensive details for a specific drug by RxCUI, including brand names, generic names, and NDC codes.
Required inputs: rxcui
Example: rxcui=1191 (aspirin)
Look Up by NDC (lookupByNDC)
Look up a drug using its National Drug Code (NDC).
Required inputs: ndcCode
Example: ndcCode=0591-0460-01
Get Spelling Suggestions (getSpellingSuggestions)
Get spelling corrections and suggestions for a possibly misspelled drug name.
Required inputs: drugName
Example: drugName=aspirn → returns ["aspirin"]
Get Brand Names (getBrandNames)
Get all brand names for a drug, either by RxCUI or by generic drug name.
Required inputs: rxcui or drugName
Example: drugName=aspirin → returns Bayer Aspirin, Ecotrin, Bufferin, etc.
Drug Type Codes (TTY)
| Code | Meaning |
|---|---|
BN | Brand Name |
IN | Ingredient (Generic) |
SCD | Semantic Clinical Drug (e.g., "aspirin 325 MG Oral Tablet") |
SBD | Semantic Branded Drug (e.g., "aspirin [Bayer]") |
BPCK | Brand Package |
GPCK | Generic Package |
OCD | Obsolete Clinical Drug |
Input
{"mode": "searchDrugs","drugName": "aspirin","drugType": "all","maxItems": 50}
All input fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | Yes | searchDrugs | One of: searchDrugs, getDrugDetails, lookupByNDC, getSpellingSuggestions, getBrandNames |
drugName | string | For searchDrugs, getSpellingSuggestions, getBrandNames | — | Drug name to search |
rxcui | string | For getDrugDetails, getBrandNames | — | RxNorm CUI (e.g., 1191) |
ndcCode | string | For lookupByNDC | — | National Drug Code |
drugType | string | No | all | Filter by type: all, BN, IN, SCD, SBD, BPCK, GPCK |
maxItems | integer | No | 50 | Max records to return (1–1000) |
Output example
{"rxcui": "1191","name": "aspirin","tty": "IN","drugType": "Ingredient (Generic)","language": "ENG","brandNames": ["Bayer Aspirin", "Ecotrin", "Bufferin"],"genericNames": ["aspirin"],"ndcCodes": ["00591-046001", "00904-204460"],"url": "https://mor.nlm.nih.gov/RxNav/search?searchBy=RXCUI&searchTerm=1191","scrapedAt": "2026-05-23T12:00:00+00:00"}
Use cases
- Drug lookup tools: Build medication search and lookup features
- Pharmaceutical research: Analyze drug relationships, brand vs. generic names
- Healthcare applications: Verify drug names and identifiers
- NDC code resolution: Look up drugs from NDC codes on product labels
- Spelling correction: Correct misspelled drug names for user-facing search
Notes
- Free NIH public API — no authentication required
- Data is authoritative and maintained by the U.S. National Library of Medicine
- The API supports tens of thousands of drug concepts
- Results include both current and historical (obsolete) drug entries
FAQ
Q: Is this free to use?
A: Yes. The NIH RxNorm API is completely free and requires no registration.
Q: How many drugs are in RxNorm?
A: RxNorm contains over 100,000 drug concepts across brand names, generics, and clinical formulations.
Q: What is an RxCUI?
A: An RxCUI (RxNorm Concept Unique Identifier) is a unique number assigned to each drug concept in the RxNorm database. For example, aspirin has RxCUI 1191.
Q: What is an NDC code?
A: A National Drug Code (NDC) is an 11-digit product identifier that uniquely identifies human drugs in the United States.
Q: What's the difference between BN and IN types?
A: BN (Brand Name) refers to a trademarked drug product (e.g., "Bayer Aspirin"). IN (Ingredient) refers to the active chemical ingredient (e.g., "aspirin").