Clinical Trials Tracker, from ClinicalTrials.gov data avatar

Clinical Trials Tracker, from ClinicalTrials.gov data

Pricing

from $1.40 / 1,000 studies

Go to Apify Store
Clinical Trials Tracker, from ClinicalTrials.gov data

Clinical Trials Tracker, from ClinicalTrials.gov data

Search public ClinicalTrials.gov data by condition, drug, sponsor, phase, status and country, and track what changed since the last run: new trials, status changes and date changes.

Pricing

from $1.40 / 1,000 studies

Rating

0.0

(0)

Developer

br_data_hub

br_data_hub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Search public ClinicalTrials.gov data through its official API by disease, drug, sponsor, phase, recruitment status, country and last update date, and get every trial as one clean, flat record: phase, status, sponsor and collaborators, conditions, interventions, number of participants, key dates, number of sites and countries, primary outcomes and the link to the study page.

Its main feature is the "only changes since the last run" mode. The Actor keeps a snapshot of your search in a named key-value store and marks each trial as:

changeTypeMeaning
NEWThe trial was not in the snapshot (new registration, or it just started to match your filters)
STATUS_CHANGEDThe overall status changed, e.g. RECRUITING → COMPLETED or ACTIVE_NOT_RECRUITING → TERMINATED. previousStatus holds the old value
DATES_CHANGEDStart, primary completion or completion date moved (a delay or an acceleration). previousDates holds the old values
UNCHANGEDNothing above changed (not returned unless you ask, never charged)

Schedule it daily or weekly and you get a feed of what moved in your therapeutic area, your competitors' pipelines or your partners' trials: built for competitive intelligence, business development and licensing teams in pharma and biotech, CROs and site networks, and investors following clinical catalysts.

Input

FieldDescription
conditionDisease or condition, as on ClinicalTrials.gov (the registry expands synonyms), e.g. obesity, non-small cell lung cancer.
interventionDrug, device or other intervention, by generic name, brand or code, e.g. semaglutide, Keytruda.
sponsorCompany or institution that sponsors or collaborates, e.g. Novo Nordisk.
phasesAny of EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4, NA. A Phase 1/2 trial matches both.
statusesAny overall status, e.g. RECRUITING, NOT_YET_RECRUITING, ACTIVE_NOT_RECRUITING, COMPLETED, TERMINATED.
countriesTrials with at least one site in any of these countries, in English (United States, Brazil).
updatedSinceOnly trials whose record was updated on or after this date.
nctIdsOptional watch list of trial IDs (NCT06131398): your portfolio, partners or competitors. Combined with the other filters; clear condition to track exactly these trials.
searchTermsAdvanced: free text or an Essie expression searched in all fields.
trackChangesTurn on the change-tracking mode described above (default false).
includeUnchangedIn change mode, also return UNCHANGED trials, free of charge.
firstRunAsBaselineIn change mode, the first run only saves the snapshot: nothing is returned or charged.
snapshotNameName of the watch list, so different schedules keep different snapshots. Empty = derived from the filters.
storeNameNamed key-value store that keeps the snapshots (default clinical-trials-tracker).
maxResultsMaximum trials read per run (default 100).

The default input (recruiting Phase 3 obesity trials, up to 100) finishes in a few seconds.

Tips for change tracking. Leave statuses empty, or a trial that leaves RECRUITING simply disappears from your results instead of showing up as STATUS_CHANGED. Set maxResults above the number of matching trials on the first run so the snapshot covers your whole search. After a complete run, the next runs only ask the API for trials updated since the previous run (every status or date change updates the record), so scheduled runs stay fast and cheap.

Output

