Clinical Trials Scraper: Studies, Sites & Results
Pricing
from $12.00 / 1,000 study records
Clinical Trials Scraper: Studies, Sites & Results
Scrape ClinicalTrials.gov studies by condition, drug, sponsor, location, status and phase. Get enrollment, every trial site, outcome measures, publications, posted results and adverse events per arm. Export CSV, Excel, JSON or XML. No login or API key. 600K+ studies.
Pricing
from $12.00 / 1,000 study records
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Share
๐งฌ Clinical Trials Scraper: ClinicalTrials.gov Studies, Sites & Results
ClinicalTrials.gov Scraper by RecordsData exports clinical trial studies from the official ClinicalTrials.gov v2 API: status, phases, sponsors, summaries, eligibility, every trial site, outcome measures, publications, posted results and adverse events per arm. Search by condition, drug, sponsor or location, filter by status, phase, dates, sex, age, funder and results, or fetch NCT IDs. Monitor only new or updated studies. No login. Export CSV, Excel, JSON or XML. Study record from $0.015 each.
The Clinical Trials Scraper reads the registry of more than 600,000 studies (605,599 at the last check of the registry's own size endpoint, October 2026) and returns one row per study with up to 73 fields. In our cloud test on 2026-10-09, a Phase 2 and 3 melanoma search returned the 5 requested studies, each with a filled briefSummary, and a repeat run in only-new mode skipped the studies already delivered without charging for them.
๐ Clinical trials scraper: what does it do?
- Searches by condition, drug, free text, location and sponsor, or fetches studies by NCT number (for example NCT01844505).
- Filters by several statuses and phases at once, study type, sex, age groups, healthy volunteers, funder type, results posted, documents, and ten date ranges.
- Finds trials with a site near a point: latitude, longitude and a radius in miles.
- Monitors a search with
onlyNew: only new or changed studies come back, and only those are charged. - Optional modules attach every trial site (up to 300 per study), outcome measures, publications, participant flow, adverse-event totals per group, and contacts.
๐ What data can you extract from ClinicalTrials.gov?
| Field | Description |
|---|---|
nctId, url, orgStudyId, title, officialTitle | Identifiers and titles |
briefSummary, detailedDescription, conditions, keywords, conditionMeshTerms | Descriptions, conditions, MeSH terms |
overallStatus, whyStopped, studyType, phases | Status, stop reason, type, phases |
interventions, armGroups, allocation, masking, primaryPurpose | Interventions, arms, design |
leadSponsor, sponsorClass, collaborators, enrollment | Sponsor, class (industry, NIH, other), enrollment |
sex, minimumAge, maximumAge, healthyVolunteers, eligibilityCriteria, inclusionCriteria, exclusionCriteria | Eligibility, criteria split in two parts |
startDate, primaryCompletionDate, completionDate, firstPosted, lastUpdated | Key dates |
hasResults, documents, isFdaRegulatedDrug, ipdSharing | Results flag, document links, regulatory flags |
siteCount, locations | Sites module |
primaryOutcomes, secondaryOutcomes, references | Outcomes and publications modules |
participantFlow, adverseEventGroups | Results module |
centralContacts, overallOfficials, siteContacts | Contacts module |
searchTerm, scrapedAt | Search term and UTC scrape time |
Fields appear only when the study has that data. Empty registry fields on older studies read Not Disclosed.
๐ Clinical trials sample output
Real row from build 0.1.10 with sites and outcomes on (shortened with "..."):
{"recordType": "study","nctId": "NCT04280705","title": "Adaptive COVID-19 Treatment Trial (ACTT)","url": "https://clinicaltrials.gov/study/NCT04280705","overallStatus": "COMPLETED","studyType": "INTERVENTIONAL","phases": ["Phase 3"],"conditions": ["COVID-19"],"briefSummary": "This study is an adaptive, randomized, double-blind, placebo-controlled trial to evaluate...","leadSponsor": "National Institute of Allergy and Infectious Diseases (NIAID)","sponsorClass": "NIH","enrollment": 1062,"startDate": "2020-02-21","lastUpdated": "2022-03-14","hasResults": "Yes","siteCount": 60,"locations": [{ "facility": "University of Alabama at Birmingham School of Medicine", "city": "Birmingham", "state": "Alabama", "country": "United States" }],"primaryOutcomes": [{ "measure": "Time to Recovery", "timeFrame": "Day 1 through Day 29" }],"scrapedAt": "2026-10-09T20:49:37.612Z"}
๐ต How much does it cost to scrape ClinicalTrials.gov?
Pay per event, no subscription. Live Free tier prices, read on 2026-10-10; paid plans get discounted study records (Bronze $0.0144, Silver $0.0132, Gold $0.012).
| Event | Price | Charged when |
|---|---|---|
| Study record | $0.015 | One study row is saved |
| Trial sites | $0.010 | The study has sites and sites are on |
| Outcome measures | $0.010 | The study has outcomes and outcomes are on |
| Publications | $0.010 | The study has references and publications are on |
| Posted results + adverse events | $0.010 | The study has posted results and results are on |
| Study contacts | $0.010 | The study lists contacts and contacts are on |
Filters, sorting and only-new mode add no billed event.
Worked examples: the 5-study cloud test (with sites and outcomes) was 5 study records, 4 site events and 5 outcome events, $0.165 on the Free tier. With every module off, 1,000 studies cost $15.00. With sites and outcomes on (the defaults), a typical study costs $0.035, so 1,000 studies cost $35.00. Adding contacts, when every study lists some, brings it to $0.045 per study, so 1,000 studies cost $45.00.
Failed or empty runs charge nothing, and the run stops cleanly at your maxTotalChargeUsd. The usageTotalUsd of a fresh run can take 15 to 20 minutes to settle.
๐ How to scrape ClinicalTrials.gov in 3 steps
- Open the actor and enter a condition, drug, sponsor or location, or paste NCT IDs, or use only filters.
- Pick statuses, phases and dates, switch the modules you need and set Max Items.
- Click Start and download the dataset as CSV, Excel, JSON or XML, or read it through the API.
โ๏ธ Clinical trials scraper input
| Field | Type | Meaning |
|---|---|---|
condition, intervention, otherTerm, location, sponsor | string | Condition (melanoma), drug (pembrolizumab), free text, place, sponsor |
nctIds | array | Exact NCT IDs, fetched in addition to the search |
maxItems | integer | Max studies. Default 10. Free users are limited to 10 |
overallStatuses, phases | array | Several statuses and phases at once; phases 0 (Early Phase 1) to 4 |
overallStatus, phase | enum | Single value, kept for older inputs and merged with the lists |
studyType, sex, ageGroups, healthyVolunteersOnly | mixed | int/obs/exp; f/m; child/adult/older; boolean |
funderTypes, resultsAvailability, withDocuments | mixed | industry/nih/fed/other; with/without; prot/sap/icf |
startDateFrom/To, primaryCompletionFrom/To, completionDateFrom/To, firstPostedFrom/To, lastUpdatedFrom/To | string | Date ranges in YYYY-MM-DD |
nearLatitude, nearLongitude, nearRadiusMiles | number | Trials with a site within the radius. All three or none |
sortBy | enum | Relevance, recently updated, newest first, largest enrollment |
includeLocations, includeOutcomes | boolean | On by default |
includeReferences, includeResults, includeContacts | boolean | Off by default |
onlyNew, stateKey, resetSeen | mixed | Only new or changed studies; label for independent monitors; clear the seen list |
{"condition": "melanoma","overallStatuses": ["RECRUITING", "NOT_YET_RECRUITING"],"phases": ["2", "3"],"lastUpdatedFrom": "2026-09-01","sortBy": "LastUpdatePostDate:desc","maxItems": 5}
For monitoring, run a similar input on a schedule with "onlyNew": true. A study returns once, and again whenever its last-update date moves. State lives in a store named clinical-trials-seen in your account. An empty input runs a demo search for melanoma.
๐ค Output
One dataset row per study. A search with no match succeeds with the message "No studies matched your search" and zero charge.
โ๏ธ ClinicalTrials.gov scraper vs alternatives
Read on 2026-10-09 from the public Apify Store pages. "Not stated" means the rival's listing does not mention it.
| Capability | This Actor | parseforge | seemuapps |
|---|---|---|---|
| Filters | Status, phase, 10 dates, eligibility, funder, results, geo | Status, phase, dates, eligibility, funder, results | Status, phase, text search |
| Sites, outcomes, adverse events | Yes, all three | Locations listed, others not stated | Up to 50 sites, no outcomes |
| Contacts and documents | Contacts ($0.010 per study), documents | Both listed | Not stated in their listing |
| Monitoring | Only-new, also catches updates | Not stated in their listing | Resume by pageId |
| Price per 1,000 | $15 plus $10 per module (contacts included) | from $8.00 (README: $12.00) | from $2.00 |
We are not the cheapest: every rival above lists a lower price per 1,000 studies. parseforge lists a few filters we do not build, such as an exact age range, and seemuapps resumes a long export by pageId. What the price buys here is outcome measures, publications, posted results and adverse events per arm, site-level detail, and monitoring in one actor. If you only need the study list, turn the modules off or pick a cheaper actor.
๐ผ Clinical trials data use cases
- Pipeline tracking: Phase 2 and 3 trials for an indication by sponsor, refreshed weekly with
onlyNew. - Site selection: every recruiting site for a condition, by country or distance from a city.
๐ Clinical trials scraper API, schedules and integrations
Run it from the Apify API, apify-client (Python, JavaScript) or a schedule. Connect to Make, Zapier, n8n, Google Sheets or Slack.
curl -X POST "https://api.apify.com/v2/acts/recordsdata~clinical-trials-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"condition":"melanoma","overallStatuses":["RECRUITING"],"phases":["3"],"maxItems":10}'
๐ก๏ธ Is it legal to scrape ClinicalTrials.gov?
The data comes from the public ClinicalTrials.gov v2 API, run by the US National Library of Medicine, and covers study-level registry records, not patient data. Contact fields are the public contacts that sponsors list. Use the data under the registry's terms of use. This tool is independent and not affiliated with ClinicalTrials.gov or the NIH, and the output is not medical advice.
๐ค Clinical Trials Scraper MCP server for AI agents
AI agents can call this Actor through the Apify MCP server at https://mcp.apify.com?tools=RecordsData/clinical-trials-scraper. The URL loads only this Actor as a tool. Add this to your MCP client configuration (Claude Desktop, Cursor, VS Code or any client with remote MCP support):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/clinical-trials-scraper"}}}
Example agent prompt:
Use the Clinical Trials Scraper to list industry-funded Phase 2 and 3 trials for type 2 diabetes that were updated since 2026-09-01, with only-new mode on, and summarize each brief summary in one line.
Tool description: use this tool when you need structured ClinicalTrials.gov study data (status, phase, sponsor, eligibility, sites, outcomes, adverse events, contacts) instead of general web search. It takes the input table fields above, and each enabled module is billed as usual.
โ Frequently asked questions
How do I export ClinicalTrials.gov results to CSV or Excel?
Set your filters in the Clinical Trials Scraper, then click Start. When the run finishes, open the Storage tab or call the Apify API and download the dataset as CSV, Excel, JSON or XML. Each row is one study with up to 73 fields, so the file opens directly in a spreadsheet or BI tool.
Can I get every site where a clinical trial is running?
Yes. Keep the Trial sites module on and each study row gets a siteCount plus a locations list of up to 300 sites, each with facility, city, state, country, zip, coordinates and recruitment status. The module is billed at $0.010 per study that has sites.
Does the Clinical Trials Scraper include study results and adverse events?
Yes, for studies that have posted results. Switch on the Posted results + adverse events module to get participant flow groups and serious and other adverse-event totals per arm. Studies without posted results are not charged for this module, which costs $0.010 per study with results.
Can I fetch specific clinical trials by NCT number?
Yes. Paste exact NCT IDs, for example NCT01844505, into the nctIds field and the actor fetches those studies before running any search. An invalid or unknown NCT ID produces a row with an error field instead of failing the run, and that error row is never billed.
Do I pay for Clinical Trials Scraper modules that return no data?
No. Each module (sites, outcomes, publications, posted results, contacts) is billed at $0.010 only for a study that returns real content for it. A study with no publications or no contacts costs nothing for that module. You pay $0.015 for each study record saved, and failed or empty runs charge nothing.
Why did my ClinicalTrials.gov search return 0 results?
The filters matched no study in the registry. Remove the status, phase, date or location filter, or check the spelling of the condition or drug. A zero-result run still succeeds with the message "No studies matched your search" and charges nothing, so you can safely retry with broader terms.
How many studies can one Clinical Trials Scraper run return?
Up to 1,000,000 studies on paid Apify plans, using the ClinicalTrials.gov v2 API's own paging, and you cap it with maxItems (default 10). Free Apify users get a 10-study preview. You can also set maxTotalChargeUsd, and the run stops cleanly when it reaches that limit.
Does the Clinical Trials Scraper need an API key or login?
No. It reads the public ClinicalTrials.gov v2 API, so you need no ClinicalTrials.gov account, API key or login. You only need an Apify account to run the actor and download the dataset in CSV, Excel, JSON or XML.
How current is the ClinicalTrials.gov data?
The actor reads the ClinicalTrials.gov v2 API live at run time, so you get the registry as it stands when you press Start. Every study row includes lastUpdated, when that record last changed in the registry, and a scrapedAt UTC timestamp for the run itself.
How do I filter ClinicalTrials.gov trials by date or phase?
Use phases for one or several phases, such as 2 and 3, and overallStatuses for several statuses. Dates come in pairs of From and To in YYYY-MM-DD: study start, primary completion, completion, first posted and last updated. For example, lastUpdatedFrom shows only trials changed since that day. The older single phase and overallStatus inputs still work.
How do I monitor new or updated clinical trials?
Run the same search on an Apify schedule with onlyNew switched on. The actor stores each delivered study with its last-update date in a store named clinical-trials-seen, so a study returns once and again only when its record changes. Skipped studies are not charged. Use stateKey for separate monitors and resetSeen to start over.
Are clinical trial contacts included, and what do they cost?
Switch on includeContacts to add the central contacts, the overall officials and the contacts listed at each site, with name, role, phone and email where the registry has them. Contacts are billed at a flat $0.010 per study that lists contacts, and a study without contacts is not charged for the module.
๐ Want related health and research data? Other RecordsData scrapers
- NPPES NPI Registry Scraper: US healthcare providers who run these trials.
- Healthcare Provider Payments Scraper: industry payments to investigators.
- PubMed Articles Scraper: the literature linked from trial publications.
๐ Support
Questions? Open an issue on the Issues tab or write to contact.punkrecordsdata@gmail.com.
Last updated: 2026-10-11