Discover/Nih API
live

Nih APIpmc.ncbi.nlm.nih.gov

Access full-text biomedical research articles, citations, similar articles, and journal data from PubMed Central via 6 structured endpoints.

Endpoint health
verified 6d ago
list_journals
get_article
get_article_citations
search_articles
get_similar_articles
6/6 passing latest checkself-healing
Endpoints
6
Updated
21d ago

What is the Nih API?

The PMC API provides access to PubMed Central's repository of full-text biomedical research through 6 endpoints covering article search, full content retrieval, citation lookup, similar article discovery, and journal browsing. The get_article endpoint returns structured body sections, author affiliations, and reference lists by PMC ID, while search_articles supports the full PubMed query syntax for targeted literature searches.

Try it
Sort order for results
Number of results to return (max 100)
Search keywords (supports PubMed query syntax including Boolean operators and field qualifiers)
Offset for pagination
api.parse.bot/scraper/1f817882-9876-4757-9c3e-ddfadc58f9b2/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1f817882-9876-4757-9c3e-ddfadc58f9b2/search_articles?sort=relevance&limit=5&query=CRISPR+gene+editing&offset=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace pmc-ncbi-nlm-nih-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: PMC SDK — search articles, drill into full text, explore citations."""
from parse_apis.pubmed_central_pmc_api import PMC, Sort, ArticleNotFound

client = PMC()

# Search for recent CRISPR research articles, sorted by date.
for article in client.articles.search(query="CRISPR gene editing", sort=Sort.DATE, limit=3):
    print(article.title, article.journal, article.pub_date)

# Drill into the first result for full content.
hit = client.articles.search(query="telemedicine trust", limit=1).first()
if hit:
    full = hit.details()
    print(full.title, full.abstract[:120])
    for author in full.authors[:2]:
        print(author.name, author.affiliations)

# Explore citation network of a known article.
article = client.articles.get(pmcid="PMC4728819")
for citing in article.citations(limit=3):
    print(citing.pmcid, citing.title, citing.journal)

# Find similar articles via PubMed's neighbor algorithm.
for sim in article.similar(limit=3):
    print(sim.pmcid, sim.title, sim.pub_date)

# Search journals and list articles from one.
journal = client.journals.search(query="vaccine", limit=1).first()
if journal:
    print(journal.name, journal.publisher)
    for art in client.journal(journal.name).articles(limit=2):
        print(art.pmcid, art.title)

# Typed error handling for a missing article.
try:
    client.articles.get(pmcid="PMC0000000")
except ArticleNotFound as exc:
    print(f"not found: {exc.pmcid}")

print("exercised: articles.search / articles.get / citations / similar / journals.search / journal.articles")
All endpoints · 6 totalmissing one? ·

Full-text search over PubMed Central articles by keyword. Supports PubMed query syntax including Boolean operators and field qualifiers. Returns paginated article summaries with identifiers, titles, authors, journals, and publication dates. Sort by relevance (default) or date.

Input
ParamTypeDescription
sortstringSort order for results
limitintegerNumber of results to return (max 100)
queryrequiredstringSearch keywords (supports PubMed query syntax including Boolean operators and field qualifiers)
offsetintegerOffset for pagination
Response
{
  "type": "object",
  "fields": {
    "total": "integer total count of matching articles",
    "articles": "array of article summary objects with pmcid, pmid, doi, title, authors, journal, pub_date, url"
  },
  "sample": {
    "data": {
      "total": 3909319,
      "articles": [
        {
          "doi": "10.1159/000547553",
          "url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC12503546/",
          "pmid": "41064558",
          "pmcid": "PMC12503546",
          "title": "Exploring the Role of Physical Activity in Individuals with Comorbid Cancer and Dementia: A Scoping Review.",
          "authors": [
            "Mclaughlin M",
            "Sanal-Hayes NEM"
          ],
          "journal": "Dement Geriatr Cogn Dis Extra",
          "pub_date": "2025 Jan-Dec"
        }
      ]
    },
    "status": "success"
  }
}

About the Nih API

Article Search and Retrieval

The search_articles endpoint accepts a query parameter using standard PubMed query syntax — Boolean operators, field tags like [Author] or [MeSH Terms], and date filters all work. Results are paginated via offset and limit (up to 100 per request), sortable by relevance or date. Each result object includes pmcid, pmid, doi, title, authors, journal, pub_date, and a direct url. The total field gives the full count of matching records, useful for building pagination UIs.

Full Article Content

get_article takes a pmcid (with or without the PMC prefix) and returns the complete structured article: a sections object mapping section headings (e.g. "Introduction", "Methods", "Results") to their text, the full abstract, an authors array with each author's name and affiliations, and a references array of citation strings. This is the endpoint to use when you need the actual text of a paper, not just its metadata.

Citations and Related Articles

get_article_citations returns up to 50 articles in PMC that cite a given paper, including each citing article's pmcid, title, journal, and pub_date. get_similar_articles uses PubMed's related-article algorithm and filters results to articles available in PMC full text, returning the same summary fields. Both endpoints accept PMC IDs with or without the PMC prefix.

Journal Discovery

list_journals searches the NLM catalog by keyword and returns matching journals with their name, issn, and publisher. Omitting the query parameter returns recently indexed journals. Once you have a journal name, get_journal_articles retrieves its PMC-available articles sorted by publication date, with offset and limit for pagination.

Reliability & maintenanceVerified

The Nih API is a managed, monitored endpoint for pmc.ncbi.nlm.nih.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pmc.ncbi.nlm.nih.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official pmc.ncbi.nlm.nih.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a literature review tool that searches PMC by topic and retrieves full article sections via get_article
  • Map citation networks by repeatedly calling get_article_citations across a seed set of PMC IDs
  • Surface related reading recommendations using get_similar_articles alongside an article viewer
  • Index a journal's entire PMC archive using get_journal_articles with pagination for downstream search
  • Extract author affiliation data from get_article to analyze institutional research output
  • Monitor new publications in a specific journal by querying get_journal_articles sorted by date
  • Cross-reference DOIs and PMIDs from search_articles results against other bibliographic databases
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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 offer an official developer API for PubMed Central?+
Yes. NCBI provides the E-utilities API at https://www.ncbi.nlm.nih.gov/books/NBK25497/, which covers PubMed and PMC programmatically. This Parse API surfaces a structured, endpoint-oriented interface over that data.
What does `get_article` return beyond the abstract?+
get_article returns a sections object that maps named section headings — such as Introduction, Methods, Results, and Discussion — to their full text content. It also returns an authors array with per-author name and affiliations, and a references array of citation strings. The response covers the complete article structure, not just the abstract.
How many citing articles does `get_article_citations` return?+
The endpoint returns up to 50 citing article summaries per call, along with a total integer indicating the full count of citing articles in PMC. If an article has more than 50 citing papers, the total will reflect that, but the current citing_articles array is capped at 50. You can fork this API on Parse and revise the endpoint to add pagination support for larger citation sets.
Does the API expose MeSH term data or keyword tags for articles?+
Not currently. The get_article and search_articles responses cover titles, authors, abstracts, full sections, and references but do not return MeSH headings or author-supplied keywords as discrete fields. You can fork the API on Parse and revise it to add an endpoint that surfaces those fields.
Does `search_articles` support date-range filtering?+
Yes, indirectly. The query parameter accepts full PubMed query syntax, which includes date range filters using field tags such as 2020:2024[pdat]. There is no separate date parameter, but any valid PubMed search string — including date, author, journal, and MeSH filters — can be passed as the query value.
Page content last updated . Spec covers 6 endpoints from pmc.ncbi.nlm.nih.gov.
Related APIs in HealthcareSee all →
ncbi.nlm.nih.gov API
Search and retrieve biomedical literature from NCBI databases including PubMed, PubMed Central, and MeSH. Supports full-text extraction, metadata lookup, and research filtering.
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.
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.
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.
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.
jstor.org API
Search and browse millions of academic articles, journals, and research issues from JSTOR's library, or retrieve specific articles and journal details to explore scholarly content by subject. Access peer-reviewed research across multiple disciplines to find the academic sources you need.
royalsocietypublishing.org API
Search and browse scientific articles, journals, and issues from the Royal Society Publishing platform, including filtering by subject, year, and latest publications. Access detailed information about specific articles, journals, and current issues to stay updated on peer-reviewed research.
pewresearch.org API
Search and retrieve Pew Research Center publications, reports, and expert profiles across a wide range of topics, including technology, politics, science, religion, and social trends. Access detailed report content, key findings, charts, and methodology information, and filter results by topic, format, or region to stay informed on the latest research and data.