Skip Navigation Bar

NLM APIs

An Application Programming Interface (API) is a set of routines that an application uses to request and carry out lower-level services performed by a computer's operating system. For computers running a graphical user interface, an API manages an application's windows, icons, menus, and dialog boxes.

We invite you to develop computer and mobile applications for National Library of Medicine (NLM) resources.  We encourage comments and recommendations for further API development to NLM customer service. Supported NLM APIs are listed below.

NLM Resources with Application Programming Interfaces (APIs)
API Documentation

Web Interface

API Description
Basic Local Alignment Search Tool (BLAST) launch Web application API for Basic Local Alignment Search Tool (BLAST) services which find regions of local similarity between sequences. The program compares nucleotide or protein sequences to sequence databases and calculates the statistical significance of matches.
ClinicalTrials.gov launch Web application Method for creating links to ClinicalTrials.gov or downloading ClinicalTrials.gov data in XML format. Obtain information including a trial's purpose, who may participate, locations, and phone numbers for more details about clinical trials being conducted throughout the United States and in many countries throughout the world.
Entrez Programming Utilities (E-Utilities) launch Web application E-Utilities are a set of server-side APIs that provide access to searching, linking and downloading Entrez System data outside of the regular Web query interfaces. These data span a broad spectrum including biomedical literature databases (e.g. PubMed and PMC), sequence analysis, chemicals and bioassays, and others. The eight E-Utilities provide the following mechanisms: database statistics (EInfo), global queries (EGQuery), text searches (ESearch), document summary downloads (ESummary), UID uploads (EPost), data record downloads (EFetch), Entrez links (ELink), and spelling suggestions (Espell).
Genetics Home Reference launch Web application Method for creating links or downloading Genetics Home Reference data in XML format. This service contains consumer information about genetic conditions, genes, and chromosome related to those conditions.
MedlinePlus Health Topics launch Web application The MedlinePlus API provides access to MedlinePlus health topic data in XML format. The service accepts keyword searches as requests and returns links to relevant English-language health topics in ranked order.  The output also includes supplemental data such as health topic summaries, related vocabulary, and keyword-in-context snippets.
MetaMap launch Web application MetaMap is a highly configurable program used to map biomedical text to the UMLS Metathesaurus or, equivalently, to discover Metathesaurus concepts referred to in text. Both the MetaMap Java API and the MetaMap UIMA Annotator allow users to access MetaMap directly through their Java-based application(s).
PubChem Power User Gateway (PUG) launch Web application The PubChem Power User Gateway (PUG) provides access to PubChem services via a programmatic interface for retrieving information on the biological activities of small molecules. PUG provides access to these PubChem services: Data Download (substance and compound), Compound Structure Search, BioAssay Data Download and Structure Standardization.
RxNorm launch Web application

RxNorm provides normalized names for clinical drugs and links its names to many of the drug vocabularies commonly used in pharmacy management and drug interaction software. There are two RxNorm APIs (SOAP/WSDL and RESTful) available to provide developers with functions for retrieving RxNorm data from the most current RxNorm data set.

Semantic Knowledge Representation (SKR) launch Web application The Semantic Knowledge Representation (SKR) uses UMLS resources in developing effective natural language processing systems that provide semantic interpretation to support innovative information management applications in the biomedical domain. The SKR_API provides access to the entire suite of SKR tools including MetaMap, Medical Text Indexer (MTI), and SemRep, and allows programmatic access to the SKR Batch and Interactive facilities allowing users to submit data and receive results from within their own application(s).
Unified Medical Language System (UMLS) launch Web application The UMLS API provides the ability to search for and retrieve information from the knowledge sources of the UMLS: the Metathesaurus, the Semantic Network and the SPECIALIST lexicon, and its over 150 constituent vocabularies. The UMLS integrates key terminology, classification and coding standards such as SNOMED CT, RxNorm, ICD9CM, ICD10CM, etc. into a single unified concept structure and encourages the application development of information retrieval, natural language processing, creation of patient and research data, and the development of enterprise-wide vocabulary services. This API also has facilities for programmatically authenticating UMLS account holders for applications that require such authentication.
Voyager launch Web application

Client/server protocol for fielded search and retrieval of MARC bibliographic records from the NLM integrated library system (ILS). Records may be retrieved in either MARC-8 or UTF-8 character encodings.