Skip to main content
Glama
jlucasmcrell

Apify Public Data & Leads

Europe PMC Research Paper Search

europe_pmc_paper_search
Read-only

Search Europe PMC and PubMed for biomedical papers, preprints, and patents by topic, author, journal, year, or open-access status. Retrieve abstracts, citation counts, funding, and full-text links.

Instructions

Search Europe PMC and PubMed for research papers, preprints and patents by topic, author, journal, publication year and open-access status. Returns flat records with identifiers, abstracts, citation counts, MeSH indexing, funding and full-text links.

Behavioral Transparency:

  • Execution: Network call executed synchronously in the cloud via Apify Actor 'captainhandsome/europe-pmc-paper-search'.

  • Side Effects: Reads public sources and creates a billed Actor run and dataset on your Apify account.

  • Authentication: Requires APIFY_TOKEN environment variable.

  • Latency & Limits: Typical run duration is 5-20 seconds for the default 10 results; timeout capped at 120 seconds. Requesting a large max_results or enabling include_entities adds paginated and annotation-batch requests and increases duration.

Usage Guidelines:

  • When to use: Use for biomedical and life-science literature search, systematic-review scoping, citation and impact tracking, funding/grant provenance research, open-access discovery, or mining gene/disease/organism entities from paper text.

  • When NOT to use: Do not use for clinical trial recruitment or study status (use 'clinical_trials_search'), drug/device safety data, approvals, adverse events or recalls (use 'openfda_search'), or general corporate/regulatory lookups.

  • Named alternatives: Use 'clinical_trials_search' for ClinicalTrials.gov study records, or 'openfda_search' for FDA drug and device safety datasets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesKeywords, topic, condition, intervention or Europe PMC search expression. Example: 'gut microbiome obesity'.