{
"nctId": "NCT06131398",
"url": "https://clinicaltrials.gov/study/NCT06131398",
"title": "A Study of AMG 355 Alone and in Combination With Pembrolizumab in Participants With Advanced Solid Tumors",
"officialTitle": "A Phase 1 First-in-Human Study Evaluating ... AMG 355 ...",
"acronym": null,
"studyType": "INTERVENTIONAL",
"phase": "PHASE1",
"phases": ["PHASE1"],
"overallStatus": "COMPLETED",
"leadSponsor": "Amgen",
"leadSponsorClass": "INDUSTRY",
"sponsorMasked": false,
"collaborators": [],
"conditions": ["Advanced Solid Tumors"],
"interventions": [{"type": "DRUG", "name": "AMG 355"}, {"type": "DRUG", "name": "Pembrolizumab"}],
"interventionNames": ["AMG 355", "Pembrolizumab"],
"enrollment": 77,
"enrollmentType": "ACTUAL",
"startDate": "2024-03-07",
"startDateType": "ACTUAL",
"primaryCompletionDate": "2026-07-22",
"primaryCompletionDateType": "ACTUAL",
"completionDate": "2026-07-22",
"completionDateType": "ACTUAL",
"firstPostedDate": "2023-11-14",
"lastUpdateDate": "2026-08-11",
"hasResults": false,
"locationCount": 25,
"countries": ["Australia", "Canada", "France", "Japan", "Netherlands", "Poland", "South Korea", "Spain", "Switzerland", "Taiwan", "United States"],
"countryCount": 11,
"primaryOutcomes": [{"measure": "Number of Participants Who Experience a Dose Limiting Toxicity (DLT)", "timeFrame": "Day 1 to Day 21"}],
"changeType": "STATUS_CHANGED",
"previousStatus": "ACTIVE_NOT_RECRUITING",
"changedFields": ["overallStatus"],
"previousLastUpdateDate": "2026-05-02"
}

Dates are as registered: some are only a month (2016-07); *DateType says whether a date is ACTUAL or ESTIMATED. The change fields (changeType, previousStatus, previousDates, changedFields, previousLastUpdateDate) appear only in change-tracking mode. The run's OUTPUT record summarizes the run: matching trials, trials read and charged, and the count per changeType.

The dataset has two views: Overview and Changes.

How much does it cost?

Pay per event, no usage fees:

EventWhenSuggested price
apify-actor-startOnce per run (charged by Apify)US$ 0.00005
studyOnce per trial returnedUS$ 0.002
  • Normal mode: every returned trial is charged.
  • Change-tracking mode: only NEW, STATUS_CHANGED and DATES_CHANGED trials are charged. UNCHANGED trials are free, even with includeUnchanged. A weekly run over 2,000 tracked trials where 15 changed costs 15 events.
  • Errors are never charged. When your maximum charge per run is reached the Actor stops, and the trials it did not return are reported again on the next run.

The study price, US$ 0.002 (US$ 2 per 1,000), was set like this:

  • Apify compute costs US$ 0.20 per compute unit (1 CU = 1 GB of memory for 1 hour). The Actor runs with 256 MB; peak memory measured locally was 73 MB for 100 trials and 117 MB for 5,000 trials with a snapshot.
  • One API page holds up to 1,000 trials and the Actor waits 1.3 s between pages (the API allows about 50 requests per minute). Estimating 3 to 5 s per 1,000 trials on the platform, 1,000 trials use 0.25 GB × 5 s / 3,600 = 0.00035 CU = US$ 0.00007. Start-up (10 to 20 s) adds about US$ 0.0003 per run.
  • Apify keeps 20% of revenue (profit = 0.8 × revenue − platform costs), so US$ 0.002 leaves US$ 0.0016 per trial: a run that returns a single trial already pays its own start-up, and larger runs keep more than 95% margin. The margin is what pays for maintenance when the API changes.
  • Similar Actors in the Store charge about US$ 1 to US$ 15 per 1,000 trials and return every trial on every run. With change tracking, a scheduled watch list here costs only what actually changed.

$0.002 per study (study event, pay per event). Charged once per study returned (new or changed in monitor mode). Errors are free.

  • apify-actor-start: $0.00005 (Charged once when a run starts (Apify synthetic event).)
You getFree tierBronze tier (10% off)Gold tier (30% off)
100 studys$0.20$0.18$0.14
1,000 studys$2.00$1.80$1.40
10,000 studys$20.00$18.00$14.00

