National Library of Medicine Discovery API

Discover database metadata, related records, and citations.

OpenAPI Specification

national-library-of-medicine-discovery-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: NCBI E-utilities Discovery API
  description: The Entrez Programming Utilities (E-utilities) are a public API to the NCBI Entrez system, providing access to all Entrez databases including PubMed, PMC, Gene, Nuccore, and Protein. The E-utilities are a suite of nine server-side programs that accept a fixed URL syntax for search, link, and retrieval operations. Maintained by the National Center for Biotechnology Information (NCBI), part of the U.S. National Library of Medicine.
  version: '1.0'
  contact:
    name: NCBI Information Engineering Branch
    url: https://www.ncbi.nlm.nih.gov/home/about/contact/
    email: eutilities@ncbi.nlm.nih.gov
  license:
    name: NCBI Public Domain
    url: https://www.ncbi.nlm.nih.gov/home/about/policies/
servers:
- url: https://eutils.ncbi.nlm.nih.gov/entrez/eutils
  description: NCBI E-utilities production server
tags:
- name: Discovery
  description: Discover database metadata, related records, and citations.
paths:
  /einfo.fcgi:
    get:
      tags:
      - Discovery
      summary: Database statistics and field metadata
      description: Returns the list of all valid Entrez databases or, when 'db' is supplied, statistics and indexing fields for that database.
      operationId: eInfo
      parameters:
      - name: db
        in: query
        schema:
          type: string
      - name: retmode
        in: query
        schema:
          type: string
          enum:
          - xml
          - json
      responses:
        '200':
          description: Database information.
  /elink.fcgi:
    get:
      tags:
      - Discovery
      summary: Find related records across Entrez databases
      description: Returns UIDs in a destination database linked to UIDs in a source database, including computed neighbors and external LinkOut links.
      operationId: eLink
      parameters:
      - name: dbfrom
        in: query
        required: true
        schema:
          type: string
      - name: db
        in: query
        schema:
          type: string
      - name: id
        in: query
        required: true
        schema:
          type: string
      - name: linkname
        in: query
        schema:
          type: string
      - name: cmd
        in: query
        description: Command mode (neighbor, neighbor_history, llinks, prlinks, etc.).
        schema:
          type: string
      responses:
        '200':
          description: Linked UIDs and metadata.
  /espell.fcgi:
    get:
      tags:
      - Discovery
      summary: Spelling suggestions for a query term
      description: Returns NCBI-suggested corrections for a misspelled query term.
      operationId: eSpell
      parameters:
      - name: db
        in: query
        required: true
        schema:
          type: string
      - name: term
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Suggested replacement terms.
  /ecitmatch.cgi:
    get:
      tags:
      - Discovery
      summary: Match citations to PubMed UIDs
      description: Resolves bibliographic citation strings to PubMed UIDs.
      operationId: eCitMatch
      parameters:
      - name: db
        in: query
        required: true
        schema:
          type: string
          enum:
          - pubmed
      - name: rettype
        in: query
        schema:
          type: string
          enum:
          - xml
      - name: bdata
        in: query
        required: true
        description: Pipe-delimited citation strings.
        schema:
          type: string
      responses:
        '200':
          description: Matched PMIDs.