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.
| API Documentation |
Web Interface | API Description |
|---|---|---|
| Basic Local Alignment Search Tool (BLAST) | 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 | 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) | 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 | 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 | 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 | 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) | 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 |
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) | 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) | 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 |
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. |
