Clinical Trials Scraper: Studies, Sites & Results avatar

Clinical Trials Scraper: Studies, Sites & Results

Pricing

from $12.00 / 1,000 study records

Go to Apify Store
Clinical Trials Scraper: Studies, Sites & Results

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

RecordsData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

RecordsData

๐Ÿงฌ 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?

FieldDescription
nctId, url, orgStudyId, title, officialTitleIdentifiers and titles
briefSummary, detailedDescription, conditions, keywords, conditionMeshTermsDescriptions, conditions, MeSH terms
overallStatus, whyStopped, studyType, phasesStatus, stop reason, type, phases
interventions, armGroups, allocation, masking, primaryPurposeInterventions, arms, design
leadSponsor, sponsorClass, collaborators, enrollmentSponsor, class (industry, NIH, other), enrollment
sex, minimumAge, maximumAge, healthyVolunteers, eligibilityCriteria, inclusionCriteria, exclusionCriteriaEligibility, criteria split in two parts
startDate, primaryCompletionDate, completionDate, firstPosted, lastUpdatedKey dates
hasResults, documents, isFdaRegulatedDrug, ipdSharingResults flag, document links, regulatory flags
siteCount, locationsSites module
primaryOutcomes, secondaryOutcomes, referencesOutcomes and publications modules
participantFlow, adverseEventGroupsResults module
centralContacts, overallOfficials, siteContactsContacts module
searchTerm, scrapedAtSearch 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).

EventPriceCharged when
Study record$0.015One study row is saved
Trial sites$0.010The study has sites and sites are on
Outcome measures$0.010The study has outcomes and outcomes are on
Publications$0.010The study has references and publications are on
Posted results + adverse events$0.010The study has posted results and results are on
Study contacts$0.010The 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

  1. Open the actor and enter a condition, drug, sponsor or location, or paste NCT IDs, or use only filters.
  2. Pick statuses, phases and dates, switch the modules you need and set Max Items.
  3. Click Start and download the dataset as CSV, Excel, JSON or XML, or read it through the API.

โš™๏ธ Clinical trials scraper input

FieldTypeMeaning
condition, intervention, otherTerm, location, sponsorstringCondition (melanoma), drug (pembrolizumab), free text, place, sponsor
nctIdsarrayExact NCT IDs, fetched in addition to the search
maxItemsintegerMax studies. Default 10. Free users are limited to 10
overallStatuses, phasesarraySeveral statuses and phases at once; phases 0 (Early Phase 1) to 4
overallStatus, phaseenumSingle value, kept for older inputs and merged with the lists
studyType, sex, ageGroups, healthyVolunteersOnlymixedint/obs/exp; f/m; child/adult/older; boolean
funderTypes, resultsAvailability, withDocumentsmixedindustry/nih/fed/other; with/without; prot/sap/icf
startDateFrom/To, primaryCompletionFrom/To, completionDateFrom/To, firstPostedFrom/To, lastUpdatedFrom/TostringDate ranges in YYYY-MM-DD
nearLatitude, nearLongitude, nearRadiusMilesnumberTrials with a site within the radius. All three or none
sortByenumRelevance, recently updated, newest first, largest enrollment
includeLocations, includeOutcomesbooleanOn by default
includeReferences, includeResults, includeContactsbooleanOff by default
onlyNew, stateKey, resetSeenmixedOnly 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.

CapabilityThis Actorparseforgeseemuapps
FiltersStatus, phase, 10 dates, eligibility, funder, results, geoStatus, phase, dates, eligibility, funder, resultsStatus, phase, text search
Sites, outcomes, adverse eventsYes, all threeLocations listed, others not statedUp to 50 sites, no outcomes
Contacts and documentsContacts ($0.010 per study), documentsBoth listedNot stated in their listing
MonitoringOnly-new, also catches updatesNot stated in their listingResume 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}'

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.

๐Ÿ†˜ Support

Questions? Open an issue on the Issues tab or write to contact.punkrecordsdata@gmail.com.

Last updated: 2026-10-11