ClinicalTrials.gov Scraper & New Trials Monitor
Pricing
$2.00 / 1,000 trials
ClinicalTrials.gov Scraper & New Trials Monitor
Search and monitor ClinicalTrials.gov by condition, sponsor, phase, status and date range. Monitor mode returns only trials that are new or updated since your last run. Official API v2, no start fee.
Pricing
$2.00 / 1,000 trials
Rating
0.0
(0)
Developer
Better Atoms Technologies LLP
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
ClinicalTrials.gov Scraper & New Trials Monitor (Official API v2)
Search ClinicalTrials.gov by condition, sponsor, phase, recruitment status and date range, and export clean trial records as JSON, CSV or Excel. Switch on monitor mode and each scheduled run returns only trials that are new or updated since your last run. That gives you a daily or weekly feed of trial changes for your indication, competitors or sponsors.
The actor uses only the official ClinicalTrials.gov API v2 (https://clinicaltrials.gov/api/v2/studies), the public registry API run by the U.S. National Library of Medicine. You don't need an API key, a login, proxies or a browser, and it doesn't crawl the website.
Use cases
- Pharma and biotech competitive intelligence: track every Phase 2/3 trial in your indication, or every trial a competitor sponsors, and see status changes, new sites and new trials as they're posted.
- CRO and site business development: find trials that are recruiting or not yet recruiting, by condition, phase and country, to target sponsors that need sites and services.
- Investors and analysts: monitor pipeline events (new trials, terminations with
whyStopped, results posted) for the companies you follow. - Medical affairs, patient advocacy and newsletters: a weekly digest of new trials for a disease area, sent to Slack, Google Sheets, email or your CRM with Apify integrations and webhooks.
- AI agents and RAG pipelines: clean, structured trial records with summaries, outcomes and interventions.
Filters
| Field | What it does |
|---|---|
conditions | Diseases or conditions, e.g. obesity, non-small cell lung cancer. ClinicalTrials.gov expands synonyms. Several values are combined with OR |
sponsors | Lead sponsor or collaborator, e.g. Pfizer, Novo Nordisk |
keywords | Free text anywhere in the record, e.g. a drug name such as tirzepatide |
locations | Site location terms, e.g. India, Germany, Boston |
phases | Early phase 1, phase 1, 2, 3, 4 or not applicable |
statuses | Recruiting, Not yet recruiting, Active not recruiting, Completed, Terminated, … |
studyTypes | Interventional, Observational or Expanded access |
dateField, dateFrom, dateTo | Date range on last update posted, first posted, start, primary completion or completion date |
mode | search (all matches) or monitor (only new or updated since the last run) |
stateKey, monitorInitialLookbackDays | Monitor memory name, and how far back the first monitor run looks |
maxItems | Maximum trials per run, which also caps your cost |
Example: recruiting Phase 3 obesity trials
{ "mode": "search", "conditions": ["obesity"], "phases": ["PHASE3"], "statuses": ["RECRUITING"], "maxItems": 500 }
Example: daily monitor of a competitor's oncology trials
{ "mode": "monitor", "sponsors": ["AstraZeneca"], "conditions": ["cancer"], "stateKey": "az-oncology","monitorInitialLookbackDays": 30, "maxItems": 1000 }
Schedule it daily in Apify Console (Schedules). The first run returns trials updated in the last 30 days. Each later run returns only trials that are new or have a newer "last update posted" date, tagged changeType: "new" or "updated".
Sample output
Real record from the local test run on 23 Oct 2026 (summary shortened):
{"nctId": "NCT07220772","briefTitle": "A Study Evaluating Mibavademab Treatment of Obesity Due to Leptin (LEP) Gene Mutations in Children, Adolescents and Adults","orgStudyId": "R4461-MOB-2471","overallStatus": "RECRUITING","studyType": "INTERVENTIONAL","phases": ["PHASE3"],"conditions": ["Monogenic Obesity"],"interventions": [{ "type": "DRUG", "name": "Mibavademab" }],"leadSponsor": "Regeneron Pharmaceuticals","leadSponsorClass": "INDUSTRY","collaborators": [],"enrollment": 4, "enrollmentType": "ESTIMATED","allocation": "NA", "primaryPurpose": "TREATMENT","sex": "ALL", "minimumAge": "2 Years", "maximumAge": null, "healthyVolunteers": false,"primaryOutcomes": ["Percent change in Body Mass Index (BMI)"],"startDate": "2026-02-09","primaryCompletionDate": "2027-06-18","completionDate": "2028-04-21","studyFirstPostDate": "2025-10-24","lastUpdatePostDate": "2026-10-22","resultsFirstPostDate": null, "hasResults": false,"locationCount": 3,"locationCountries": ["Germany", "Turkey (Türkiye)"],"briefSummary": "This study is researching an experimental drug called mibavademab. …","url": "https://clinicaltrials.gov/study/NCT07220772","source": "ClinicalTrials.gov API v2","scrapedAt": "2026-10-23T04:12:34.001406Z"}
In monitor mode each record also has changeType (new, updated, or initial on the first run). sample_output.json holds more real records.
Pricing
Pay per result: $0.002 per trial ($2 per 1,000 trials). There's no start fee, so a monitor run that finds nothing new costs you nothing in result fees. Use maxItems to cap spend.
FAQ
Is this allowed? Yes. The actor calls the public ClinicalTrials.gov API v2, which NLM provides for programmatic access. It doesn't scrape the website. Please follow ClinicalTrials.gov's terms and cite it as the source when you republish.
How does monitor mode know what's new?
It keeps a small state per stateKey in a named key-value store in your Apify account (clinicaltrials-monitor-state), with a "last update posted" watermark and the trial IDs already returned for that date. Each run asks the API only for trials updated on or after the watermark and skips versions you already received. The run's default key-value store also gets a copy (MONITOR_STATE) and a RUN_SUMMARY. Changes are processed oldest first, so if maxItems stops a run early, the next run picks up where it left off.
How often should I run the monitor? ClinicalTrials.gov refreshes its data once a day (on weekdays), so a daily schedule is enough.
Does it include investigator or contact details? No. Contact names, emails and phone numbers are left out on purpose. You get sponsor, design, status, dates, countries and site counts.
Why are some fields null?
The sponsor didn't report them. The actor never fills in or guesses values.
Rate limits?
The actor waits 1.5 seconds between API requests (at most about 40 per minute) and retries 429 and 5xx responses with backoff, honouring Retry-After. One request returns up to 1,000 trials, so most runs finish in seconds.
Notes and limits
- Data is provided as-is by sponsors through ClinicalTrials.gov. Always confirm details on the linked study page.
- Dates are reported as the registry publishes them. Some are month-only, such as
2027-06. - This actor is not affiliated with or endorsed by NIH, NLM or ClinicalTrials.gov.
Local development
pip install -r requirements.txt# edit storage/key_value_stores/default/INPUT.json, then:python -m src# end-to-end test (5 runs against the live API v2, including monitor mode):python tests/run_local_test.py