Catalog / PubMed

PubMed API

pubmed.ncbi.nlm.nih.gov

Read-only access to PubMed article search, advanced fielded queries, journal searches, clinical-query filters, and full article metadata including abstracts and related PMIDs. Results are fetched live from NCBI E-utilities, the public data service used for PubMed.

  • health
  • pubmed
  • biomedical
  • articles
  • 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 PubMed 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.

Search PubMed articles

Search keyword or PubMed query string.

Optional parameters 3

One-based result page.

PubMed result ordering.

Number of articles to return.

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

Endpoints

Inputs and response fields for every endpoint in this API.

GETArticles by journal/v1/articles/by-journal

Search PubMed articles by journal

Input

journalRequiredQuery · string

Journal name as indexed by PubMed.

Example: Nursing

limitOptionalQuery · integer, min: 1, max: 100, default: 20

Number of articles to return.

Example: 2

queryOptionalQuery · string | null

Optional additional PubMed query combined with the journal filter.

Example: 2024[PDAT]

Response

totalinteger, min: 0
articlesobject[]
articles[].doi?string | null
articles[].urlstring
articles[].pmidstring
articles[].pmcid?string | null
articles[].titlestring
articles[].authorsstring[]
articles[].journal?string, default:
articles[].abstract?string | null
articles[].publication_date?string, default:

Fields marked ? are optional.

GETArticles clinical queries/v1/articles/clinical-queries

Search PubMed with Clinical Queries filters

Input

queryRequiredQuery · string

Search keyword for a clinical PubMed query.

Example: diabetes

scopeOptionalQuery · "broad" | "narrow"

Clinical Queries scope.

Example: broad

categoryOptionalQuery · "therapy" | "clinical prediction guides" | "diagnosis" | "etiology" | "prognosis" | "general"

Predefined Clinical Queries category.

Example: therapy

limitOptionalQuery · integer, min: 1, max: 100, default: 20

Number of articles to return.

Example: 2

Response

totalinteger, min: 0
articlesobject[]
articles[].doi?string | null
articles[].urlstring
articles[].pmidstring
articles[].pmcid?string | null
articles[].titlestring
articles[].authorsstring[]
articles[].journal?string, default:
articles[].abstract?string | null
articles[].publication_date?string, default:

Fields marked ? are optional.

GETArticles by pmid/v1/articles/{pmid}

Get full PubMed article details

Input

pmidRequiredPath · integer, min: 1, max: 999999999

PubMed ID of the article.

Example: 38595734

Response

doi?string | null
urlstring
pmidstring
pmcid?string | null
titlestring
authorsstring[]
journal?string, default:
abstract?string | null
keywordsstring[]
copyright?string | null
similar_pmidsstring[]
publication_date?string, default:

Fields marked ? are optional.

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.