ClinicalTrials.gov Study Monitor & Search
Pricing
from $1.50 / 1,000 study rows
ClinicalTrials.gov Study Monitor & Search
Unofficial; not affiliated with NIH/NLM. Search and monitor clinical studies from the official ClinicalTrials.gov API by condition, drug, sponsor, status, phase, location and dates. Only-new results plus status, recruiting and results-posted changes. Not medical advice.
Pricing
from $1.50 / 1,000 study rows
Rating
0.0
(0)
Developer
Michael Rice
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Unofficial. Not affiliated with or endorsed by ClinicalTrials.gov, the U.S. National Library of Medicine (NLM), the National Institutes of Health (NIH) or the U.S. Department of Health and Human Services (HHS). Data comes from the official ClinicalTrials.gov Data API v2. Source: ClinicalTrials.gov, a U.S. Government database run by NLM. Use of the data is subject to the ClinicalTrials.gov Terms and Conditions.
Not medical advice. This tool returns registry records for research, business and monitoring use. Do not use it to make medical decisions. Talk to a health care provider before joining a study, and check the study page on ClinicalTrials.gov for current details.
Search clinical studies by condition, intervention, sponsor, overall status, phase, location and dates. Put it on a schedule with Only new or changed since last run to get just newly matching studies, plus studies whose status, recruiting sites or results changed.
What you get
One row per study (nctId), most recently updated first: titles, overall status (and why stopped), results posted flag and date, study type, phases, enrollment, conditions, interventions (type and name), lead sponsor and class, collaborators, start / primary completion / completion dates, first posted and last update posted dates, location count, recruiting-site count, countries, the first 10 locations (facility, city, state, country, site status) and the study page link.
Rows also carry updateType (new / changed in monitor mode, otherwise null), changeReasons, previousStatus, changeHash and dataTimestamp (when ClinicalTrials.gov last processed its data). compact output keeps the key fields, including updateType, changeReasons, changeHash and dataTimestamp.
No personal contact data: contact names, email addresses and phone numbers are never output. (The ClinicalTrials.gov terms also forbid using its email addresses for marketing.)
Input
| Field | Notes |
|---|---|
| condition | e.g. "type 2 diabetes" (synonyms included by ClinicalTrials.gov) |
| intervention | drug, device or other intervention, e.g. "pembrolizumab" |
| sponsor | lead sponsor or collaborator, e.g. "Pfizer" |
| location | facility, city, state or country of a site |
| keywords | free-text search across the record |
| statuses | overall status list, e.g. RECRUITING, NOT_YET_RECRUITING, COMPLETED, TERMINATED |
| phases | EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4, NA |
| startDateFrom / startDateTo | study start date range (YYYY-MM-DD) |
| firstPostedFrom / firstPostedTo | first posted date range |
| lastUpdatedFrom / lastUpdatedTo | last update posted date range |
| onlyWithResults | only studies with posted results |
| maxItems | rows per run, default 25, max 5000 |
| onlyNewSinceLastRun, lookbackDays | monitor mode, see below |
| outputFormat | full or compact |
At least one filter is required (an unfiltered query would cover the whole registry).
Example: recruiting Phase 2/3 lung cancer studies with a site in Colorado, only new or changed:
{ "condition": "lung cancer", "statuses": ["RECRUITING"], "phases": ["PHASE2", "PHASE3"], "location": "Colorado", "onlyNewSinceLastRun": true }
Only new or changed since last run
The first run with a set of filters is a baseline: normal results, then a watermark is saved in a named key-value store in your Apify account (clinicaltrials-study-monitor-state). Later runs with the same filters ask ClinicalTrials.gov only for studies whose last update was posted since the previous complete run (minus one day, because updates are posted by date), and never more than lookbackDays (default 30) back. They return:
new: studies not delivered before for these filters (including studies that newly match, e.g. a status filter they now meet);changed: delivered studies where a tracked field changed: overall status, number of recruiting / not-yet-recruiting sites, results posted, phases, enrollment count, why stopped, primary completion date or completion date.changeReasonslistsstatusChanged,resultsPosted,recruitingSitesChangedand/orotherTrackedField;previousStatusis set when the status changed.
Record updates that touch only other fields (for example eligibility text or contacts) are not re-sent. Changed rows are charged like any other row. If a monitor run is cut short (maxItems, your cost limit or the request cap), the rest arrive on the next run. If a baseline run is cut short, older matching studies (last updated before the oldest delivered row) are not delivered later unless they are updated; run once without monitor mode to get them. If a schedule is paused longer than lookbackDays, updates older than that window are not caught up. Studies that stop matching your filters (for example no longer recruiting, with a RECRUITING filter) are not reported, because the API no longer returns them; leave statuses empty if you want to see status changes in every direction. Withdrawn or removed records are not reported as deletions. Compact rows include changeHash.
Run summary
The OUTPUT record has count, chargedCount, the API request URL, pagesFetched, returnedByApi, totalMatching, apiVersion, dataTimestamp, truncated (true only when more matching rows exist beyond maxItems, the cost limit or the request cap; a run with exactly maxItems matches is not truncated; on a cut-short monitor baseline olderMatchesSkipped is also true), monitor details (newCount, changedCount, statusChangedCount, resultsPostedCount, all counted from pushed rows, plus skippedUnchanged, the cursor and the window used) and request stats.
Limits and notes
- The Actor waits at least 1.3 seconds between requests (retries included; well above the 250 ms minimum, to stay under the commonly reported ClinicalTrials.gov limit of about 50 requests per minute per IP) and makes at most 40 requests per run (200 studies per page). A default run makes 2 requests.
- Records are summary information supplied by sponsors and investigators; ClinicalTrials.gov does not verify their scientific accuracy. Data can be out of date; ClinicalTrials.gov updates daily, so re-run or schedule the Actor to keep data current.
- Modifications to the data: fields are selected, renamed and flattened, location lists are summarized (first 10 sites, plus counts), and contact details are removed. Nothing else is changed.
- When you republish this data, the ClinicalTrials.gov terms ask you to credit ClinicalTrials.gov, keep it current, show the date it was processed (
dataTimestamp) and describe any modifications. - Some data may be subject to third-party copyright, and ClinicalTrials.gov data carries an international copyright outside the United States; see the terms.
Support
Questions or problems: digitalpromohub.support@gmail.com