ClinicalTrials.gov Scraper
Pricing
from $2.50 / 1,000 results
ClinicalTrials.gov Scraper
[π° $2.50 / 1K] Extract clinical trials from ClinicalTrials.gov: titles, conditions, interventions, sponsors, status, phase, eligibility, locations, dates, and results. Search by condition, treatment, sponsor, or location.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Share
Pull complete study records from ClinicalTrials.gov at scale β titles, sponsors, conditions, interventions, eligibility criteria, every trial site, outcome measures, and registry dates, structured into one clean row per trial. Search the full 601,000-study US registry by condition, treatment, sponsor, or location, or fetch exact trials by NCT ID. Built for medical researchers, pharma competitive-intelligence teams, and patient-recruitment analysts who need a structured clinical-trials dataset without copying records off the registry one page at a time.
Why This Scraper?
- Covers the entire 601,000-study registry β search every interventional, observational, and expanded-access trial ClinicalTrials.gov holds, or pull the whole database in one run with
maxResults: 0. - Filter across all 14 recruitment statuses β Recruiting, Not yet recruiting, Enrolling by invitation, Active not recruiting, Completed, Suspended, Terminated, Withdrawn, and six more, picked as plain-English labels in the input form and returned as the registry's own status codes.
- Six-bucket phase filter including NA β Early Phase 1 through Phase 4, plus the Not-applicable bucket that captures the behavioral, device, and procedure trials most tools miss. Phase applies to interventional trials only, so leave this filter empty to keep observational studies in.
- Five free-text search axes that combine β keyword, condition, treatment/intervention, sponsor, and location work together to narrow a search instead of forcing one query box.
- Full eligibility detail as the registry records it β minimum age, maximum age where the trial sets one, eligible sex, healthy-volunteer flag, and the complete inclusion/exclusion criteria text.
- Every trial site, not just a count β facility name, city, ZIP, country, state on every US site, and live per-site recruitment status on actively recruiting trials, plus enrollment count.
- Primary and secondary outcome measures β every entry names its measure, with the time frame on 98% of them and the registry's description wherever one was filed, alongside official + brief titles, lead sponsor, sponsor class, and collaborating organizations.
- Direct fetch by NCT ID or study URL β paste known trials (e.g.
NCT04368728) to skip search and pull exact records, with results-availability flag on each.
Use Cases
Medical & Academic Research
- Build structured datasets for systematic reviews and meta-analyses
- Track every trial for a condition across phase, sponsor, and status
- Capture full inclusion/exclusion criteria for evidence synthesis
- Pull primary and secondary outcome measures across a therapeutic area
Pharma Competitive Intelligence
- Monitor a competitor's pipeline by sponsor and phase
- Map the trial landscape for a drug, device, or mechanism of action
- Track new registrations sorted by most-recently-posted date
- Compare enrollment counts and collaborators across rival programs
Patient Recruitment & CRO Operations
- Find recruiting trials near a site by combining condition and location
- Filter to trials accepting healthy volunteers for early-phase recruitment
- Surface sites by facility, city, and state for feasibility outreach
- Identify Not-yet-recruiting trials to plan upcoming enrollment
Investment & Market Due Diligence
- Size a market by counting trials per condition, phase, and sponsor class
- Track a biotech's active programs and completion dates
- Flag trials with posted results for outcome-readiness signals
- Watch the most-recently-updated trials for pipeline movement
Getting Started
Search by Condition
The simplest way to start β one disease and a result cap:
{"condition": "breast cancer","maxResults": 100}
Recruiting Trials Near a Location
Combine a condition, a recruitment status, and a place:
{"condition": "diabetes","location": "Boston","status": ["RECRUITING"],"maxResults": 200}
Fetch Specific Trials by NCT ID
Already know the trials you want? Paste IDs or study URLs:
{"studyUrls": ["NCT04368728","https://clinicaltrials.gov/study/NCT04280705"]}
Full-Featured Search
Most filters populated, sorted by newest registration:
{"searchTerm": "immunotherapy melanoma","intervention": "pembrolizumab","sponsor": "Merck","status": ["RECRUITING", "ACTIVE_NOT_RECRUITING"],"studyType": ["INTERVENTIONAL"],"phase": ["PHASE2", "PHASE3"],"sex": "ALL","sortBy": "first_posted","maxResults": 500}
Input Reference
What to Search
| Parameter | Type | Default | Description |
|---|---|---|---|
searchTerm | string | "" | Free-text keyword search across the whole trial record (e.g. "immunotherapy melanoma"). |
condition | string | "" | Medical condition or disease studied (e.g. "diabetes", "breast cancer"). |
intervention | string | "" | Treatment, drug, device, or procedure being tested (e.g. "aspirin", "insulin"). |
sponsor | string | "" | Organization sponsoring or funding the trial β matches lead sponsors and collaborators (e.g. "Pfizer", "National Cancer Institute"). |
location | string | "" | Where the trial takes place β a city, state, or country (e.g. "Boston", "Germany"). |
Or Fetch Specific Trials
| Parameter | Type | Default | Description |
|---|---|---|---|
studyUrls | string[] | [] | Study URLs or NCT IDs to fetch directly (e.g. NCT04368728). When set, the search filters are ignored. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string[] | [] | Recruitment status, as registry codes β RECRUITING, COMPLETED, TERMINATED, and 11 more. Empty includes every status. |
studyType | string[] | [] | INTERVENTIONAL, OBSERVATIONAL, or EXPANDED_ACCESS. Empty includes all types. |
phase | string[] | [] | EARLY_PHASE1, PHASE1βPHASE4, or NA (not applicable). Only interventional trials carry a phase, so setting this filter returns no observational or expanded-access studies. Empty includes all phases. |
sex | select | ALL | Eligible sex β ALL (any), FEMALE, or MALE. |
healthyVolunteers | boolean | false | When on, only trials that accept healthy volunteers. |
Output Options
| Parameter | Type | Default | Description |
|---|---|---|---|
sortBy | select | relevance | Order results by relevance, last_updated (most recently updated), first_posted (most recently posted), or enrollment (largest first). |
maxResults | integer | 100 | Most trials to return. Set to 0 to return every matching trial (can be hundreds of thousands β use with care). |
Output
Each row is one complete trial record. Here's a real result, trimmed for length:
{"nctId": "NCT04368728","briefTitle": "Study to Describe the Safety, Tolerability, Immunogenicity, and Efficacy of RNA Vaccine Candidates Against COVID-19 in Healthy Individuals","officialTitle": "A PHASE 1/2/3, PLACEBO-CONTROLLED, RANDOMIZED, OBSERVER-BLIND, DOSE-FINDING STUDY TO EVALUATE THE SAFETY, TOLERABILITY, IMMUNOGENICITY, AND EFFICACY OF SARS-COV-2 RNA VACCINE CANDIDATES AGAINST COVID-19 IN HEALTHY INDIVIDUALS","organization": "BioNTech SE","overallStatus": "COMPLETED","studyType": "INTERVENTIONAL","phases": ["PHASE2", "PHASE3"],"enrollmentCount": 46969,"leadSponsor": "BioNTech SE","sponsorClass": "INDUSTRY","collaborators": ["Pfizer"],"conditions": ["SARS-CoV-2 Infection", "COVID-19"],"interventions": [{ "type": "BIOLOGICAL", "name": "BNT162b1", "description": "Intramuscular injection", "armGroupLabels": ["10 Β΅g dose, 18-55 years of age (2 doses)", "30 Β΅g dose, 18-55 years of age (2 doses)"] }],"briefSummary": "This is a Phase 1/2/3, randomized, placebo-controlled, observer-blind, dose-finding, vaccine candidate-selection, and efficacy study in healthy individuals...","sex": "ALL","minimumAge": "12 Years","healthyVolunteers": true,"eligibilityCriteria": "Inclusion Criteria: Male or female participants between the ages of 18 and 55 years, inclusive, 65 and 85 years, inclusive, or β₯12 years, inclusive, at randomization...","startDate": "2020-04-29","completionDate": "2023-02-10","primaryCompletionDate": "2023-02-10","firstPostedDate": "2020-04-30","lastUpdatePostedDate": "2026-03-25","locations": [{ "facility": "North Alabama Research Center, LLC", "city": "Athens", "state": "Alabama", "zip": "35611", "country": "United States" }],"primaryOutcomes": [{ "measure": "Percentage of Participants With Local Reactions Within 7 Days After Dose 1: Phase 1", "timeFrame": "Within 7 days after Dose 1" }],"secondaryOutcomes": [{ "measure": "Geometric Mean Titers (GMTs) of Severe Acute Respiratory Syndrome Coronavirus 2 Neutralizing Titers: Phase 1", "timeFrame": "7, 21 days after Dose 1; 7, 14 days and 1, 6 months after Dose 2" }],"hasResults": true,"url": "https://clinicaltrials.gov/study/NCT04368728","scrapedAt": "2026-09-03T20:20:33.072008+00:00"}
Fields with no value are omitted, not set to null β a trial that sets no maximum age has no maximumAge field at all (about half of them don't), so read fields defensively with something like row.get("maximumAge") rather than row["maximumAge"], and expect blank cells in the CSV and Excel exports. Dates arrive exactly as the registry records them, so startDate, completionDate, and primaryCompletionDate are sometimes a year and month (2020-04) rather than a full date.
Identity & Status
| Field | Type | Description |
|---|---|---|
nctId | string | NCT identifier (unique trial ID) |
briefTitle | string | Short public title |
officialTitle | string | Full official title |
acronym | string | Study acronym |
organization | string | Sponsoring organization name |
overallStatus | string | Current recruitment status, as a registry code β RECRUITING, COMPLETED, NOT_YET_RECRUITING, TERMINATED, ACTIVE_NOT_RECRUITING, WITHDRAWN, ENROLLING_BY_INVITATION, SUSPENDED, UNKNOWN, and five more |
studyType | string | Study type, as a registry code β INTERVENTIONAL, OBSERVATIONAL, or EXPANDED_ACCESS |
phases | string[] | Trial phase(s), as registry codes β EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4, NA. Present on interventional trials only |
url | string | Public study page URL |
scrapedAt | string | ISO-8601 timestamp of extraction, UTC with microseconds |
Conditions, Interventions & Sponsors
| Field | Type | Description |
|---|---|---|
conditions | string[] | Conditions or diseases studied |
interventions | object[] | Interventions β type, name, description, arm-group labels, and other names |
leadSponsor | string | Lead sponsor name |
sponsorClass | string | Sponsor class (NIH, INDUSTRY, OTHER, etc.) |
collaborators | string[] | Collaborating organizations |
enrollmentCount | integer | Number of participants enrolled |
Eligibility & Description
| Field | Type | Description |
|---|---|---|
sex | string | Eligible sex (ALL, FEMALE, MALE) |
minimumAge | string | Minimum eligible age (e.g. "18 Years") |
maximumAge | string | Maximum eligible age, when the trial sets one |
healthyVolunteers | boolean | Whether the trial accepts healthy volunteers |
eligibilityCriteria | string | Full inclusion/exclusion criteria text |
briefSummary | string | Brief plain-language summary |
detailedDescription | string | Detailed description (when present) |
Locations & Outcomes
| Field | Type | Description |
|---|---|---|
locations | object[] | Trial sites β facility, city, state, ZIP, country, and per-site status on actively recruiting trials |
primaryOutcomes | object[] | Primary outcome measures β measure (always), time frame, and description where the trial filed one |
secondaryOutcomes | object[] | Secondary outcome measures β measure (always), time frame, and description where the trial filed one |
hasResults | boolean | Whether study results have been posted |
Dates
| Field | Type | Description |
|---|---|---|
startDate | string | Study start date β 2020-04-29, or 2020-04 when the trial registered only a month |
completionDate | string | Study completion date β full date or year-month |
primaryCompletionDate | string | Primary completion date β full date or year-month |
firstPostedDate | string | Date first posted on the registry β always a full date |
lastUpdatePostedDate | string | Date last updated on the registry β always a full date |
Tips for Best Results
- Start small β set
maxResultsto 50β100 on your first run to confirm the data matches your needs, then scale up or set0for everything. - Combine condition and location to find recruiting trials near a site β pair
condition,location, andstatus: ["RECRUITING"]for ready-to-contact feasibility lists. - Leave the phase filter empty to keep observational studies β only interventional trials carry a phase, so any phase selection,
NAincluded, returns interventional studies only. Reach forNAwhen you want the behavioral, device, and procedure trials that never get a drug phase. - Sort by most recently posted for pipeline monitoring β
"sortBy": "first_posted"surfaces brand-new registrations first, ideal for competitive-intelligence alerts. - Filter by sponsor class through the sponsor field β search a funder name like "National Cancer Institute" to isolate government-funded work, or a pharma name to map an industry pipeline.
- Skip search entirely for known trials β paste NCT IDs into
studyUrlsto pull exact records; the search filters are ignored in that mode. - Layer filters to narrow large conditions β broad terms like "cancer" return tens of thousands of trials, so add phase, status, or study-type filters to focus the dataset.
Pricing
From $2.50 per 1,000 results β undercuts the going rate for full-registry clinical-trials extraction. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.30 | $0.28 | $0.27 | $0.25 |
| 1,000 | $3.00 | $2.80 | $2.65 | $2.50 |
| 10,000 | $30.00 | $28.00 | $26.50 | $25.00 |
| 100,000 | $300.00 | $280.00 | $265.00 | $250.00 |
A "result" is any trial row in the output dataset. No compute or time-based charges β you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n β Workflow automation
- Google Sheets β Direct spreadsheet export
- Slack / Email β Notifications on new results
- Webhooks β Trigger custom workflows on run completion
- Apify API β Full programmatic access
Legal & Ethical Use
ClinicalTrials.gov is a public information resource provided by the U.S. National Library of Medicine, and the trial records it holds are public U.S. government data. This actor is designed for legitimate medical research, competitive analysis, patient-recruitment, and due-diligence use. You are responsible for complying with applicable laws and the ClinicalTrials.gov terms of use. Always verify clinical details against the official record before relying on them for medical or regulatory decisions.