National Library of Medicine Discovery API

Discover database metadata, related records, and citations.

Operations 4

GET /einfo.fcgi Database statistics and field metadata #
GET /espell.fcgi Spelling suggestions for a query term #
GET /ecitmatch.cgi Match citations to PubMed UIDs #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/national-library-of-medicine-discovery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

national-library-of-medicine-discovery-api-openapi.yml Raw ↑
openapi: 3.2.0
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.