Discounts follow your Apify subscription tier: Bronze 10%, Silver 20%, Gold and above 30%. No subscription to this Actor and no charge for platform usage: you pay only for results. The Apify Free plan includes $5 of monthly credit, enough for about 2,500 studys at the list price. You can cap the cost of any run with Maximum cost per run; the Actor stops when it is reached.

Data source

ClinicalTrials.gov, the registry of clinical studies run by the U.S. National Library of Medicine (NLM) at the National Institutes of Health, through its official public API v2 (https://clinicaltrials.gov/api/v2/studies). No API key or login is needed. The Actor asks the API only for the fields it returns (fields=), never scrapes web pages, and pauses 1.3 s between pages to stay under the API's limit of about 50 requests per minute per IP. If the API refuses or does not answer, the run fails with a clear message and nothing is charged.

ClinicalTrials.gov data are provided by NLM at no charge to anyone in or outside the United States. Per the ClinicalTrials.gov terms, attribute the data to ClinicalTrials.gov when you use it, keep it current (every item carries lastUpdateDate and the study url), and do not claim NLM's endorsement. Study records are submitted by sponsors and investigators; NLM does not verify their scientific accuracy, and this dataset is not medical advice.

Personal data: the Actor does not collect contact names, e-mails, phone numbers or investigators, and reduces sites to their country. In sponsor-investigator studies, where the lead sponsor can be an individual, the person's name is replaced by their institution (or left empty) and sponsorMasked is true.

This Actor is not affiliated with or endorsed by NLM, NIH or ClinicalTrials.gov.

More questions

How fresh is the data?

Live: every run calls the official ClinicalTrials.gov API v2. Sponsors update their own records, so a status change shows up only after the sponsor posts it and the registry publishes it. lastUpdateDate on each trial tells you when its record last changed.

What does a date type of ACTUAL or ESTIMATED mean?

Each key date comes with a type. ESTIMATED is the sponsor's planned date and can still move; ACTUAL means it happened. DATES_CHANGED in change mode catches both slips and corrections, with the old values in previousDates.

Why did a trial disappear instead of showing STATUS_CHANGED?

Because it no longer matches your filters. If you filter on statuses: ["RECRUITING"], a trial that becomes COMPLETED drops out of the results. To follow status changes, leave statuses empty.

What happens if a run stops before reading every trial?

If a run stops at maxResults or at your spending limit, the snapshot is marked incomplete and the next run reads the whole search again instead of only recent updates, so no change is missed. On the first run, set maxResults above the number of matching trials.

Can I follow a fixed list of trials?

Yes. Put the NCT IDs in nctIds (for example your portfolio, a partner's or a competitor's trials) and clear condition, otherwise both filters apply together. Give the list its own snapshotName so it does not share a snapshot with other schedules.

Are investigators' names or contact details included?

No. Site contacts, investigators and site addresses are not requested from the API; only the site countries are kept. When a person is the sponsor or a collaborator (sponsor-investigator studies), the name is replaced by their institution or left empty, and sponsorMasked is true.

Does the API limit how much I can download?

ClinicalTrials.gov allows about 50 requests per minute per IP address. The Actor reads up to 1,000 trials per request, pauses between pages and retries on HTTP 429 or server errors. If the API keeps refusing, the run fails with a clear message; failed requests are never charged.

Can this tell me whether a trial is right for me or a patient?

No. The Actor copies registry records and gives no medical advice. Eligibility and safety questions belong with the study team listed on the ClinicalTrials.gov page (the url field) and with a doctor.

Use it via API

Run it from any language and get the results as JSON. Replace <YOUR_API_TOKEN> with your Apify API token.

curl -X POST "https://api.apify.com/v2/acts/br_data_hub~clinical-trials-tracker/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"condition": "obesity", "phases": ["PHASE3"], "statuses": ["RECRUITING"], "maxResults": 100}'
from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("br_data_hub/clinical-trials-tracker").call(run_input={'condition': 'obesity',
'phases': ['PHASE3'],
'statuses': ['RECRUITING'],
'maxResults': 100})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

You can also schedule runs, send results to webhooks, or connect the Actor to Make, Zapier, n8n, Google Sheets and other integrations.

Use it with AI agents (MCP)

This Actor is ready for AI agents: typed input and output schemas, pay-per-event pricing, limited permissions and short runs.

  • Apify MCP server: add https://mcp.apify.com/?tools=br_data_hub/clinical-trials-tracker to Claude, ChatGPT, Cursor, VS Code or any MCP client, and the agent can call this Actor as a tool.
  • Agent frameworks: call it from LangChain, LlamaIndex, CrewAI or the OpenAI Agents SDK through the Apify integrations, or with the API call above.
  • Results come as structured JSON with stable field names, documented in the Output tab.

FAQ

Where does the data come from?

ClinicalTrials.gov, the registry of clinical studies run by the U.S. National Library of Medicine (NLM) at the National Institutes of Health, through its official public API v2 (https://clinicaltrials.gov/api/v2/studies). No API key or login is needed. The Actor asks the API only for the fields it returns (fields=), never scrapes web pages, and pauses 1.3 s between pages to stay under the API's limit of about 50 requests per minute per IP. If the API refuses or does not answer, the run fails with a clear message and nothing is charged.

How much does it cost?

$0.002 per study. Discounts follow your Apify subscription tier: Bronze 10%, Silver 20%, Gold and above 30%. See How much does it cost? above for examples.

Do I pay for errors or empty results?

No. Charged once per study returned (new or changed in monitor mode). Errors are free.

Can I run it on a schedule or connect it to other tools?

Yes. Use Apify schedules to run it daily or weekly, webhooks to get notified, and integrations such as Make, Zapier, n8n and Google Sheets. Everything also works through the API.

Can AI agents use it?

Yes. It works as a tool in the Apify MCP server and in agent frameworks, and AI agents can pay per event. See Use it with AI agents (MCP).

The Actor reads only public sources. You are responsible for how you use the data and for complying with the source's terms and with privacy laws such as GDPR.

I found a bug or need a feature. What should I do?

Open an issue in the Issues tab. We answer within 14 days, usually much sooner.

More Actors from BR Data Hub

ActorWhat it does
Domain RDAP Lookup: modern WHOIS for any TLDBulk RDAP lookup on each TLD's official registry server (IANA bootstrap): registrar, creation, update and expi
Email Domain Auth Checker: SPF, DKIM, DMARC, BIMI, MTA-STSBulk check SPF (real recursive lookup count vs
CVE Risk Prioritizer, from NVD, CISA KEV and EPSS dataOne row per CVE built from public NVD (CVSS, CWE, affected products), CISA KEV (exploited, due date, ransomwar
Food, Drug & Device Recalls Monitor (from openFDA data)Food, drug and medical device recalls from the official openFDA enforcement API in one uniform format

See all our Actors at apify.com/br_data_hub.

Usar em português

Pesquise a API oficial do ClinicalTrials.gov por doença (condition), intervenção ou medicamento (intervention), patrocinador (sponsor), fase (phases), status (statuses), país (countries) e data de atualização (updatedSince). Cada estudo vem normalizado: NCT ID, título, fase, status, patrocinador e colaboradores, condições, intervenções, número de participantes, datas de início, conclusão primária e última atualização, número de centros e países, desfechos primários e link.

Ligue trackChanges e agende o Actor: ele guarda uma foto da busca num key-value store nomeado e marca cada estudo como NEW (novo), STATUS_CHANGED (mudou de status, por exemplo de RECRUITING para COMPLETED), DATES_CHANGED (datas mudaram) ou UNCHANGED. Nesse modo, só estudos novos ou alterados são devolvidos e cobrados. É feito para inteligência competitiva e business development em farma. A cobrança é pelo evento study; erros não são cobrados.

Quanto custa: $0.002 por resultado (study); 1.000 resultados saem por $2.00. Desconto pelo nível da assinatura Apify: Bronze 10%, Silver 20%, Gold ou acima 30%. Erros e consultas sem resultado não são cobrados. Use também pela API ou por agentes de IA no servidor MCP da Apify (https://mcp.apify.com/?tools=br_data_hub/clinical-trials-tracker).