Research Papers, PubMed & Clinical Trials Search (no key) avatar

Research Papers, PubMed & Clinical Trials Search (no key)

Pricing

from $0.40 / 1,000 results

Go to Apify Store
Research Papers, PubMed & Clinical Trials Search (no key)

Research Papers, PubMed & Clinical Trials Search (no key)

Search Crossref papers, PubMed citations and ClinicalTrials.gov studies in one run. No API key. Flat rows with DOI, PMID or NCT id, title, authors, journal or sponsor, date, phase, status and link. Metadata only, no abstracts. Not affiliated with Crossref, NLM or NIH.

Pricing

from $0.40 / 1,000 results

Rating

0.0

(0)

Developer

Datawharf Tools

Datawharf Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Security

Limited permissions

Share

Research Papers, PubMed & Clinical Trials Search (no API key)

Search Crossref (scholarly papers), PubMed (biomedical citations) and ClinicalTrials.gov (clinical studies) from one form, and get one flat, normalized table you can export to JSON, CSV or Excel. It only calls the three official public APIs (no scraping, no proxies, no login). No API key and no sign-up.

Not affiliated with, endorsed by or sponsored by Crossref, the U.S. National Library of Medicine (NLM), the National Institutes of Health (NIH) or ClinicalTrials.gov.

Who is this for?

  • Students, clinicians and analysts who want a quick literature + trials sweep on a drug, gene or condition.
  • AI-agent and automation builders who want a single tool that returns IDs and links (DOI, PMID, NCT number) for follow-up.
  • Biotech and market researchers tracking which sponsors run trials in a phase or status, with recent papers beside them.

What you get

One row per record, same columns for every source:

source, id (DOI, PMID or NCT number), idType, title, authors (first N, default 5), authorCount, journal (papers, PubMed), sponsor (trials), date, year, type (work type, publication type or study type), phase and status (trials), url, plus doi, pmid, nctId, publisher, citedByCount (Crossref), publicationTypes (PubMed), conditions, interventions, enrollment and lastUpdatedByClinicalTrialsGov (trials), attribution and fetchedAt.

Abstracts are NOT returned (on purpose)

Crossref notes that some abstracts "may be subject to copyright by publishers or authors", and NLM states it does not claim copyright in PubMed abstracts but publishers or authors may. To stay clearly on the safe side this Actor returns citation metadata and links only and never calls the PubMed abstract endpoint. Each PubMed row links to its PubMed page where the abstract can be read.

Quick test (default input)

{ "mode": "all", "query": "CRISPR gene therapy", "maxResultsPerSource": 5 }

Leaving the input empty runs the same search. It returns up to 15 rows from three sources.

Inputs

  • mode: all, papers (Crossref), pubmed or clinicalTrials.
  • query: free text. PubMed accepts PubMed syntax.
  • dateFrom / dateTo (YYYY-MM-DD): publication date for papers and PubMed, study start date for trials.
  • maxResultsPerSource: rows from each source (default 5, max 10,000; PubMed returns at most 9,999 per search).
  • maxAuthors: authors listed per paper.
  • journal: restrict papers and PubMed to a journal. PubMed matches the journal exactly; Crossref matches journal names loosely ("Nature" also returns "Nature India" or "Nature Machine Intelligence"), so check the journal column.
  • crossrefType: e.g. journal-article, proceedings-article, posted-content.
  • condition, trialStatus, trialPhase: trial filters (for example RECRUITING, PHASE3).
  • maxApiCalls: safety limit on requests (default 100).

Example inputs

Recruiting phase 2/3 diabetes trials started since 2024, trials only:

{ "mode": "clinicalTrials", "condition": "type 2 diabetes", "trialStatus": ["RECRUITING"], "trialPhase": ["PHASE2", "PHASE3"], "dateFrom": "2024-01-01", "maxResultsPerSource": 50 }

Recent PubMed papers in one journal:

{ "mode": "pubmed", "query": "semaglutide", "journal": "Nature Medicine", "dateFrom": "2025-01-01", "maxResultsPerSource": 100 }

Crossref journal articles only:

{ "mode": "papers", "query": "graphene battery", "crossrefType": "journal-article", "maxResultsPerSource": 200 }

Good to know

  • Rate limits. Requests to NCBI are paced to at most 3 per second (the documented limit without a key) and every retry is paced too. Crossref requests identify the project with a contact address (the "polite pool"), and NCBI requests send tool and email parameters, as both services ask. The contact is datawharf@gmail.com.
  • A failing source does not stop the others in all mode. Check RUN_REPORT for per-source counts, API calls, retries and any source errors.
  • PubMed data is courtesy of the U.S. National Library of Medicine and may not be the most current NLM data. ClinicalTrials.gov records are submitted by study sponsors; always open the linked record before relying on it. Each trial row carries lastUpdatedByClinicalTrialsGov (the date ClinicalTrials.gov last posted an update for that study) and fetchedAt; re-run to keep data current. Modifications: records are reformatted into flat rows, only the listed fields are kept, and author lists are shortened to the first N names; no values are otherwise changed. Contact details are not collected. ClinicalTrials.gov is a United States Government database; we claim no rights in it. Crossref metadata is used under Crossref's open metadata policy.
  • Not medical advice.

Use it from code (JavaScript and Python)

JavaScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('datawharf-tools/research-search').call({ mode: "all", query: "CRISPR gene therapy", maxResultsPerSource: 10 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, 'rows');

Python (pip install "apify-client>=3"):

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("datawharf-tools/research-search").call(run_input={"mode": "all", "query": "CRISPR gene therapy", "maxResultsPerSource": 10})
items = list(client.dataset(run.default_dataset_id).iterate_items())
print(len(items), "rows")

More examples: https://github.com/datawharf-tools/examples

FAQ

How do I search PubMed, Crossref and ClinicalTrials.gov at once? Use mode: "all" with a query. Every source returns the same columns with the DOI, PMID or NCT number.

How do I list recruiting phase 3 trials for a condition? Use mode: "clinicalTrials", condition, trialStatus: ["RECRUITING"] and trialPhase: ["PHASE3"].

Does it return abstracts? No, on purpose: it returns citation metadata and links only.

Pricing

Pay per event: $0.40 per 1,000 result rows (result-item, $0.0004 each) plus Apify's standard start event. The closest incumbent charges per tool call (about $0.0625 per call), so a call that returns 50 rows here costs about $0.02.

Data sources

Crossref REST API (https://api.crossref.org), NCBI E-utilities (https://eutils.ncbi.nlm.nih.gov), ClinicalTrials.gov API v2 (https://clinicaltrials.gov/api/v2).