Discover/ncbi.nlm.nih.gov API
live

ncbi.nlm.nih.gov APIncbi.nlm.nih.gov

Search PubMed, retrieve full PMC article text, and look up MeSH terms via a structured API. Covers metadata, abstracts, affiliations, and clinical filters.

Endpoints
5
Updated
28d ago
Try it
Sort order. Accepted values: Best match, Most recent.
Search query string.
Maximum number of results to return.
Result offset for pagination.
Publication date range filter. Accepted values: 1 year, 5 years, 10 years.
Article type filter (e.g. Review, Clinical Trial).
Text availability filter. Accepted values: abstract, free full text, full text.
api.parse.bot/scraper/d740e466-9fe1-49a2-94c8-9b7c1e0c30ea/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d740e466-9fe1-49a2-94c8-9b7c1e0c30ea/pubmed_search?query=diabetes&retmax=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 5 totalclick to expand

Search PubMed for articles with various filters. Returns paginated results with article summaries including title, authors, journal, and identifiers.

Input
ParamTypeDescription
sortstringSort order. Accepted values: Best match, Most recent.
queryrequiredstringSearch query string.
retmaxintegerMaximum number of results to return.
retstartintegerResult offset for pagination.
date_rangestringPublication date range filter. Accepted values: 1 year, 5 years, 10 years.
article_typestringArticle type filter (e.g. Review, Clinical Trial).
text_availabilitystringText availability filter. Accepted values: abstract, free full text, full text.
Response
{
  "type": "object",
  "fields": {
    "items": "array of article summary objects with pmid, title, authors, journal, pub_date, doi, pmcid, is_free",
    "total": "integer total count of matching articles"
  },
  "sample": {
    "data": {
      "items": [
        {
          "doi": "10.1016/j.ecl.2020.05.012",
          "pmid": "32741486",
          "pmcid": "",
          "title": "Diabetes Insipidus: An Update.",
          "authors": [
            "Refardt J",
            "Winzeler B",
            "Christ-Crain M"
          ],
          "is_free": false,
          "journal": "Endocrinol Metab Clin North Am",
          "pub_date": "2020 Sep"
        }
      ],
      "total": 1115964
    },
    "status": "success"
  }
}

About the ncbi.nlm.nih.gov API

This API gives programmatic access to three NCBI databases — PubMed, PubMed Central, and MeSH — across 5 endpoints. Use pubmed_search to query millions of biomedical articles with filters for article type, date range, and text availability, then call pubmed_get_article to pull full bibliographic metadata including author affiliations, MeSH terms, and structured abstracts for any PMID.

PubMed Search and Article Metadata

The pubmed_search endpoint accepts a query string and optional filters: article_type (e.g. "Review", "Clinical Trial"), date_range (1, 5, or 10 years), text_availability (abstract, free full text, full text), and sort order. It returns a total count and a paginated items array. Each item includes pmid, title, authors, journal, pub_date, doi, pmcid, and an is_free flag. Use retstart and retmax together to walk through large result sets.

Full Article Detail

pubmed_get_article takes a single pmid and returns a complete bibliographic record: abstract (full text), keywords, mesh_terms (array of MeSH heading strings), and authors as an array of objects each containing name and affiliations. The companion pmc_get_article endpoint accepts a pmcid and returns the article's full_text (truncated at 20,000 characters) plus conditionally populated structured fields — findings, outcomes, population, limitations — extracted when the article contains clearly labeled sections. Not every PMC article will populate all structured fields.

MeSH Vocabulary Lookup

mesh_search queries the Medical Subject Headings controlled vocabulary and returns matching term objects with id, mesh_ui (D-number), term, synonyms, and definition. Once you have a numeric id, pass it to mesh_get_term for the full record including tree_numbers, which encode where the term sits in the MeSH hierarchy. These endpoints are useful for normalizing terminology across a literature corpus or building query expansions.

