> ## Documentation Index
> Fetch the complete documentation index at: https://docs.consensus.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Biomedical search: Consensus, PubMed and Europe PMC

> How the Consensus API compares with PubMed E-utilities and the Europe PMC REST API for biomedical literature search: semantic search, study-design filters, clinical guidelines, full text, and when a Boolean strategy is the right tool.

PubMed and Europe PMC are the reference sources for biomedical literature. PubMed, run by the US National Library of Medicine, holds more than 40 million citations and abstracts<sup>[1](#source-1)</sup>. Europe PMC, run by EMBL-EBI, holds 49.2 million abstracts and 12.5 million full-text articles, including preprints<sup>[2](#source-2)</sup>. Both are free, and both are excellent for exhaustive Boolean searching.

Consensus covers all of PubMed and the rest of science, and is built for a different job: finding the strongest evidence for a question asked in plain language. It searches full text from top medical publishers such as BMJ, JAMA Network and Wolters Kluwer, and its research agent has tools that find better papers than a single query can: it crawls citations from key studies, traces an author's work and plans multi-step searches.

![Pyramid showing three layers: abstracts and metadata across all publishers from Semantic Scholar, OpenAlex, and PubMed; all open-access full text; and full text of paywalled papers from partner publishers](https://mintcdn.com/consensus-f7e6ffce/wHajK_wM4l0mxqJf/images/papers-pyramid.png?fit=max\&auto=format\&n=wHajK_wM4l0mxqJf\&q=85\&s=c6dd63f78277c9e6af4af8144e9c65a9)

All of PubMed is one source in the Consensus index, alongside Semantic Scholar, OpenAlex, all open-access full text, and paywalled full text from publisher partners.

## What each API does best

| | Best for | Watch out for |
| - | - | - |
| **Consensus** | <ul><li>Natural-language questions</li><li>Ranking the most relevant evidence first</li><li>Filtering by study design, sample size and journal quartile</li></ul> | <ul><li>Up to 1,000 results per query, ranked by relevance</li><li>Paid past 30 calls a month</li></ul> |
| **PubMed** | <ul><li>Reproducible Boolean strategies with MeSH<sup>[3](#source-3)</sup></li><li>Systematic review searches</li></ul> | <ul><li>Biomedicine and life sciences only</li><li>No full text in PubMed itself<sup>[1](#source-1)</sup></li></ul> |
| **Europe PMC** | <ul><li>Searching full text as well as abstracts</li><li>Preprints alongside published papers<sup>[2](#source-2)</sup></li></ul> | <ul><li>Life sciences only</li><li>Full text through the API for open-access articles<sup>[4](#source-4)</sup></li></ul> |

## Semantic search over PubMed's records

PubMed matches the terms in your query, mapping them to MeSH headings where it can, and can sort the matches with its Best Match algorithm<sup>[3](#source-3), [5](#source-5)</sup>. That works well when you know the vocabulary. A question worded differently from the abstracts that answer it can still miss them.

Consensus searches the same records by meaning and by keyword together, then ranks the results for scientific relevance. You send the question as written, for example "does creatine improve working memory in older adults", and get the most relevant papers first. Boolean operators and exact phrases still work when you want them.

Europe PMC also matches keywords, but against full text as well as abstracts, so it can find papers whose abstracts never use your terms<sup>[2](#source-2)</sup>.

## Filtering by study design and evidence quality

All three APIs let you narrow results by study type. Consensus adds the other signals a reviewer looks at.

| | Study design | Other evidence filters |
| - | - | - |
| **Consensus** | <ul><li>`study_types`, such as `rct`, `meta-analysis`, `systematic review`, `cohort study` and `case-control study`</li></ul> | <ul><li>`sample_size_min`</li><li>`human`, `controlled`</li><li>`sjr_min` and `sjr_max` for journal quartile</li><li>`duration_min` and `duration_max`, `country`, `citation_min`, `exclude_preprints`</li></ul> |
| **PubMed** | <ul><li>Publication types assigned by NLM indexers, such as `randomized controlled trial[pt]`<sup>[6](#source-6)</sup></li></ul> | <ul><li>MeSH terms and date filters<sup>[3](#source-3)</sup></li></ul> |
| **Europe PMC** | <ul><li>Publication type, such as clinical trials or preprints<sup>[2](#source-2)</sup></li></ul> | <ul><li>Search within sections, such as Methods<sup>[2](#source-2)</sup></li></ul> |

Each Consensus result also returns its `study_type`, `sample_size`, `population_type` and `sjr_best_quartile`, so your code can sort or grade the evidence after the search.

## Top medical journals and clinical guidelines

Two Consensus filters are built for clinical work:

* **`medical_mode=true`** limits results to about 8 million documents from the top 1,000 medical journals, plus about 50,000 clinical guidelines. Use it when general literature is too noisy.
* **`clinical_guideline=true`** returns only papers classified as clinical guidelines.

## When a Boolean strategy is the right tool

For the search you report in a systematic review, use a Boolean query in PubMed or Europe PMC. Reviewers can rerun it term for term, and it returns every match rather than a ranked top 1,000.

Consensus fits around that search: scope the topic before you write the strategy, then check afterwards that the strongest studies on the question all made it into your set.

## Full text

* **Consensus** searches the full text of open-access papers and of paywalled papers from its publisher partners. On paid plans, `include_full_text_chunks=true` returns up to 3 query-relevant passages per paper from open-access papers. See [Full text in the API](https://docs.consensus.app/api-full-text.md).
* **PubMed** has no full text. Its sister archive, PubMed Central, holds more than 10 million full-text records<sup>[7](#source-7)</sup>.
* **Europe PMC** returns open-access articles as XML through `fullTextXML`<sup>[4](#source-4)</sup>.

## The same question on each API

Consensus takes the question as written. PubMed and Europe PMC need it rewritten as terms and filters.

> [tab] Consensus
>
> ```bash cURL theme={null}
> curl -G "https://api.consensus.app/v1/search" -H "x-api-key: $CONSENSUS_API_KEY" \
>   --data-urlencode "query=does creatine improve working memory" \
>   --data-urlencode "study_types=rct,meta-analysis" \
>   --data-urlencode "human=true"
> ```
>
> ```python Python theme={null}
> import os
> import requests
>
> resp = requests.get(
>     "https://api.consensus.app/v1/search",
>     headers={"x-api-key": os.environ["CONSENSUS_API_KEY"]},
>     params={
>         "query": "does creatine improve working memory",
>         "study_types": "rct,meta-analysis",
>         "human": True,
>     },
>     timeout=30,
> )
> resp.raise_for_status()
>
> for paper in resp.json()["results"]:
>     print(paper["study_type"], paper["sample_size"], paper["title"])
> ```

> [tab] PubMed
>
> ```bash cURL theme={null}
> curl -G "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi" \
>   --data-urlencode "db=pubmed" \
>   --data-urlencode "term=creatine AND memory AND randomized controlled trial[pt]" \
>   --data-urlencode "sort=relevance" \
>   --data-urlencode "retmode=json"
> ```
>
> Returns PubMed IDs. Fetch titles and abstracts with a second call to `esummary` or `efetch`.

> [tab] Europe PMC
>
> ```bash cURL theme={null}
> curl -G "https://www.ebi.ac.uk/europepmc/webservices/rest/search" \
>   --data-urlencode 'query=creatine AND memory AND PUB_TYPE:"randomized controlled trial"' \
>   --data-urlencode "format=json"
> ```

## Related

> [card] [Compare scholarly APIs](https://docs.consensus.app/api-comparison)
>
> Why teams choose Consensus, and every API at a glance.

> [card] [Swap a hand-maintained paper corpus](https://docs.consensus.app/use-cases/swap-a-paper-corpus.md)
>
> How Owkin replaced a curated set of PubMed abstracts with Consensus.

## Sources

Facts about other providers were checked against their official documentation on 5 November 2026. Limits and prices change, so check the source before you build on a number.

1. [About PubMed](https://pubmed.ncbi.nlm.nih.gov/about/): "more than 40 million citations and abstracts of biomedical literature"; "does not include full text journal articles"; a free resource.
2. [About Europe PMC](https://europepmc.org/About): 49.2 million abstracts and 12.5 million full-text articles; searches abstracts and full text; searches can be limited to clinical trials, preprints or article sections such as Methods; free to anyone.
3. [PubMed User Guide](https://pubmed.ncbi.nlm.nih.gov/help/): Boolean operators, field tags, MeSH and Best Match sorting.
4. [Europe PMC developer resources](https://europepmc.org/developers): REST, SOAP, OAI-PMH and FTP access to open-access content and metadata; automated bulk download of other content isn't allowed. The [Articles RESTful API](https://europepmc.org/RestfulWebService) includes `/{id}/fullTextXML`.
5. [E-utilities in depth, ESearch](https://www.ncbi.nlm.nih.gov/books/NBK25499/): `sort=relevance` is the default Best Match order on web PubMed.
6. [NLM publication types](https://www.nlm.nih.gov/mesh/pubtypes.html).
7. [About PMC](https://pmc.ncbi.nlm.nih.gov/about/intro/): "more than 10 million full-text article records".


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.