RxNorm API


Information returned
Strings from any RXNORM source vocabularies
Service domain
HTTP request
GET  /REST/rxcui/rxcui/proprietary.xml?srclist=yourList&rxaui=yourRxaui


Get the string, term type, source, and source's identifier for a specified atom or for atoms in a specified concept.

The result encompasses atoms from the sources listed in srclist, or all eligible sources if srclist is ALL or not specified. Eligible sources are either the unrestricted sources (RXNSAB SRL=0) or all sources, depending on whether the request demonstrates a UMLS license.

A UMLS license may be demonstrated by presenting a UMLS UTS API key via the Authorization header: "Authorization: Bearer put-your-key-here" (substituting the API key). Consult your tool documentation for instructions for providing an HTTP request header, such as Authorization. For information about how to obtain a UMLS UTS API key, please visit the National Library of Medicine’s UMLS Terminology Services.

Note concerning UMLS UTS single-use tickets

As of December 5, 2022, the RxNorm API no longer accepts UMLS UTS single-use tickets, as the UMLS UTS is discontinuing them in favor of API keys.


Current: concepts in the current RxNorm data set that have an atom with SUPPRESS=N


rxcuiPathRequiredRxNorm identifier

Notation for results

One of:
Get results in XML
Get results in JSON
srclistQueryOptionalSource vocabularies

(Space-separated list. See getSourceTypes for the menu.)

rxauiQueryOptionalRxNorm atom identifier

All query parameters are case-insensitive.

Note that HTTP requires that query parameters be "URL encoded". For instance, a "space-separated list" will, in practice, usually appear to use either a plus sign (+) or %20 as the separator. For full information on URL encoding, please refer to IETF RFC 3986, "Uniform Resource Identifier".

Follow instructions specific to your tools for specifying a request header.

Output structure

Results are available as either XML or JSON.

  • The XML result has the root element rxnormdata. It is described in the XML Schema for the RxNorm API; the relevant element structure is summarized below. Elements that would be empty might be left out.

  • The JSON result is an object {...}, analogous to the content of the XML rxnormdata. Fields that might occur multiple times in the XML are expressed as an array. Fields that would be empty might be null or left out. Numbers are expressed as strings.

Both XML and JSON results follow the same outline:

Root element in XML, or anonymous object in JSON
(Always empty)
proprietaryInfo (array)
RxNorm identifier
RxNorm concept name
Term type
Source vocabulary's ID for the term
Source vocabulary

Example: RxNorm strings for a concept

XML: https://rxnav.nlm.nih.gov/REST/rxcui/153165/proprietary?srclist=RXNORM

JSON: https://rxnav.nlm.nih.gov/REST/rxcui/153165/proprietary.json?srclist=RXNORM

RxNorm is an "unrestricted" UMLS sources, so no UMLS UTS authentication is necessary.

An XML result is shown below.