We welcome your feedback on our customer service form. Please use "UMLS REST API feedback" in your subject line.
Check out the Postman sample collection to help you get started using the UMLS REST API.
We have shut down the Source-Asserted Subsets API Endpoint and the Content Views API Endpoint as of December 31, 2023. We deprecated these endpoints in May of 2022. Source-Asserted Subset information and Content View information can be retrieved from the UMLS Metathesaurus files.
We are pleased to announce the publication of a (/automating-downloads.html)[new API endpoint for NLM terminology releases]. This endpoint provides an updated list of releases for many of our terminology products. You can use this endpoint to automate the download of the latest release files for RxNorm, SNOMED CT, and UMLS.
We have made adjustments to the way in which the search API stems individual words. The most significant impact is that queries that include plural forms of words will now find singular forms, for example, a query for "lungs" will find all instances of "lung". In general, API search queries and search queries in the Metathesaurus Browser will produce a higher number of results than before.
We now offer an endpoint for validating API keys. If you have developed an application that integrates UMLS data and you need to determine whether a user is a UMLS licensee, you can use this endpoint to validate the user's API key.
Make a request that includes both your API key (validatorApiKey) and the API key of the user of your application (apiKey). For example:
https://utslogin.nlm.nih.gov/validateUser?validatorApiKey=YOUR_API_KEY&apiKey=USER_API_KEY
For more information see our
authentication documentation.
Search for partial matches, for example:
/search/current
?string=Congenital Nephrogenic Diabetes Insipidus
&partialSearch=true
Adding partialSearch=true to your search query will return partial matches. If your query contains four words, it will return results that include all four words, then results that contain three of four words, then two of four words, then one of four words.
For more information see our
search documentation.
Download any RxNorm, SNOMED CT, or UMLS release using a single command, for example:
curl
"https://uts-ws.nlm.nih.gov/download
?url=https://download.nlm.nih.gov/
umls/kss/rxnorm/
RxNorm_weekly_10052022.zip
&apiKey=YOUR_API_KEY"
-o RxNorm_weekly_10052022.zip
For more information, see our Automating UMLS Terminology Services Downloads page.
Search for a CUI, return a source-asserted code: The search endpoint now supports searching for a UMLS CUI and returning a source-asserted
code, for example:
/search/current
?string=C0009044
&sabs=SNOMEDCT_US
&returnIdType=code.
For more information see our
search documentation.
Changes to the concept relations endpoint: The concept relations api endpoint will return any relation associated with a UMLS CUI, including source-asserted relations. Previously, this endpoint only returned NLM-asserted relations.
New authentication method: Users can request data by simply including an API key with a data request. For more information see: 2022AA release announcement and authentication documentation. Ticket-granting tickets and service tickets are deprecated.
Changes to API search: The UMLS API started using ElasticSearch for search. Users may notice changes in search ranking.
Changes to relation data returned: Relations api requests will return additional data fields: relatedFromId and relatedFromIdName. These data fields indicate the subject of the relationship, which can be a code, CUI, AUI, SCUI, or SDUI. See the sample output on the source-asserted relations documentation page.
Base URI | HTTP Request Type | Path | Description |
---|---|---|---|
https://uts-ws.nlm.nih.gov/rest | |||
GET | /search/{version} | Retrieves CUIs when searching by term or code | |
GET | /content/{version}/CUI/{CUI} | Retrieves information about a known CUI | |
GET | /content/{version}/CUI/{CUI}/atoms | Retrieves atoms and information about atoms for a known CUI | |
GET | /content/{version}/CUI/{CUI}/definitions | Retrieves definitions for a known CUI | |
GET | /content/{version}/CUI/{CUI}/relations | Retrieves NLM-asserted relationships for a known CUI | |
GET | /content/{version}/source/{source}/{id} | Retrieves information about a known source-asserted identifier | |
GET | /content/{version}/source/{source}/{id}/atoms | Retrieves information about atoms for a known source-asserted identifier | |
GET | /content/{version}/source/{source}/{id}/parents | Retrieves immediate parents of a source-asserted identifier | |
GET | /content/{version}/source/{source}/{id}/children | Retrieves immediate children of a source-asserted identifier | |
GET | /content/{version}/source/{source}/{id}/ancestors | Retrieves all ancestors of a source-asserted identifier | |
GET | /content/{version}/source/{source}/{id}/descendants | Retrieves all descendants of a source-asserted identifier | |
GET | /content/{version}/source/{source}/{id}/relations | Retrieves all relationships of a source-asserted identifier | |
GET | /content/{version}/source/{source}/{id}/attributes | Retrieves information about source-asserted attributes | |
GET | /semantic-network/{version}/TUI/{id} | Retrieves information for a known Semantic Type identifier (TUI) | |
GET | /crosswalk/{version}/source/{source}/{id} | Retrieves all source-asserted identifiers that share a UMLS CUI with a particular code |