RxNorm API
The RxNorm API is a web service for accessing the current RxNorm data
set.
With one exception, no license is needed to
use the RxNorm API. This is because the data returned from the API is
from the RxNorm vocabulary, a non-proprietary vocabulary developed by
the National Library of Medicine.The API can return the data in XML or JSON formats. The XML structure is described in the rxnormrest.xsd XML schema.
The base URI for the API is https://rxnav.nlm.nih.gov/REST
. A complete resource URI is formed by combining the base URI, a REST resource from the table below, ".json" if you want JSON instead of XML, and query parameters (described on the detail page of each resource). For example:
https://rxnav.nlm.nih.gov/REST/rxcui.json?idtype=NDC&id=11523-7020-1
The API only supports the HTTP method GET.
Functions and Resources
The following table shows each function (also known as a REST resource) in the API.
Key:
- REST Resource
- URL pattern to reach the resource. The link leads to the parameters and other details of the resource
- Functional Name
- How the resource may be referenced in literature and RxMix
- Description
- Content of the resource
- Scope
-
RxNorm Concepts covered by the resource. Possible values:
- Active - indicates the resource applies to only active concepts in the current data set (i.e., concepts that have an RxNorm vocabulary term and no mention of suppressibility).
- Current - indicates the resource applies to any concept in the current data set.
- Active/Current - indicates the resource can cover either Active or Current concepts, according to a parameter.
- Current & Historical - indicates the resource applies to concepts in the current data set, as well as concepts in previous data sets.
Functional Name | REST Resource | Description | Scope |
---|---|---|---|
filterByProperty | /rxcui/{rxcui}/filter | Filter by property | Active |
findRxcuiById | /rxcui?idtype | Search by identifier to find RxNorm concepts | Active/Current |
findRxcuiByString | /rxcui?name | Search by name to find RxNorm concepts | Active/Current |
getAllConceptsByTTY | /allconcepts | Return the RxNorm concepts for the specified term types | Active |
getAllConceptsByStatus | /allstatus | Return the concepts for a specified status | Current & Historical |
getAllHistoricalNDCs | /rxcui/{rxcui}/allhistoricalndcs | Return all National Drug Codes (NDC) for a concept | Current & Historical |
getAllNDCsByStatus | /allNDCstatus | Return the NDCs for a specified NDC status | Current & Historical |
getAllProperties | /rxcui/{rxcui}/allProperties | Return all properties for a concept | Active |
getAllRelatedInfo | /rxcui/{rxcui}/allrelated | Return all related concept information | Active |
getApproximateMatch | /approximateTerm | Approximate match search to find closest strings | Active/Current |
getDisplayTerms | /displaynames | Return the auto suggestion names | Active |
getDrugs | /drugs | Return the related drugs | Active |
getIdTypes | /idtypes | Return the available identifier types | Active |
getMultiIngredBrand | /brands | Return the brands containing the specified ingredients | Active |
getNDCs | /rxcui/{rxcui}/ndcs | Return all National Drug Codes (NDC) for a concept | Active |
getNDCProperties | /ndcproperties | Return National Drug Code (NDC) properties | Active |
getNDCStatus | /ndcstatus | Return the status of a National Drug Code (NDC) | Current & Historical |
getPropCategories | /propCategories | Return the property categories. | Active |
getPropNames | /propnames | Return the property names. | Active |
getProprietaryInformation | /rxcui/{rxcui}/proprietary | Return the proprietary information for a concept | Current |
getRelatedByRelationship | /rxcui/{rxcui}/related?rela | Return the related concepts of specified relationship types | Active |
getRelatedByType | /rxcui/{rxcui}/related?tty | Return the related concepts of specified term types | Active |
getRelaTypes | /relatypes | Return the available relationship types | Active |
getRxConceptProperties | /rxcui/{rxcui}/properties | Return the concepts properties | Active |
getRxcuiHistoryStatus | /rxcui/{rxcui}/historystatus | Return the status, history and other attributes of a concept | Current & Historical |
getRxNormName | /rxcui/{rxcui} | Get the RxNorm name for a concept | Active |
getRxNormVersion | /version | Return the RxNorm data set version | Current |
getRxProperty | /rxcui/{rxcui}/property | Return the value of a concept property | Active |
getSourceTypes | /sourcetypes | Return the available vocabulary abbreviated source types | Current |
getSpellingSuggestions | /spellingsuggestions | Return spelling suggestions for a name | Active |
getTermTypes | /termtypes | Return the available term types | Active |
Note: Please check the Terms of Service for restrictions on using the APIs. |
Deprecated Functions
Functional Name | REST Resource | Description |
---|---|---|
getAllNDCs | /rxcui/{rxcui}/allndcs | DEPRECATED. Use /rxcui/{rxcui}/allhistoricalndcs instead. |
getRxcuiStatus | /rxcui/{rxcui}/status | DEPRECATED in JULY 2020. Use /rxcui/{rxcui}/rxcui/{rxcui}/historystatus instead. |