Catalog / NCBI

NCBI API

ncbi.nlm.nih.gov

Read-only live access to NCBI PubMed search and bibliographic records, PubMed Central full-text articles, and MeSH vocabulary search and descriptor details. Search routes preserve NCBI pagination and the PubMed date, article-type, and text-availability filters.

  • Health
  • ncbi
  • pubmed
  • pmc
  • mesh
  • biomedical research
5 endpointsDocs updated

Endpoint health

Loading verification…

Connect your agent

Connect through MCP so your agent can find this API, read its docs, and call its endpoints.

Setup guide

Add the server from your terminal.

Claude Code · terminal
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcp

In Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.

Then ask your agent to use the NCBI API for your task.

Call it over HTTP

Get an API key

Sign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.

Pubmed Search

Search query string accepted by PubMed E-utilities.

Optional parameters 7

Optional NCBI sort order verified against E-utilities: relevance, pub_date, Author, or JournalName.

Number of results to return, from 1 through 100.

Zero-based result offset for pagination.

Optional inclusive publication date lower bound, YYYY/MM/DD or YYYY.

Optional inclusive publication date upper bound, YYYY/MM/DD or YYYY.

Optional PubMed publication type, such as Review.

Optional PubMed availability filter, such as free full text.

View call pricing
cURL · Pubmed search
curl --request GET --get 'https://api.agent-data.dev/ncbi-nlm-nih-gov/v1/pubmed/search' \
  --header "Authorization: Bearer $AGENT_DATA_API_KEY" \
  --data-urlencode 'query=machine learning[Title]'

Endpoints

Inputs and response fields for every endpoint in this API.

GETPubmed articles by pmid/v1/pubmed/articles/{pmid}

Pubmed Article

Input

pmidRequiredPath · string

Numeric PubMed ID (PMID).

Example: 30943338

Response

doi?string | null
pmidstring
pmcid?string | null
titlestring
authorsstring[]
journalstring
abstract?string | null
keywordsstring[]
mesh_termsobject[]
mesh_terms[].ui?string | null
mesh_terms[].termstring

Fields marked ? are optional.

GETPmc articles by pmcid/v1/pmc/articles/{pmcid}

Pmc Article

Input

pmcidRequiredPath · string

PubMed Central identifier with the PMC prefix.

Example: PMC13590562

Response

pmcidstring
titlestring
authorsstring[]
abstract?string | null
findings?string | null
outcomes?string | null
sectionsobject[]
sections[].textstring
sections[].headingstring
full_textstring
population?string | null
source_urlstring
study_type?string | null
limitations?string | null
key_insights?string | null
interventions?string | null

Fields marked ? are optional.

GETMesh terms by term id/v1/mesh/terms/{term_id}

Mesh Term

Input

term_idRequiredPath · string

Numeric MeSH descriptor identifier returned by MeSH search.

Example: 68056731

Response

idstring
termstring
mesh_uistring
synonymsstring[]
definitionstring
tree_numbersstring[]

Don’t see the endpoint you need?

Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.