ClinicalTrials.gov Scraper: Search Clinical Trials by Drug avatar

ClinicalTrials.gov Scraper: Search Clinical Trials by Drug

Pricing

$3.00 / 1,000 clinical study records

Go to Apify Store
ClinicalTrials.gov Scraper: Search Clinical Trials by Drug

ClinicalTrials.gov Scraper: Search Clinical Trials by Drug

Search ClinicalTrials.gov, the official registry of clinical studies, by condition, drug or intervention, sponsor, location, phase and recruitment status. One flat record per trial with dates, enrollment, sponsors, sites, eligibility and outcomes. Official API v2, no key. JSON, CSV or Excel.

Pricing

$3.00 / 1,000 clinical study records

Rating

0.0

(0)

Developer

Nexus Scrapers

Nexus Scrapers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Security

Limited permissions

Share

ClinicalTrials.gov Scraper - Search Clinical Trials by Drug, Condition or Sponsor

Search and export clinical studies from ClinicalTrials.gov as clean, flat JSON, CSV or Excel. Filter by condition, drug (intervention), sponsor, country or city, geographic radius, recruitment status, phase, study type and by start, completion or last-update dates, or fetch a list of NCT IDs. Each result has one record per study with titles, status, phases, conditions, interventions, sponsor and collaborators, enrollment, key dates, a capped list of sites with the total site count, an eligibility summary and a link. No API key, no proxy, no browser and no login needed.

The Actor reads the official ClinicalTrials.gov API v2 run by the U.S. National Library of Medicine. The default run returns the 20 most recently updated studies that are recruiting or about to recruit.

Who is it for

  • Pharma and biotech teams, CROs and investors tracking competitor pipelines: which sponsor runs which phase 2/3 trials, for which condition, where and since when.
  • Patient advocacy groups, clinicians and coordinators looking for recruiting trials near a place (country, city or radius) for a condition.
  • Researchers and analysts building datasets of trials by condition, sponsor class, phase or date, including which ones have results posted.
  • AI agents and MCP users: the input and dataset schemas describe every field, so an agent can answer "which phase 3 trials for X started this year?" in plain language.

What you get

One dataset item per study:

  • nctId, url, briefTitle, officialTitle, acronym, briefSummary
  • overallStatus (and whyStopped), phases, studyType
  • conditions and interventions (type + name)
  • leadSponsor with leadSponsorClass (industry, NIH, other...), collaborators
  • enrollment (with ACTUAL/ESTIMATED), startDate, primaryCompletionDate, completionDate, firstPostedDate, lastUpdatePostedDate
  • locationsCount, locationCountries and a capped locations list (facility, city, state, country, site status)
  • eligibility summary: minimumAge, maximumAge, ageGroups, sex, healthyVolunteers
  • hasResults: whether results are posted on ClinicalTrials.gov

Optional: the full eligibility criteria text (includeEligibilityCriteria), primary and secondary outcomes (includeOutcomes), and central contacts and study officials (includeContacts, off by default, see the FAQ). Full field reference in ./SCHEMA.md.

Input

All filters are optional and are combined with AND.

FieldDescription
condition, intervention, sponsorCondition/disease, drug or other intervention, lead sponsor or collaborator
searchTerm, titleSearchFree text over all fields, or only titles/acronyms (AND, OR, NOT and quotes supported)
country, cityLocation of at least one site (combined when both set)
latitude, longitude, radiusKmGeographic search: studies with a site within the radius (default 50 km)
overallStatusDefault Recruiting + Not yet recruiting. Pick others, or send an empty list for all statuses
phases, studyTypesEarly phase 1 to phase 4, N/A; interventional, observational, expanded access
onlyWithResultsOnly studies with posted results
startFrom/To, primaryCompletionFrom/To, completionFrom/To, firstPostedFrom/To, lastUpdateFrom/ToDate ranges, YYYY-MM-DD, either end optional
nctIdsList of NCT IDs (up to 1,000); the default status filter does not apply and maxItems is raised to the number of IDs
sortBylastUpdate (default, newest first), firstPosted, startDate, relevance
maxItemsMaximum results (default 20, maximum 10,000)
maxLocationsSites listed per study (default 10); the total is always in locationsCount
includeEligibilityCriteria, includeOutcomes, includeContactsOptional blocks, all off by default

Example: phase 3 oncology trials from industry sponsors in Italy, updated this year

{
"condition": "cancer",
"country": "Italy",
"phases": ["PHASE3"],
"studyTypes": ["INTERVENTIONAL"],
"lastUpdateFrom": "2026-01-01",
"maxItems": 100
}

Example: what is a sponsor running with a given drug

{ "sponsor": "Pfizer", "intervention": "vaccine", "overallStatus": [], "sortBy": "startDate", "maxItems": 50 }

Example: recruiting studies within 30 km of Milan

{ "condition": "diabetes", "latitude": 45.4642, "longitude": 9.19, "radiusKm": 30, "maxItems": 50 }

Example: look up specific studies with outcomes and eligibility text

{ "nctIds": ["NCT04000165", "NCT01205282"], "includeOutcomes": true, "includeEligibilityCriteria": true }

Output example

Shortened record (real data, 2026-11-04):

