Skip Navigation Bar

Image of Tools 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 DocumentationWeb Interface API Description
AIDSinfo launch Web application AIDSinfo offers access to the latest, federally approved HIV/AIDS medical practice guidelines, information on HIV/AIDS treatment, clinical trials, and other HIV/AIDS-related research information for health care providers, researchers, people affected by HIV/AIDS, and the general public. The AIDSinfo API provides access to the AIDSinfo drug database fact sheets in XML format. The API returns information from both the professional and patient versions of the AIDSinfo drug database fact sheets based on input query strings.
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.
ChemSpell launch Web application The ChemSpell Web Service API provides chemical name spell checking and chemical name synonym look-up. ChemSpell contains more than 1.3 million chemical names related to organic, inorganic, pharmaceutical, toxicological, and environmental health topics. ChemIDplus is the source for ChemSpell. When a chemical name is entered, ChemSpell returns a list of chemical synonyms if the spelling is correct. If the spelling is incorrect, it returns a list of suggestions for alternate spellings. Software developers can write applications that connect remotely to the ChemSpell Web service. Communication is performed via Simple Object Access Protocol (SOAP), an XML-based mechanism for exchanging typed information.
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.
DIRLINE launch Web application DIRLINE (Directory of Information Resources Online) is the National Library of Medicine's online database containing location and descriptive information about a wide variety of information resources including organizations, research resources, projects, and databases concerned with health and biomedicine. DIRLINE API offers a RESTful Web Service API that allows users to search the DIRLINE database with keywords. This service returns search results with brief records and full records in DIRLINE API Response Format. Using this API, software developers can integrate DIRLINE data into their own applications.
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 Connect launch Web application MedlinePlus Connect lets electronic health record (EHR) systems use standard clinical vocabularies to bring users health information from MedlinePlus.gov.
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).
NDF-RT launch Web application The National Drug File-Reference Terminology (NDF-RT™), developed by the Veterans Health Administration, provides clinical information about medications, including therapeutic intent, mechanism of action, physiologic effect and drug-drug interactions. There are two NDF-RT APIs (SOAP/WSDL and RESTful) available to provide developers with functions for retrieving NDF-RT data from the most current NDF-RT data set.
Pillbox beta launch Web application Pillbox beta is a solid dosage pharmaceutical "pill" identification and reference system utilizing data from the Food and Drug Administration Structured Product Labels (SPL) and the National Library of Medicine RxNorm with high-resolution images of medications. The API (RESTful Web service) provides access to the identification system, data, and medication images. Medications can be identified by physical characteristics (imprint, size, shape, etc.), as well as drug name (brand or generic), inactive ingredients, drug label author, and DEA schedule and returns XML-formatted data.
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.
RxTerms launch Web application RxTerms is a drug interface terminology derived from RxNorm for prescription writing or medication history recording (e.g. in e-prescribing systems, PHRs). There are two RxTerms APIs (SOAP/WSDL and RESTful) available to provide developers with functions for retrieving RxTerms data from the most current RxTerms 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).
TOXNET launch Web application TOXNET (TOXicology Data NETwork) is a cluster of databases covering toxicology, hazardous chemicals, environmental health and related areas. TOXNET API offers a RESTful Web Service API that allows users to search TOXNET databases with keywords. Using this API, software developers can integrate TOXNET data into their own applications. The TOXNET databases include chemical databases (HSDB, CCRIS, GENETOX, IRIS, ITER, and LactMed) and bibliographic databases (TOXLINE and DART). For chemical databases, this service accepts keyword searches in a specified database and returns search results in TOXNET API Response Format and full chemical records in HTML format. For bibliographic databases, this service provides keyword searches in a specified bibliographic database and returns search results with bibliographic brief records and bibliographic full records in TOXNET API Response Format. For convenience, a bibliographic full record can be returned in HTML format if requested.
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.