ClinicalTrials.gov Scraper – Condition, Phase & Site Mode
Pricing
$1.50 / 1,000 result items
ClinicalTrials.gov Scraper – Condition, Phase & Site Mode
Scrape ClinicalTrials.gov's official NIH API: condition, intervention, sponsor, location, status, type and phase filters. Optional one-row-per-site mode for site-selection. No contact PII shipped, ever. $0.0015/result, no start fee.
Pricing
$1.50 / 1,000 result items
Rating
0.0
(0)
Developer
Fetch Smith
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Pulls studies from ClinicalTrials.gov, the US NIH/NLM registry of clinical trials, using its own official API v2 — no API key, no login, no proxy. 602,520+ studies covered.
What you get
25 flat fields per study, including the ones most ClinicalTrials.gov Actors skip:
| Field | Why it matters |
|---|---|
rowsPerStudy: "site" mode | One row per trial site instead of one per study — facility name, city, state, country and lat/lon, so a site-selection or patient-recruitment buyer doesn't have to explode the array themselves. A study averages 5 sites (max seen: 110), so this mode returns roughly 5x more billable rows for the same query. |
phases, studyType, overallStatus | Filterable and returned flat, not nested. |
enrollmentCount, sex, minimumAge, maximumAge, healthyVolunteers | The eligibility snapshot without parsing free-text criteria. |
hasResults | Whether the trial has posted a results section — filterable via hasResultsOnly. |
interventions | Type + name for every drug/device/procedure arm. |
studyUrl | Direct link to the public study page. |
We do not ship contact people, phone numbers or emails — ever. ClinicalTrials.gov's own API returns named individuals and personal email addresses in centralContacts/location contacts (we found a real @gmail.com in a live sample). Several competitor Actors resell that as a "contact finder." We deliberately drop it; locations/site carries facility, city, state, country and geo-coordinates only.
Who uses this
- Pharma / CRO business development tracking competitor trials by condition or sponsor.
- Site-selection teams finding which facilities run trials for a given condition (
rowsPerStudy: "site"). - Investor / market research watching a sponsor's pipeline by phase and status.
- Patient-advocacy and recruitment groups finding actively recruiting trials near a location.
Input
{"conditions": "breast cancer","overallStatus": ["RECRUITING"],"phases": ["PHASE3"],"maxResults": 100}
| Input | Notes |
|---|---|
nctIds | Comma/space/newline-separated NCT IDs (e.g. NCT04368728, NCT03854955) for a direct lookup by ID instead of a search — what other Actors call "search by direct URL". Exclusive mode: when set, every filter below is ignored (so a mixed batch of unrelated trials all come back), and a malformed or nonexistent ID is dropped individually with a named warning instead of failing the whole batch. |
conditions / interventions / sponsors / locations | Free-text, each maps to the API's own query.cond / query.intr / query.spons / query.locn. ANDed together. |
searchQuery | General free-text search across titles, outcomes and eligibility text. |
overallStatus | e.g. RECRUITING, COMPLETED, TERMINATED. All 14 official values supported. |
studyTypes | INTERVENTIONAL, OBSERVATIONAL, EXPANDED_ACCESS. |
phases | EARLY_PHASE1..PHASE4, NA. Only meaningful for interventional studies — about 1 in 5 studies overall have no phase at all. |
hasResultsOnly | Only studies with a posted results section. |
rowsPerStudy | "study" (default) or "site". |
maxResults | Up to 50,000. Token-based paging, no offset wall. |
Sample output (rowsPerStudy: "study")
{"nctId": "NCT04137653","briefTitle": "Treatment of Triple-negative Breast Cancer With Albumin-bound Paclitaxel as Neoadjuvant Therapy","overallStatus": "RECRUITING","studyType": "INTERVENTIONAL","phases": ["PHASE3"],"enrollmentCount": 1498,"leadSponsor": "Shengjing Hospital","conditions": ["Breast Cancer"],"interventions": [{"type": "DRUG", "name": "nab-Paclitaxel+carboplatin"}],"locationCount": 1,"studyUrl": "https://clinicaltrials.gov/study/NCT04137653"}
The pageSize trap
Ask the API for pageSize=1001 and it doesn't 400 — it silently returns 200 with only 1000 rows, no warning. This Actor always clamps to 1000 and pages with the API's own nextPageToken, which has no offset wall (5,000+ unique rows walked in one run during testing, no rate limiting).
Pricing
$0.0015 per result, no Actor-start fee. The 41-user Store leader in this niche charges $0.16 to start plus $0.012/result — about 8x more per row, with a start fee we don't charge at all. 1,000 studies costs $1.50 here vs. $12.16 there.
FAQ
I already have a list of NCT IDs — can I just fetch those?
Yes, set nctIds (e.g. "NCT04368728, NCT03854955") instead of the search filters. ClinicalTrials.gov's own API 400s the entire request if even one ID in a batch is malformed or doesn't exist — we've verified this live and handle it for you: bad IDs are dropped individually with a named warning, and the rest of your batch still comes back.
Why did I get zero rows?
Filters are ANDed — combining a narrow condition, sponsor and location at once often genuinely matches nothing. Drop one filter and retry. Also, phases only applies to interventional studies with a phase assigned; pairing it with studyTypes: ["OBSERVATIONAL"] always returns nothing.
Are phases, maximumAge and collaborators always present?
No. Measured on a live 50-study sample: phases populated on ~70%, maximumAge on ~48%, collaborators on ~24%. Don't treat a missing value as a scraping error — most studies genuinely don't set these fields.
Does this return contact names, phone numbers or emails?
No, by design — see above. If you need to contact a trial's coordinator, use the studyUrl to view the listing directly on ClinicalTrials.gov.
Is this legal? Yes. ClinicalTrials.gov is run by the US National Library of Medicine and publishes this API for public reuse. All returned data (excluding the contact fields we deliberately drop) is public-interest study/sponsor/site metadata, not personal data about trial participants.