Common use cases
  • Aggregate clinical trial records on a specific drug by filtering pubmed_search with article_type: Clinical Trial
  • Build a citation database by resolving PMIDs to full bibliographic metadata including doi, journal, and mesh_terms
  • Extract structured findings and limitations from systematic reviews using pmc_get_article
  • Expand search queries with controlled vocabulary synonyms retrieved via mesh_search
  • Track author affiliations and institutional output by parsing the affiliations field from pubmed_get_article
  • Filter literature to open-access papers using text_availability: free full text in pubmed_search
  • Map a term's position in the medical taxonomy using tree_numbers from mesh_get_term
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 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.

Frequently asked questions
Does NCBI have an official developer API?+
Yes. NCBI provides the Entrez Programming Utilities (E-utilities) at https://www.ncbi.nlm.nih.gov/home/develop/api/. It covers a broader range of NCBI databases but requires managing API keys, raw XML or JSON parsing, and rate-limit handling directly.
What does `pmc_get_article` return for articles that lack clearly labeled sections?+
The structured fields — findings, outcomes, population, and limitations — are populated only when the article contains recognizably labeled sections. For articles without that structure, those fields return empty strings. The full_text field (up to 20,000 characters) and title, authors, study_type, and source_url are returned regardless.
Can I retrieve reference lists or citation counts for a PubMed article?+
Not currently. The API covers bibliographic metadata, abstracts, MeSH terms, author affiliations, and PMC full text. Reference lists and citation counts are not included in the response fields. You can fork this API on Parse and revise it to add an endpoint that retrieves citation data.
How does pagination work in `pubmed_search`?+
Use retstart as the zero-based offset and retmax to control page size. The response always includes a total field showing the full count of matching articles, so you can calculate how many pages exist before fetching them.
Are preprints or non-PubMed repositories like bioRxiv covered?+
Not currently. The API covers PubMed, PubMed Central, and MeSH — all NCBI-hosted. Preprint servers such as bioRxiv or medRxiv are not included. You can fork this API on Parse and revise it to add endpoints targeting those sources.
Page content last updated . Spec covers 5 endpoints from ncbi.nlm.nih.gov.
Related APIs in HealthcareSee all →
pubmed.ncbi.nlm.nih.gov API
Search and retrieve biomedical literature from PubMed and NCBI databases. Supports keyword search, advanced field-tag queries, clinical filters, citation matching, date filtering, publication type filtering, and direct E-utilities access.
pmc.ncbi.nlm.nih.gov API
Search millions of full-text biomedical research articles and access their metadata, citations, and related papers from PubMed Central. Find articles by topic, discover similar research, explore journal collections, and retrieve detailed citation information to support your literature review and research.
mdpi.com API
Access MDPI's open-access academic content programmatically. Search across thousands of peer-reviewed articles, retrieve full structured text, extract key findings, and browse journal metadata including impact factors and CiteScores.
clinicaltrials.gov API
Search and retrieve comprehensive information about clinical trials worldwide, including study details, eligibility criteria, locations, and outcomes data. Access structured metadata and statistics to find relevant research studies matching your specific medical conditions or research interests.
springer.com API
Search and retrieve metadata for millions of articles, books, and journals from Springer Nature's research library using DOI or ISBN lookups, with powerful filtering and pagination options. Get detailed information about academic publications including journal details, article metadata, and book information to power your research tools and discovery applications.
blast.ncbi.nlm.nih.gov API
Compare DNA and protein sequences against NCBI's massive biological databases to find matching sequences and analyze genetic similarities. Submit alignment jobs, monitor their progress, and retrieve detailed results in structured format to support genomics research and sequence analysis.
npidb.org API
Search for healthcare providers and organizations by name to instantly retrieve their credentials, contact information, and specialty taxonomy codes from the National Provider Identifier database. Look up detailed provider profiles to verify qualifications and find the right medical professionals for your needs.
examine.com API
Search and explore evidence-based information about supplements, health conditions, and outcomes with detailed supplement profiles, study summaries, and categorized health data. Get comprehensive overviews of how specific supplements affect various health conditions backed by scientific research.