SwarmIncToolsAPIsFree LLM APIsSupport

REST API · JSON · through RapidAPI

ClinicalTrials.gov Study Monitor API

Studies from the official ClinicalTrials.gov API v2 for a condition, phase and status, returning only the studies whose status, phase, enrollment or last update changed since your last run.

Read from the official source when you call (clinicaltrials.gov); no personal data. GET /v1/clinical-trials-monitor answers {"product", "count", "items", "fetched_at"}.

Get a key on RapidAPI  plans and pricing are on the listing; one key covers every endpoint.

Parameters

ParameterTypeWhat it doesExample
conditionstringDisease or condition to follow (for example breast cancer, type 2 diabetes, Alzheimer)."breast cancer"
phasestringStudy phase to follow. One of: EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4."PHASE2"
statusstringRecruitment status to follow. One of: RECRUITING, NOT_YET_RECRUITING, ACTIVE_NOT_RECRUITING, ENROLLING_BY_INVITATION, COMPLETED, TERMINATED, WITHDRAWN, SUSPENDED."RECRUITING"
updated_sincestringOnly studies whose record was last updated on or after this date (YYYY-MM-DD)."2025-01-01"
limitintegerAt most this many results (1–1000, default 100).20

What each result holds

FieldType
nct_idid
titletext
sponsortext
phaselist
statustext
enrollmentinteger
start_datedate
completion_datedate
last_update_datedate
conditionslist
lead_interventiontext
first_countrytext

Call it

With curl:

curl -G "https://clinical-trials-eu-tenders-open-data-api.p.rapidapi.com/v1/clinical-trials-monitor" \
  --data-urlencode 'condition=breast cancer' \
  --data-urlencode phase=PHASE2 \
  --data-urlencode status=RECRUITING \
  --data-urlencode updated_since=2025-01-01 \
  --data-urlencode limit=20 \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: clinical-trials-eu-tenders-open-data-api.p.rapidapi.com"

With Python (pip install requests):

import os, requests

r = requests.get(
    "https://clinical-trials-eu-tenders-open-data-api.p.rapidapi.com/v1/clinical-trials-monitor",
    params={'condition': 'breast cancer',
 'phase': 'PHASE2',
 'status': 'RECRUITING',
 'updated_since': '2025-01-01',
 'limit': 20},
    headers={"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"], "X-RapidAPI-Host": "clinical-trials-eu-tenders-open-data-api.p.rapidapi.com"},
    timeout=120,
)
for item in r.json()["items"]:
    print(item)

For code and AI agents that pick tools at run time, GET /v1/products lists every endpoint with its parameters and fields.

Questions

How fresh is it? Each call reads the official source then; an identical query within 15 minutes is answered from a cache.

What if the source is down? The answer says so: a 502, or "partial": true when only some of its requests failed.