authorNoFilter to papers by this author's name. Example: 'Villapol S'.
journalNoFilter to papers published in this journal. Example: 'Nature Medicine'.
sort_byNoOrder results by relevance, citation count, or newest publication date. Defaults to 'relevance'. Example: 'cited'.relevance
year_toNoReturn only papers published in this year or earlier. Example: 2026.
year_fromNoReturn only papers published in this year or later. Example: 2022.
max_resultsNoMaximum number of papers to retrieve. Defaults to 10. Example: 25.
include_entitiesNoAdd genes, diseases, organisms, chemicals, Gene Ontology terms, experimental methods and accession numbers mined from the full text. Adds roughly one extra request per 8 results. Defaults to false. Example: true.
open_access_onlyNoReturn only records Europe PMC marks as open access. Example: true.
has_abstract_onlyNoReturn only papers for which Europe PMC provides an abstract. Example: true.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
runNo
errorNo
statusYes
resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed61 schema fields changedv1.1.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedOutput schema / properties / error
      Added value: +{
      +  "type": "object"
      +}
    • removedOutput schema / properties / results / description
      Removed value: -"Collection of Europe PMC records matching the search."
    • addedOutput schema / properties / results / items / properties / abstract / title
      Added value: +"Abstract"
    • changedOutput schema / properties / results / items / properties / abstract / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / authors / description
      Previous value: -"Full author byline as one comma-separated string."New value: +"Structured authors value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / authors / title
      Added value: +"Authors"
    • changedOutput schema / properties / results / items / properties / authors / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / cited_by_count / description
      Previous value: -"Number of citing works recorded by Europe PMC."New value: +"Structured cited by count value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / cited_by_count / title
      Added value: +"Cited By Count"
    • changedOutput schema / properties / results / items / properties / cited_by_count / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • addedOutput schema / properties / results / items / properties / doi / title
      Added value: +"DOI"
    • changedOutput schema / properties / results / items / properties / doi / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / first_author / description
      Previous value: -"First author in abbreviated form, e.g. 'Kara G'."New value: +"Structured first author value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / first_author / title
      Added value: +"First Author"
    • changedOutput schema / properties / results / items / properties / first_author / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / full_text_availability / description
      Previous value: -"Best access available across providers: 'Open access', 'Free', or 'Subscription required'."New value: +"Best access available across all providers: Open access, Free, or Subscription required."
    • addedOutput schema / properties / results / items / properties / full_text_availability / title
      Added value: +"Full text availability"
    • changedOutput schema / properties / results / items / properties / full_text_availability / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / funders / description
      Previous value: -"Agencies that funded the work, comma separated."New value: +"Agencies that funded the work, comma separated. The strongest signal in the record for who is paying for a research area."
    • addedOutput schema / properties / results / items / properties / funders / title
      Added value: +"Funding agencies"
    • changedOutput schema / properties / results / items / properties / funders / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / results / items / properties / id / title
      Added value: +"Id"
    • changedOutput schema / properties / results / items / properties / id / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / is_open_access / description
      Previous value: -"True when Europe PMC marks the record as open access."New value: +"Structured is open access value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / is_open_access / title
      Added value: +"Is Open Access"
    • changedOutput schema / properties / results / items / properties / is_open_access / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / journal / description
      Previous value: -"Journal title the paper was published in."New value: +"Structured journal value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / journal / title
      Added value: +"Journal"
    • changedOutput schema / properties / results / items / properties / journal / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / keywords / description
      Previous value: -"Author-supplied keywords, comma separated."New value: +"Structured keywords value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / keywords / title
      Added value: +"Keywords"
    • changedOutput schema / properties / results / items / properties / keywords / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / mesh_terms / description
      Previous value: -"Medical Subject Headings assigned to the paper, comma separated."New value: +"Medical Subject Headings assigned to the paper, comma separated and capped at 30 terms."
    • addedOutput schema / properties / results / items / properties / mesh_terms / title
      Added value: +"MeSH terms"
    • changedOutput schema / properties / results / items / properties / mesh_terms / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / pdf_url / description
      Previous value: -"Direct link to the PDF, preferring an open-access or free copy."New value: +"Direct link to the PDF, preferring an open-access or free copy over a paywalled one."
    • addedOutput schema / properties / results / items / properties / pdf_url / title
      Added value: +"PDF URL"
    • changedOutput schema / properties / results / items / properties / pdf_url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / results / items / properties / pmcid / title
      Added value: +"PubMed Central ID"
    • changedOutput schema / properties / results / items / properties / pmcid / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / results / items / properties / pmid / title
      Added value: +"PubMed ID"
    • changedOutput schema / properties / results / items / properties / pmid / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / pub_year / description
      Previous value: -"Year of publication."New value: +"Structured pub year value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / pub_year / title
      Added value: +"Pub Year"
    • changedOutput schema / properties / results / items / properties / pub_year / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / publication_date / description
      Previous value: -"First publication date of the record."New value: +"Structured publication date value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / publication_date / title
      Added value: +"Publication Date"
    • changedOutput schema / properties / results / items / properties / publication_date / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / source / description
      Previous value: -"Source database the record came from, e.g. 'MED' for PubMed, 'PPR' for preprint, 'PAT' for patent."New value: +"Structured source value returned by the official Europe PMC REST API."
    • addedOutput schema / properties / results / items / properties / source / title
      Added value: +"Source"
    • changedOutput schema / properties / results / items / properties / source / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / results / items / properties / title / title
      Added value: +"Title"
    • changedOutput schema / properties / results / items / properties / title / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / url / description
      Previous value: -"Canonical public URL for the source record on europepmc.org."New value: +"Canonical public URL for the source record."
    • addedOutput schema / properties / results / items / properties / url / title
      Added value: +"Source record URL"
    • changedOutput schema / properties / results / items / properties / url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / results / items / required
      Removed value: -[
      -  "id",
      -  "title"
      -]
    • addedOutput schema / properties / run
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / status
      Added value: +{
      +  "enum": [
      +    "success",
      +    "empty_unverified",
      +    "partial",
      +    "error"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "results"
      -]New value: +[
      +  "results",
      +  "status"
      +]
  2. Addedv1.0.11

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by disclosing that execution is a synchronous network call via a specific Apify Actor, that it creates a billed Actor run and dataset on the user's Apify account, that it requires APIFY_TOKEN, and that latency is typically 5-20 seconds with a 120-second timeout. It also explains how max_results and include_entities affect duration. This is rich behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (Behavioral Transparency, Usage Guidelines) and front-loads the core purpose in the first sentence. It is longer than the minimum, but every section earns its place by providing operational and selection guidance. A small deduction because the behavioral and usage sections could be slightly tightened without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter network tool with an output schema, the description covers the essential operational context: what it searches, what it returns, how it executes, what side effects it has, what auth it needs, and when to use alternatives. The output schema handles return-value details, and the description covers the rest. Nothing an agent needs to decide whether to call this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 10 parameters. The description adds value by explaining the trade-off of include_entities ('adds roughly one extra request per 8 results') and by framing the query parameter as a 'Europe PMC search expression' with an example. It does not restate every parameter, which is appropriate given full schema coverage; a 4 reflects the added operational context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Search') and resource ('Europe PMC and PubMed'), and enumerates the search dimensions (topic, author, journal, publication year, open-access status) and the returned record fields (identifiers, abstracts, citation counts, MeSH indexing, funding, full-text links). This clearly distinguishes it from sibling tools like clinical_trials_search and openfda_search, which target different biomedical data sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description has an explicit 'When to use' section listing concrete use cases (biomedical literature search, systematic-review scoping, citation tracking, funding provenance, open-access discovery, entity mining) and a 'When NOT to use' section naming two sibling alternatives (clinical_trials_search, openfda_search) with the conditions that route to them. This is exactly the guidance an agent needs to select the right tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.