{
"schemaVersion": "1.0",
"nctId": "NCT07807280",
"url": "https://clinicaltrials.gov/study/NCT07807280",
"briefTitle": "C-Carbs: A CGM-guided Approach to Teaching Carb Awareness",
"overallStatus": "RECRUITING",
"phases": ["NA"],
"studyType": "INTERVENTIONAL",
"conditions": ["Type 1 Diabetes"],
"interventions": [{ "type": "BEHAVIORAL", "name": "C-Carbs Program" }],
"leadSponsor": "University of California, Los Angeles",
"leadSponsorClass": "OTHER",
"collaborators": [],
"enrollment": 40,
"enrollmentType": "ESTIMATED",
"startDate": "2026-11-16",
"primaryCompletionDate": "2028-05-31",
"completionDate": "2028-11-30",
"firstPostedDate": "2026-09-08",
"lastUpdatePostedDate": "2026-11-04",
"locationsCount": 1,
"locationCountries": ["United States"],
"locations": [{ "facility": "University of California Los Angeles", "city": "Los Angeles", "country": "United States" }],
"minimumAge": "18 Years",
"sex": "ALL",
"healthyVolunteers": false,
"hasResults": false
}

Use cases

  • Competitive pipeline monitoring: schedule the Actor with lastUpdateFrom set to yesterday and a sponsor or drug filter, and push new and changed studies to Slack, e-mail or a sheet.
  • Site and patient-recruitment search: recruiting trials by condition, country, city or radius.
  • Market and landscape research: counts and timelines by phase, sponsor class, condition or country; completion dates show when readouts are due.
  • Feeding AI agents with structured trial data.

Pricing

Pay only for the results you get. Set Maximum results (and the run's maximum cost) to control spending: the Actor stops as soon as either limit is reached. Runs that find no studies return no results and charge nothing. See the Pricing tab of this Actor for the current price.

API, MCP and AI agents

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("nexus-scrapers/clinical-trials-search").call(run_input={
"condition": "asthma", "phases": ["PHASE3"], "maxItems": 50,
})
for study in client.dataset(run["defaultDatasetId"]).iterate_items():
print(study["lastUpdatePostedDate"], study["nctId"], study["leadSponsor"], study["briefTitle"])
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('nexus-scrapers/clinical-trials-search').call({ intervention: 'semaglutide', maxItems: 50 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

MCP and AI agents. Add https://mcp.apify.com (with ?actors=nexus-scrapers/clinical-trials-search to load this Actor directly) to Claude, Cursor, VS Code or any MCP client, authorize with your Apify account and ask, for example, "Which phase 2 trials for Alzheimer's disease started in 2026?". Also works with LangChain, LlamaIndex, CrewAI and n8n through the Apify integrations.

FAQ

Do I need an API key? No. The ClinicalTrials.gov API is open and needs no registration.

Is the data official? Yes, it comes straight from the ClinicalTrials.gov API v2 (U.S. National Library of Medicine). Every record links to the study page.

Why do I get only recruiting studies by default? The most common question is what is open now. Choose other statuses in overallStatus, or send an empty list for all of them. When you pass nctIds, no status filter applies.

Does it include contact details? Not by default. Central contacts and study officials are names, e-mail addresses and phone numbers of individual staff, which are personal data under GDPR. Turn on includeContacts only if you have a lawful basis to process them. Even then only the contacts published in the study record are returned, never per-site contacts.

How many sites are listed? The total is always in locationsCount and the countries in locationCountries; the locations list is capped by maxLocations (default 10) because large trials have 100 or more sites.

Why is a date like 2026-08? Some records only publish year and month; the Actor passes dates through as published.

How fresh is the data? The Actor queries the registry live. Sponsors update their records continuously and the API data refreshes daily; each record has lastUpdatePostedDate.

How many results can I get? Up to 10,000 per run. For bigger exports, split by date range.

Can I get results data (outcome numbers, adverse events)? No. The Actor returns the protocol-level record and the hasResults flag; results are on the study page (url).

What do the phases mean? EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4; NA means not applicable (for example devices or behavioural studies). A phase 2/3 study lists both.

Data source, attribution and terms

Data come from ClinicalTrials.gov, a service of the U.S. National Library of Medicine at the National Institutes of Health, through its public API v2. ClinicalTrials.gov data are available to everyone at no charge under the site's Terms and Conditions (last updated 31 January 2023, read on 4 November 2026). If you publish or redistribute the data, those terms ask you to:

  • attribute the source as ClinicalTrials.gov;
  • keep the data current and clearly show the date it was processed by ClinicalTrials.gov (every record carries lastUpdatePostedDate);
  • state any modifications. This Actor only selects and flattens fields from the API's JSON: no values are rewritten, except that long lists of sites are capped (maxLocations) and locationsCount keeps the full number;
  • not claim proprietary rights over the data, and not use email addresses from the database for marketing or other promotional purposes. That is one reason contacts are off by default (includeContacts).

The data carry an international copyright outside the United States, and some records may be subject to third-party copyright. The registry gives no warranty on accuracy or completeness. This Actor is an independent tool, is not affiliated with or endorsed by NLM, NIH or the U.S. government, and its output is not medical advice or an invitation to enrol in a trial: always check the official study page and speak to a clinician. The Actor accesses the API politely (descriptive User-Agent, one request per second, back-off on HTTP 429).

Limitations

  • Only studies registered on ClinicalTrials.gov. Other registries (EU CTIS, ISRCTN, WHO ICTRP) are not covered.
  • Search matching (synonyms, relevance) is done by the registry; condition: "heart attack" also finds myocardial infarction studies.
  • country/city match sites; latitude/longitude only match sites for which the registry holds coordinates.
  • Results data, arm/group details and per-site contacts are not included.
  • Up to 10,000 studies per run.