ClinicalTrials.gov Studies Scraper
Pricing
from $0.02 / 1,000 study saveds
ClinicalTrials.gov Studies Scraper
Export structured ClinicalTrials.gov study records from the official API for trial monitoring, sponsor research, and healthcare market intelligence.
Pricing
from $0.02 / 1,000 study saveds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract structured study records from the official ClinicalTrials.gov API.
Use this Apify Actor to monitor trials, sponsors, interventions, phases, locations, eligibility fields, and study URLs without maintaining your own API pagination code.
What does ClinicalTrials.gov Studies Scraper do?
ClinicalTrials.gov Studies Scraper searches the public ClinicalTrials.gov API v2 and saves normalized study records to an Apify dataset.
It is HTTP-only and does not use a browser.
It works with public data from ClinicalTrials.gov.
It supports broad search and precise filters.
It exports clean records for spreadsheets, BI tools, CRMs, data warehouses, and monitoring workflows.
Who is it for?
🧪 Pharma competitive intelligence teams can monitor recruiting and completed trials by condition, intervention, or sponsor.
🏥 Clinical trial recruitment teams can discover studies by disease area, country, status, and eligibility fields.
📊 Healthcare market researchers can enrich market maps with trial phase, sponsor, country, and enrollment data.
🔬 Biotech business development teams can follow pipeline activity around drug classes, diseases, and sponsor names.
⚙️ Data engineers can schedule repeatable ClinicalTrials.gov exports from Apify and deliver them to downstream systems.
Why use this actor?
ClinicalTrials.gov has an official API, but users still need pagination, filtering, normalization, and export handling.
This actor wraps that API in an Apify-ready workflow.
You get a dataset with stable field names.
You can schedule runs.
You can integrate output through Apify API, webhooks, dataset exports, or MCP.
You can avoid building one-off scripts for every trial monitoring request.
Typical workflows
Monitor new recruiting oncology trials each week.
Build a sponsor-specific pipeline tracker.
Export Phase 3 studies for a therapeutic area.
Find trial countries and site locations for recruitment planning.
Enrich internal company or drug databases with ClinicalTrials.gov identifiers.
Track when studies were first posted or last updated.
Input filters
The actor supports these filters:
searchTermfor free-text ClinicalTrials.gov search.conditionfor disease or condition queries.interventionfor drug, device, biologic, procedure, or treatment names.sponsorfor sponsor or collaborator names.locationfor city, state, country, or facility text.nctIdsfor exact study IDs.statusesfor recruitment status filters.studyTypesfor interventional, observational, or expanded access studies.phasesfor trial phase filters.maxItemsfor output limits.includeLongTextfor full summary and eligibility text.sortfor optional API sort expressions.
Output data
Each dataset row is one ClinicalTrials.gov study.
The actor exports identifiers, titles, statuses, study design, conditions, interventions, sponsor data, location data, dates, eligibility fields, and URLs.
Data fields
| Field | Description |
|---|---|
nctId | ClinicalTrials.gov study ID. |
briefTitle | Brief study title. |
officialTitle | Official study title. |
overallStatus | Current overall recruitment/status value. |
lastKnownStatus | Last known status when available. |
studyType | Interventional, observational, or expanded access. |
phases | Trial phases. |
conditions | Conditions or diseases. |
keywords | Study keywords. |
interventions | Intervention names and aliases. |
interventionTypes | Intervention type categories. |
leadSponsor | Lead sponsor name. |
leadSponsorClass | Sponsor class. |
collaborators | Collaborator names. |
locations | Facility, city, state, country, and location status. |
countries | Unique countries from locations. |
enrollmentCount | Enrollment count. |
enrollmentType | Actual or estimated enrollment. |
sex | Eligibility sex. |
minimumAge | Minimum eligibility age. |
maximumAge | Maximum eligibility age. |
healthyVolunteers | Whether healthy volunteers are accepted. |
startDate | Study start date. |
primaryCompletionDate | Primary completion date. |
completionDate | Completion date. |
studyFirstSubmitDate | First submitted date. |
studyFirstPostDate | First posted date. |
lastUpdateSubmitDate | Last update submitted date. |
lastUpdatePostDate | Last update posted date. |
resultsFirstSubmitDate | Results first submitted date when available. |
briefSummary | Study summary, trimmed unless long text is enabled. |
eligibilityCriteria | Eligibility criteria, trimmed unless long text is enabled. |
sourceUrl | Public ClinicalTrials.gov study page. |
apiUrl | API URL used for the page that returned the record. |
fetchedAt | Timestamp when the actor saved the record. |
How much does it cost to scrape ClinicalTrials.gov studies?
The actor uses pay-per-event pricing.
There is a small start charge per run.
There is a per-study charge for each saved dataset item.
The exact live price is shown on the Apify Store pricing panel.
Use maxItems to control run size and cost.
Example input: recruiting cancer trials
{"searchTerm": "cancer","statuses": ["RECRUITING"],"maxItems": 100}
Example input: sponsor monitoring
{"condition": "diabetes","sponsor": "Pfizer","maxItems": 100}
Example input: exact NCT IDs
{"nctIds": ["NCT05162118"],"includeLongText": true,"maxItems": 1}
How to run on Apify
- Open the actor page on Apify.
- Enter a search term or one or more filters.
- Set
maxItemsto the number of studies you need. - Run the actor.
- Download the dataset as JSON, CSV, Excel, XML, or RSS.
- Schedule the actor if you need recurring monitoring.
Tips for better results
Use condition when you know the disease area.
Use intervention when tracking a drug, biologic, device, or procedure.
Use sponsor for company or institution monitoring.
Use statuses to focus on recruiting or active studies.
Use includeLongText when you need full eligibility criteria.
Keep maxItems small for exploratory runs.
Increase maxItems for scheduled production exports.
Integrations
Send new study records to Google Sheets for research analysts.
Push sponsor-specific trial records to a data warehouse.
Trigger webhooks when scheduled monitoring runs finish.
Use dataset exports in CSV or Excel for manual review.
Use the Apify API from Python or Node.js for automated enrichment.
Use MCP to let AI assistants query recent trial data through Apify.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/clinicaltrials-gov-studies-scraper').call({condition: 'Alzheimer Disease',phases: ['PHASE3'],maxItems: 100,});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/clinicaltrials-gov-studies-scraper').call(run_input={'condition': 'Alzheimer Disease','phases': ['PHASE3'],'maxItems': 100,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~clinicaltrials-gov-studies-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"searchTerm":"cancer","statuses":["RECRUITING"],"maxItems":100}'
MCP usage
Use Apify MCP to call this actor from Claude Code, Claude Desktop, or other MCP clients.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/clinicaltrials-gov-studies-scraper
Add it in Claude Code:
$claude mcp add apify-clinicaltrials "https://mcp.apify.com/?tools=automation-lab/clinicaltrials-gov-studies-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-clinicaltrials": {"url": "https://mcp.apify.com/?tools=automation-lab/clinicaltrials-gov-studies-scraper"}}}
Example prompts:
- "Run the ClinicalTrials.gov scraper for recruiting pancreatic cancer trials and summarize sponsors by country."
- "Extract Phase 3 Alzheimer studies and list the top sponsors."
- "Monitor Pfizer diabetes trials and flag newly updated studies."
Scheduling and monitoring
Clinical trial data changes over time.
For monitoring, create a saved task with your filters.
Schedule it daily, weekly, or monthly.
Compare new datasets against previous runs by nctId and date fields.
Use Apify webhooks to notify your team when a scheduled run completes.
Data freshness
The actor fetches live data from ClinicalTrials.gov API v2 at run time.
The output includes fetchedAt so you know when each record was saved.
ClinicalTrials.gov records may be updated by sponsors and investigators after your run.
For compliance-sensitive workflows, keep the dataset export and run timestamp with your internal record.
Limits and caveats
This actor only exports public ClinicalTrials.gov data.
It does not infer medical meaning beyond fields returned by the API.
It does not guarantee that a study is currently accepting patients at every listed site.
Always verify clinical, regulatory, and recruitment decisions with the official study page and relevant professionals.
Legality and responsible use
ClinicalTrials.gov provides public study information.
Use the data responsibly and comply with applicable laws, policies, and ClinicalTrials.gov terms.
Do not use exported data for unlawful profiling, spam, or unauthorized medical claims.
Troubleshooting
If you receive fewer records than expected, broaden your filters.
If an exact NCT ID returns no result, check that the ID is typed correctly.
If summaries are too short, enable includeLongText.
If a scheduled monitor is too noisy, restrict by condition, sponsor, status, or phase.
FAQ
Does this scrape web pages?
No. It uses the official ClinicalTrials.gov API v2.
Do I need a ClinicalTrials.gov account?
No. The supported data is public.
Can I export all studies?
Yes, within run limits. Set broad filters and a high maxItems, but start with a smaller run to validate your workflow.
Can I monitor only recruiting studies?
Yes. Set statuses to RECRUITING or combine recruiting statuses such as RECRUITING and NOT_YET_RECRUITING.
Can I search by sponsor?
Yes. Use the sponsor input field.
Related scrapers
Explore related Automation Lab actors for healthcare, research, company, and contact enrichment workflows:
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/company-domain-finder
- https://apify.com/automation-lab/rss-feed-scraper
Support
If you need a field that is present in ClinicalTrials.gov API v2 but not exported here, open an Apify issue with a sample NCT ID.
If a run fails, include the run ID, input, and expected result.
Changelog
Initial version exports official ClinicalTrials.gov study records with filters, pagination, normalized fields, and pay-per-study charging.