pubmed.ncbi.nlm.nih.gov APIpubmed.ncbi.nlm.nih.gov ↗
Search and retrieve biomedical literature from PubMed via 11 endpoints. Get abstracts, author affiliations, MeSH keywords, clinical filters, and citation matching.
curl -X GET 'https://api.parse.bot/scraper/7ddf510a-9bab-463f-8e03-f25423a326e3/search_articles?page=1&sort=relevance&limit=5&query=cancer' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for articles on PubMed by keyword with pagination and sorting. Returns article summaries including PMID, title, authors, journal, publication date, DOI, and URL.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| sort | string | Sort order: relevance, date, pubdate, journal |
| limit | integer | Number of results per page |
| queryrequired | string | Search keyword or query string |
{
"type": "object",
"fields": {
"page": "integer current page",
"limit": "integer results per page",
"total": "integer total number of matching results",
"articles": "array of objects (pmid, title, authors, journal, date, doi, url)"
},
"sample": {
"data": {
"page": 1,
"limit": 5,
"total": 5605474,
"articles": [
{
"doi": "10.1002/iid3.70451",
"url": "https://pubmed.ncbi.nlm.nih.gov/42095322/",
"date": "2026 May",
"pmid": "42095322",
"title": "LL-37: Biological Mechanisms and Emerging Therapeutic Applications in Intestinal Disease.",
"authors": [
"Liu Q",
"Xu P",
"Zhang C"
],
"journal": "Immun Inflamm Dis"
}
]
},
"status": "success"
}
}About the pubmed.ncbi.nlm.nih.gov API
This API provides 11 endpoints for searching and retrieving biomedical literature from PubMed and NCBI databases. The search_articles endpoint returns PMIDs, titles, authors, journal names, publication dates, DOIs, and article URLs for any keyword query. Additional endpoints cover advanced field-tag queries, clinical query filters, citation matching, publication type filtering, and direct access to NCBI E-utilities — all returning structured JSON.
Search and Article Retrieval
The search_articles endpoint accepts a query string and supports pagination via page and limit parameters, with sort options including relevance, date, pubdate, and journal. It returns a total count alongside an articles array of objects containing pmid, title, authors, journal, date, doi, and url. For full metadata, get_article_details accepts a pmid and returns the complete record: structured authors with individual affiliations, abstract text, keywords array, pmcid, copyright, and up to 10 similar_pmids.
Advanced Querying and Filtering
The advanced_search endpoint supports PubMed's native field-tag syntax — [Title], [Author], [MeSH Terms], [Journal], and date range expressions like 2023:2024[PDAT] — enabling precise boolean queries. search_by_journal targets a specific journal by its PubMed-indexed name (e.g., Nature, Lancet) with an optional keyword filter. clinical_queries_search appends PubMed Clinical Queries filters using category values (therapy, diagnosis, etiology, prognosis) and scope values (broad, narrow). search_by_article_type filters by [Publication Type] tags such as Clinical Trial, Review, or Meta-Analysis.
Date Filtering, Citation Matching, and Counts
search_with_date_filter accepts start_date and end_date in YYYY/MM/DD format and returns a pmids array with a total count — useful for volume analysis without fetching full records. get_search_results_count returns only query and total_count, making it efficient for quick coverage checks. single_citation_matcher resolves a citation to a PMID using journal name, year, volume, issue, first page, and author — it calls NCBI's ecitmatch utility and returns full article details including abstract and similar_pmids when a match is found.
Direct E-Utilities Access
The search_pubmed_ncbi_eutils POST endpoint is a direct wrapper for NCBI E-utilities. The utility parameter accepts esearch, esummary, efetch, elink, einfo, egquery, espell, or ecitmatch. The params input is a JSON string passed directly to the chosen utility. Responses include either a structured object (for JSON-mode utilities, exposing fields like esearchresult.idlist and esearchresult.count) or a raw content string for non-JSON formats.
- Build a literature review tool that retrieves abstracts and author affiliations by keyword using
get_article_details. - Track publication volume trends for a research topic using
search_with_date_filterwith date ranges and the returnedtotal. - Filter clinical evidence by study type (e.g., Randomized Controlled Trial) using
search_by_article_typefor evidence-based medicine apps. - Resolve legacy citations to PMIDs programmatically using
single_citation_matcherwith journal, year, and volume inputs. - Aggregate all articles from a specific journal using
search_by_journalwith PubMed-indexed journal names. - Apply Clinical Queries filters for diagnosis or therapy categories using
clinical_queries_searchin clinical decision-support tools. - Run batch NCBI E-utilities queries (esearch, efetch, elink) through
search_pubmed_ncbi_eutilsfor custom database workflows.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PubMed have an official developer API?+
What does `get_article_details` return beyond a basic search result?+
abstract text, keywords array, per-author affiliations, pmcid (when available), copyright, and a similar_pmids array of up to 10 related article IDs. The search_articles endpoint returns only summary-level fields like title, journal, date, doi, and url.Does `get_similar_articles` always return 10 results?+
similar array in the response contains whatever the index has available at query time.Does the API return full-text article content?+
pmcid, full text may be accessible via PubMed Central. You can fork this API on Parse and revise it to add an endpoint targeting PMC full-text records using the efetch utility with the pmc database.Can I retrieve citation or reference lists for a specific article?+
elink utility with cmd=neighbor_score or llinkslib against the pubmed database.