ClinicalTrials.gov Scraper: clinical trial studies and results
Pricing
$9.60 / 1,000 studies
ClinicalTrials.gov Scraper: clinical trial studies and results
Search ClinicalTrials.gov by condition, drug, sponsor or location: clinical trials with status, phase, enrollment, sites and outcomes as JSON or CSV.
Pricing
$9.60 / 1,000 studies
Rating
0.0
(0)
Developer
BEPO Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
🧪 What is Clinical Trials Data?
Clinical Trials Data reads ClinicalTrials.gov, the US National Library of Medicine's registry of more than 600,000 worldwide entries, through its official interface. Ask by disease, compound, funder or free text, or by NCT number, narrow by recruitment stage, design type, region or last update, and get one tidy row per entry: dates, headcount, inclusion criteria, every centre by country, primary endpoints and, where posted, per-group p-values and serious side effects.
- Pharma and biotech intelligence: every trial a competitor runs for a drug or indication, with phase and status
- Patient recruitment and site selection: recruiting studies for a condition with their sites by city and country
- Monitoring: trials updated since a date, on a daily or weekly schedule
- Investors and analysts: pipelines, phases and completion dates by sponsor
- Research and AI: posted outcomes and adverse events as structured data for analysis or an AI agent

✨ Why use this Actor?
- ✅ Official source: ClinicalTrials.gov API v2, no scraping, no key needed
- ✅ Results in short: each posted outcome measure with its value per arm, spread and p-value, and serious adverse events in each group
- ✅ All sites counted:
sitesCountandcountriesalways cover every site;maxSitesonly caps the list shown - ✅ Search the way you think: condition, drug, sponsor and free-text searches in one run, plus NCT id lookups
- ✅ Built for monitoring:
updatedSinceand sorting by last update for scheduled runs - ✅ Fair price: 2 USD per 1,000 studies, deduped across searches; you pay only for rows saved
📦 What data can you get with Clinical Trials Data?
| 🆔 NCT id and acronym | 📄 Brief and official title | 🚦 Recruitment status and why stopped |
| 🔬 Study type and phases | 👥 Enrollment | 🩺 Conditions |
| 💊 Interventions | 🏢 Sponsor, class and collaborators | 📅 Start, completion, posted and updated dates |
| 🎯 Primary outcomes | ✅ Eligibility: sex, ages, healthy volunteers | 📝 Brief summary |
| 🌍 Sites, site count and countries | 📊 Posted results per arm | ⚠️ Serious adverse events per arm |
🚀 How to use Clinical Trials Data
Clinical Trials Data works in a few clicks, no coding needed:
- Create a free Apify account (the free plan includes 5 USD of monthly credit).
- Open Clinical Trials Data and click Try for free.
- Enter conditions, drugs, sponsors or NCT ids, pick statuses and phases if you want, and set how many studies per search.
- Click Start and wait for the run to finish (most runs take seconds).
- Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

⬇️ Input
Give at least one condition, drug, sponsor, free text or NCT id: up to 100 phrases and 1,000 identifiers per run. Everything else is optional.
Four kinds of search
conditions (glioblastoma, type 2 diabetes), drugs (semaglutide, pembrolizumab, also devices and procedures), sponsors (Pfizer, National Cancer Institute) and searchTerms (free text over all fields). Each term is its own search; studies found twice are kept once. nctIds takes ids or clinicaltrials.gov URLs.
Filters
statuses (RECRUITING, COMPLETED, ...), phases (PHASE1 to PHASE4, an early phase and NA), studyType, location (a country, state or city with a site), withResultsOnly, and updatedSince (YYYY-MM-DD) for monitoring.
Results and sites
Posted results are included unless switched off (includeResults). maxSites caps the list of sites per study (50 as standard); the count and the countries always cover every one.
| Field | Type | What it does | Default |
|---|---|---|---|
Conditions (conditions) | array | Diseases or conditions, e.g. | ["glioblastoma"] |
Drugs or interventions (drugs) | array | Drug, device or procedure names, e.g. | |
Sponsors (sponsors) | array | Lead sponsors or collaborators, e.g. | |
Other search terms (searchTerms) | array | Free text over all study fields; one search each. | |
NCT ids (nctIds) | array | Look up these studies directly, e.g. | |
Recruitment status (statuses) | array | Keep only studies with one of these statuses (empty: all). | |
Phases (phases) | array | Keep only studies in one of these phases (empty: all). | |
Study type (studyType) | string | Interventional, observational or expanded access (empty: all). | |
Location (location) | string | Keep studies with a site matching this place, e.g. | |
Updated since (updatedSince) | string | Keep studies whose record was updated on or after this date (YYYY-MM-DD); for daily or weekly monitoring. | |
Sort (sort) | string | relevance (to the search term), updated (latest record update first), newest (first posted) or start (latest start date). | "relevance" |
With posted results only (withResultsOnly) | boolean | Keep only studies that have posted results. | false |
Include results (includeResults) | boolean | Add posted results: each outcome measure with its value per arm and p-value, and serious adverse events in each group. | true |
Max sites per study (maxSites) | integer | Sites listed per study (0 to 1,000); sitesCount and countries always cover all sites. | 50 |
Max studies per term (maxItemsPerQuery) | integer | Per search term (1 to 5,000). | 100 |
Max retries (maxRetries) | integer | Retries per request on timeouts, rate limits and server errors. | 3 |

