RxNorm RESTful Web API


The RxNorm RESTful web API is a web service developed at the National Library of Medicine for accessing the RxNorm data. Representational state transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. REST-style architectures consist of clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the transfer of "representations" of "resources". A resource can be essentially any coherent and meaningful concept that may be addressed. A representation of a resource is typically a document that captures the current or intended state of a resource.

The RxNorm RESTful web API is a simple web service implemented using HTTP and can be thought of as a collection of resources, specified as URIs. Some characteristics of the RxNorm RESTful web API:
Clients of the RxNorm RESTful web API can be browsers, such as Internet Explorer or Firefox, or programs such as the Unix/Linux curl command, or user developed clients. For example, the Unix/Linux curl command could be used to get the RxNorm version:
curl https://rxnav.nlm.nih.gov/REST/version
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><rxnormdata><version>03-Feb-2020</version>
The curl command takes a URL as part of its command sequence. The string https://rxnav.nlm.nih.gov/REST/version is a RxNorm RESTful web API resource. The Resources section details the RxNorm RESTful web API resources available to clients.

Currently, the RxNorm API RESTful web services return the data in XML form as the default. The API can also return the data in JSON. Here is the curl command, modified from above, to return the RxNorm version in JSON format:

curl -H "Accept:application/json" https://rxnav.nlm.nih.gov/REST/version

The following table lists the RxNorm API resources. The query string fields are described in the detailed sections for each resource. The functional name is used in RxMix.

The scope column indicates the concepts which the are covered by the resource. Possible values:


REST resource Functional Name Description Scope
/ Resource base
/approximateTerm getApproximateMatch Return closest terms from an approximate match search Active/Current
/allconcepts getAllConceptsByTTY Return the RxNorm concepts for the specified term types Current
/allstatus getAllConceptsByStatus newNow available. Return the concepts for a specified status Current & Historical
/brands getMultiIngredBrand Return the brands containing the specified ingredients Active
/displaynames getDisplayTerms Return the auto suggestion names Active
/drugs getDrugs Return the related drugs Active
/idtypes getIdTypes Return the available identifier types Current
/ndcproperties getNDCProperties Return National Drug Code (NDC) properties. Active
/ndcstatus getNDCStatus Return the National Drug Code (NDC) status. Current & Historical
/propCategories getPropCategories Return the property categories. Active
/propnames getPropNames Return the property names. Active
/relatypes getRelaTypes Return the available relationship types Active
/rxcui?idtype findRxcuiById Search by identifier to find RxNorm concepts Active/Current
/rxcui?name findRxcuiByString Search by name to find RxNorm concepts Active/Current
/rxcui/{rxcui} getRxNormName Get the RxNorm name for a concept Active
/rxcui/{rxcui}/allhistoricalndcs getAllHistoricalNDCs Return all National Drug Code (NDC) for a concept Current & Historical
/rxcui/{rxcui}/allrelated getAllRelatedInfo Return all related concept information Active
/rxcui/{rxcui}/filter filterByProperty Filter by property Active
/rxcui/{rxcui}/ndcs getNDCs Return all National Drug Codes (NDC) for a concept Active
/rxcui/{rxcui}/allProperties getAllProperties Return all properties for a concept Active
/rxcui/{rxcui}/properties getRxConceptProperties Return the concept properties Active
/rxcui/{rxcui}/property getRxProperty Return the value of a concept property Active
/rxcui/{rxcui}/proprietary getProprietaryInformation Return the proprietary information for a concept Current
/rxcui/{rxcui}/related?rela getRelatedByRelationship Return the related concepts of specified relationship types Active
/rxcui/{rxcui}/related?tty getRelatedByType Return the related concepts of specified term types Active
/rxcui/{rxcui}/historystatus getRxcuiHistoryStatus newNow available. Return the status and history of the concept Current & Historical
/rxcui/{rxcui}/status getRxcuiStatus DEPRECATED IN JULY 2020 - use /historystatus instead. Return the status of the concept Current
/sourcetypes getSourceTypes Return the available vocabulary abbreviated source types Current
/spellingsuggestions getSpellingSuggestions Return spelling suggestions for a name Active
/termtypes getTermTypes Return the available term types Active
/version getRxNormVersion Return the RxNorm data set version Current

Deprecated Resources

REST resource Description
/rxcui/{rxcui}/allndcs DEPRECATED. Use /rxcui/{rxcui}/allhistoricalndcs instead