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 using 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.

More data resources are available at the Databases, Resources & APIs page.

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.
DailyMed launch Web application The DailyMed RESTful API is a web service for accessing current SPL information. It is implemented using HTTP and can be thought of as a collection of resources, specified as URIs.
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. Users can download MetaMap and process their data locally. For the downloaded version of MetaMap, there are two API methods designed to allow users to directly access the locally running MetaMap from within their own applications: MetaMap Java API and the MetaMap UIMA Annotator.
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) project 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 Web API provides access to the entire suite of SKR tools including MetaMap, Medical Text Indexer (MTI), and SemRep, and allows users to submit jobs to our Scheduler Batch and Interactive facilities from within their own applications. The SKR Web API submits the user’s data file to our Scheduler facilities, the data is processed using the requested SKR tool, and then the results are sent back to the user’s application.
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) Terminology Services API launch Web application The UTS API is intended for application developers to perform Web service calls and retrieve UMLS data within their own applications. The UTS API provides the ability to search, retrieve, and filter terms, concepts, attributes, relations, metadata and more from over 160 vocabularies of the UMLS Metathesaurus, as well as the Semantic Network. Paging, sorting and filtering (PSF) capabilities allows users to customize results of Web service calls in many ways: choose to include or exclude specific criteria, sort results by fields, or specify results displayed per page. The documentation provides a suite of Web Services Description Language (WSDL) files, API installation instructions, and sample code.
Value Set Authority Center (VSAC) API launch Web application The VSAC API offers a REST service to perform Web service calls and retrieve VSAC data within a developer’s local applications. The VSAC API provides the ability to retrieve value set data in XML format according to the Integrating the Healthcare Enterprise (IHE) Sharing Value Sets (SVS) Technical Framework.
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.

Upcoming Events

red image with text save the date Health Data Initiative (HDI) Forum IV - The Health Datapalooza
June 3-4, 2013
Meet NLM data experts and learn about NLM resources at the OMNI Shoreham Hotel, Washington, DC 20008. Learn more and register at: http://www.hdiforum.org/

Event Archive

starburst image NLM data experts discussed NLM APIs at the June 6, 2012, break out session at the HDI meeting, Fueling Innovation through the Power of APIs.
powerpoint icon image Discussion slides are available for download.


tools image Showcase of NLM APIs
April 10, 2012
NLM data experts showcased their APIs and provided valuable information on how to find, use, and incorporate medical literature, drug, clinical trials, consumer health information, molecular biology and other data into novel products. View Adobe or Videocast recordings.

Training Resources

Distance Education Resources
NCBI Educational Resources
Training on Youtube
Training & Outreach