Input example
{"conditions": ["glioblastoma"],"statuses": ["RECRUITING"],"phases": ["PHASE2","PHASE3"],"maxItemsPerQuery": 50}
⬆️ Output
Every study becomes one row with the same fields; source tells you which query or lookup produced it. The run summary in the key-value store (OUTPUT) lists every search with the studies found, the total matching on ClinicalTrials.gov, and the error if one failed.

Output example
One row of the dataset (NCT id lookup of NCT03548935, STEP 1; countries, sites, results and summary shortened):
{"nctId": "NCT03548935","title": "STEP 1: Research Study Investigating How Well Semaglutide Works in People Suffering From Overweight or Obesity","officialTitle": "Effect and Safety of Semaglutide 2.4 mg Once-weekly in Subjects With Overweight or Obesity","acronym": "STEP 1","status": "COMPLETED","whyStopped": null,"studyType": "INTERVENTIONAL","phases": ["PHASE3"],"enrollment": 1961,"conditions": ["Metabolism and Nutrition Disorder","Overweight or Obesity"],"interventions": [{"type": "DRUG","name": "Semaglutide"},{"type": "DRUG","name": "Placebo (semaglutide)"}],"sponsor": "Novo Nordisk A/S","sponsorClass": "INDUSTRY","collaborators": [],"startDate": "2018-06-04","primaryCompletionDate": "2020-03-30","completionDate": "2021-03-05","firstPosted": "2018-06-07","lastUpdated": "2021-11-19","primaryOutcomes": [{"measure": "Change in Body Weight (%)","timeFrame": "Baseline (week 0) to week 68"},{"measure": "Participants Who Achieve 5 or More Percent Body Weight Reduction (Yes/no)","timeFrame": "After week 68"}],"eligibility": {"sex": "ALL","minimumAge": "18 Years","maximumAge": null,"healthyVolunteers": false},"summary": "This study will look at the change in participants' body weight from the start to the end of the study. The weight loss in participants taking semaglutide (a new medicine) will be compared to the...","sitesCount": 128,"countries": ["United States","Argentina","Belgium","Bulgaria","Canada"],"sites": [{"facility": "Novo Nordisk Investigational Site","city": "Anniston","state": "Alabama","country": "United States","status": null},{"facility": "Novo Nordisk Investigational Site","city": "Anaheim","state": "California","country": "United States","status": null}],"hasResults": true,"results": {"outcomes": [{"type": "PRIMARY","title": "Change in Body Weight (%)","timeFrame": "Baseline (week 0) to week 68","unit": "Percentage point","paramType": "MEAN","dispersion": "Standard Deviation","groups": [{"group": "Semaglutide 2.4 mg","value": "-15.6","spread": "10.1"},{"group": "Placebo","value": "-2.8","spread": "6.5"}],"pValue": "<.0001","method": "ANCOVA"}],"adverseEvents": [{"group": "Sema 2.4 mg","atRisk": 1306,"serious": 128,"other": 1052,"deaths": 1},{"group": "Placebo","atRisk": 655,"serious": 42,"other": 447,"deaths": 1}]},"url": "https://clinicaltrials.gov/study/NCT03548935","source": "NCT id lookup"}
Run summary (OUTPUT)
The key-value store record OUTPUT has the self-check and one line per search with the total number of matching studies, so you know how much more there is:
{"ok": true,"rows": 50,"problems": [],"tasks": [{"task": "condition: glioblastoma","ok": true,"rows": 50,"totalMatching": 133,"error": null}]}
View the results as a table or JSON in the Output tab and download them as JSON, CSV, Excel, XML, HTML or RSS, all fields or only those you pick.
💰 How much does Clinical Trials Data cost?
Clinical Trials Data is priced per event: 2 USD per 1,000 studies (0.002 USD each), with no monthly rental. Each saved row is one charge; a study found by two searches is counted once, and an empty one costs zero.
| You get | You pay |
|---|---|
| 100 studies | 0.2 USD |
| 1,000 studies | 2 USD |
| 10,000 studies | 20 USD |
| 100,000 studies | 200 USD |
💡 Apify's free plan gives you 5 USD of credit every month, enough for about 2,500 studies at no cost. Set a spending limit per run and the Actor stops there.
⚖️ Clinical Trials Data vs. the alternatives
| Clinical Trials Data | ClinicalTrials.gov website | Commercial trial databases | |
|---|---|---|---|
| Source | ✅ official API v2 | ✅ official | curated copies |
| Many conditions, drugs and sponsors per run | ✅ | one search at a time | ✅ |
| Posted results per arm as data | ✅ values and p-values | per study page | ✅ |
| Sites by country in every row | ✅ | per study page | ✅ |
| Price | 2 USD per 1,000 studies | free, manual | enterprise licence |
| API, schedules and MCP for AI agents | ✅ | own API, code needed | varies |
🔌 Integrations, API and MCP
Connect Clinical Trials Data to your AI agent (MCP)
Give Claude, ChatGPT, Cursor or any MCP client direct access to Clinical Trials Data through the Apify MCP server. Add this URL to its settings:
https://mcp.apify.com/?actors=bepolabs/clinical-trials
For Claude Desktop, add it under mcpServers in claude_desktop_config.json:
{"mcpServers": {"clinical-trials": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","bepolabs/clinical-trials"],"env": {"APIFY_TOKEN": "<your Apify API token>"}}}}
Then ask: "Find all recruiting phase 3 trials for type 2 diabetes with a site in Germany and list sponsor, drug and enrollment."
Run it from your code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("bepolabs/clinical-trials").call(run_input={"conditions":["glioblastoma"],"statuses":["RECRUITING"],"phases":["PHASE2","PHASE3"],"maxItemsPerQuery":50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('bepolabs/clinical-trials').call({"conditions":["glioblastoma"],"statuses":["RECRUITING"],"phases":["PHASE2","PHASE3"],"maxItemsPerQuery":50});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
No-code integrations
Send results to Google Sheets, Slack, Airtable, HubSpot, Make, Zapier, n8n and more from the Integrations tab, start runs on a schedule, or trigger your own endpoint with a webhook when a run finishes. The Apify API gives you full control over runs and datasets.
❓ FAQ
Where does the data come from?
From the official ClinicalTrials.gov API v2 of the US National Library of Medicine. Every run asks it live, so you get the latest record versions.
How do I monitor new or changed trials?
Set updatedSince to your last run date and sort to updated, then schedule the Actor daily or weekly.
What is in the results field?
For studies with posted results: each outcome measure with type, title, time frame, unit and the value and spread per arm, the first statistical analysis's p-value and method, and per group the number at risk, serious and other adverse events and deaths.
How many studies can I get?
Up to 5,000 per search term, 100 terms and 1,000 NCT ids per run. The run summary shows how many studies match in total.
Is this medical advice?
No. The Actor returns registry records as published. Talk to a doctor before joining or judging a trial.
Is it legal to use Clinical Trials Data?
Yes. ClinicalTrials.gov data is published by the US National Library of Medicine for open use, and the Actor reads it through the official public API. Follow the ClinicalTrials.gov terms when you reuse it, for example by not implying endorsement by NLM.
What if something is missing or does not work?
Open an issue on the Issues tab; we read each one and reply. Feature requests are welcome too.
💬 Your feedback
Tell us what Clinical Trials Data should add on the Issues tab or leave a review; your notes decide what we work on next.
🔗 Related Actors
| Actor | What it does |
|---|---|
| 📄 PDF to Text and Markdown | PDFs to clean text and Markdown, per page, per document or as RAG chunks, with columns in reading order and headers and footers removed. |
| 🏛️ SEC EDGAR Filings | Tickers or CIK numbers to SEC filings: 10-K, 10-Q, 8-K, Form 4 and any other form, with document links. |
| 🌦️ US Weather Forecast | Official National Weather Service forecasts, hourly and 7-day, plus active weather alerts for any US point or state. |
| 📈 Wikipedia Pageviews | Daily or monthly views of any Wikipedia article in any language, with totals and averages, from the official Wikimedia API. |
| 💼 ATS Jobs | Every open job from company career boards on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee in one deduped feed. |