Clinical Trials Protocol Scraper
Pricing
from $2.00 / 1,000 scraped results
Clinical Trials Protocol Scraper
Collect study ID, title, status, lead sponsor, summary, and direct study links. Supports status filtering, pagination, custom result limits, retry handling, and Apify Residential Proxy for reliable data collection.
Pricing
from $2.00 / 1,000 scraped results
Rating
0.0
(0)
Developer
Data Pilot
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
๐งฌ Clinical Trials Protocol Scraper is a powerful Apify Actor designed to discover, track, and collect clinical study data directly from ClinicalTrials.gov's own public API. This tool provides comprehensive Clinical Trials Protocol intelligence including protocol ID, study title, recruitment status, lead sponsor, brief summary, and a direct link to the full study record for any keyword. Whether you're building a medical research dashboard, tracking pharmaceutical pipeline activity, or conducting healthcare research, the Clinical Trials Protocol Scraper delivers actionable Clinical Trials Protocol insights efficiently.
With retry-resilient API querying, keyword-based full-text search, token-based pagination, and reliable Apify Dataset delivery, the Clinical Trials Protocol Scraper ensures comprehensive Clinical Trials Protocol coverage across any list of search keywords. It focuses on key Clinical Trials Protocol signals including overall status, sponsor, and study summary, making it an essential tool for medical research and pharmaceutical intelligence.
๐ Table of Contents
- Features
- Data Source
- How It Works
- Input
- Output
- Technical Stack
- Data Fields
- Use Cases
- Quick Start
- Configuration
- Performance
- Important Notes
- License & Legal
๐ฅ Features
- Direct API Access โ Queries ClinicalTrials.gov's official Studies API (v2) directly for fast, structured Clinical Trials Protocol data.
- Multi-Keyword Search โ Accepts any number of search keywords and scans matching studies for each.
- Status Filtering โ Optionally filters results by overall recruitment status (e.g., recruiting, completed, terminated).
- Token-Based Pagination โ Automatically pages through all available results using ClinicalTrials.gov's
nextPageTokenmechanism. - Retry-Resilient Requests โ Automatically retries on rate limits (429) and auth errors (401/403) with backoff delays.
- Structured Protocol Parsing โ Extracts NCT ID, title, status, lead sponsor, and summary from each study's protocol section.
- Direct Study Links โ Builds a clickable link to the full study record on ClinicalTrials.gov for every result.
- Residential Proxy Support โ Apify residential proxy for reliable Clinical Trials Protocol access.
- Configurable Result Cap โ Control how many studies are pulled per keyword.
- Incremental Dataset Push โ Pushes each batch of results to the Dataset as it's collected, not just at the end.
- Graceful Error Handling โ Skips a failing page or keyword without stopping the whole run.
๐ Data Source
ClinicalTrials.gov Public API (v2)
- Authority: The U.S. National Library of Medicine's official ClinicalTrials.gov Studies API (
clinicaltrials.gov/api/v2/studies) - Access Method: Browser-impersonated HTTP requests via
curl_cffi, run through an executor for async compatibility - Coverage: Any publicly listed Clinical Trials Protocol matching the given keyword and optional status filter
- Data: Structured JSON study records, including protocol identification, status, sponsor, and description modules
- Access: Public API, no API key required
- Update Frequency: Reflects ClinicalTrials.gov's current live registry at time of run
โ๏ธ How It Works
The Clinical Trials Protocol Scraper accepts a list of search keywords and an optional recruitment status filter, then queries ClinicalTrials.gov's Studies API for each keyword. For each keyword, the Actor pages through all available results using the API's page-token pagination, retrying automatically on rate limits or transient auth errors with increasing backoff delays. Every study record is normalized into a clean protocol entry, extracting the NCT ID, brief or official title, overall status, lead sponsor name, and brief summary from the study's protocol section, along with a direct link to the full record. Results are pushed to the Apify Dataset incrementally, batch by batch, as they're collected across all keywords.
Key Processing Steps:
- Input Parsing โ Accept a list of keywords (or a single keyword), an optional status filter, and a max result count
- Proxy Setup โ Configure Apify residential proxy for the impersonated HTTP session
- Keyword Loop โ Iterate through each Clinical Trials Protocol search keyword
- Search Request โ Query the Studies API with the keyword, page size, and optional status filter
- Retry Handling โ Back off and retry on rate limits (429) or auth errors (401/403)
- Study Normalization โ Extract NCT ID, title, status, lead sponsor, and summary from each study's protocol section
- Pagination โ Continue requesting subsequent pages using the returned page token until results or the max cap are exhausted
- Incremental Push โ Push each batch of normalized results to the Dataset as it's ready
- Rate Limiting โ Apply a short delay between paginated requests
Key Benefits:
- Pull Clinical Trials Protocol data for any keyword without manually searching the registry
- Filter directly by recruitment status to focus on active or completed studies
- Monitor multiple keywords or therapeutic areas in a single run
- Feed pharmaceutical intelligence dashboards, academic research pipelines, or patient-matching tools
- Automate recurring Clinical Trials Protocol checks as new studies are registered
๐ฅ Input
The Actor accepts the following input parameters:
| Field | Type | Default | Description |
|---|---|---|---|
keywords | array | ["cancer"] | List of search terms to scan for matching Clinical Trials Protocol entries. |
keyword | string | "cancer" | Optional single keyword, used if keywords is not provided. |
status | string | (none) | Optional overall status filter (e.g., "RECRUITING"); use "ALL" or omit for no filter. |
maxResults | integer | 100 | Maximum number of Clinical Trials Protocol records to collect per keyword. |
proxyConfiguration | object | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} | Apify proxy configuration for the search session. |
Example Input:
{"keywords": ["breast cancer", "immunotherapy"],"status": "RECRUITING","maxResults": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Search a Single Keyword:
{"keyword": "diabetes"}
Search Multiple Keywords Without a Status Filter:
{"keywords": ["Alzheimer's", "Parkinson's"],"status": "ALL"}
๐ค Output
The Actor pushes Clinical Trials Protocol records with the following structure:
| Field | Type | Description |
|---|---|---|
search_keyword | string | The keyword that matched this Clinical Trials Protocol result |
protocol_id | string | The study's NCT identification number |
title | string | Brief or official study title |
status | string | Overall recruitment status (e.g., "RECRUITING", "COMPLETED") |
lead_sponsor | string | Name of the study's lead sponsor organization |
summary | string | Brief summary of the study's purpose and design |
link | string | Direct URL to the full study record on ClinicalTrials.gov |
scraped_at | string | ISO 8601 timestamp of when the record was scraped |
Example Clinical Trials Protocol Record:
{"search_keyword": "breast cancer","protocol_id": "NCT05123456","title": "A Phase 2 Study of Novel Combination Therapy in Advanced Breast Cancer","status": "RECRUITING","lead_sponsor": "Example Oncology Research Institute","summary": "This study evaluates the safety and efficacy of a combination treatment regimen in patients with advanced breast cancer...","link": "https://clinicaltrials.gov/study/NCT05123456","scraped_at": "2026-08-13T09:00:00+00:00"}
๐งฐ Technical Stack
- HTTP Client:
curl_cffiwith Chrome impersonation for reliable access to the ClinicalTrials.gov API - Concurrency:
asynciowith an executor bridge for running the impersonated client asynchronously - Date Handling:
datetimewith timezone-aware UTC timestamps - Proxy: Apify Proxy with
RESIDENTIALconfiguration by default - Logging: Apify Actor logging system
- Platform: Apify Actor serverless environment
๐ Data Fields Explained
Protocol Identity
- protocol_id: The unique NCT number assigned to the study by ClinicalTrials.gov
- title: The study's brief title, falling back to the official title when needed
Study Details
- status: The study's current overall recruitment status
- lead_sponsor: The organization sponsoring and leading the study
- summary: A brief description of the study's purpose and design
Access
- link: Direct link to view the full Clinical Trials Protocol record on ClinicalTrials.gov
- search_keyword: The keyword that surfaced this result, for traceability across multi-keyword runs
๐ฏ Use Cases
- Pharmaceutical Intelligence โ Track competitor or industry-wide trial activity for a given condition or drug class
- Academic Research โ Study trial design, sponsor activity, and recruitment trends at scale
- Patient & Advocacy Support โ Surface actively recruiting studies relevant to a specific condition
- Investor Research โ Monitor a biotech or pharma company's trial pipeline via lead sponsor tracking
- Regulatory & Compliance Research โ Reference registered protocol details for a given therapeutic area
- Media Monitoring โ Source primary trial data for health and science journalism
๐ Quick Start
1. Prepare Input
Go to Apify Console and enter:
{"keywords": ["cancer"]}
2. Run the Actor
Click Start. The Actor will:
- Search ClinicalTrials.gov for each keyword, applying any status filter
- Page through all matching results using token-based pagination, retrying on rate limits automatically
- Normalize each study into a clean Clinical Trials Protocol record
- Push batches to the Dataset incrementally as they're collected
3. Monitor Progress
Console shows:
[1/1] Searching ClinicalTrials.gov for: 'cancer'Saved 100 protocols for 'cancer' (Progress: 100/100)๐ Scraping completed! Total 100 clinical trial protocols saved to dataset.
4. View & Download Results
- Results Tab: All Clinical Trials Protocol records
- Export: JSON, CSV, Excel, or HTML
- Filter: By status or lead sponsor
- API Access: Available via the Apify API
โ๏ธ Configuration
Single keyword search:
{"keyword": "diabetes"}
Multiple keywords with status filter:
{"keywords": ["immunotherapy", "gene therapy"],"status": "RECRUITING","maxResults": 200}
No status filter (all trial states):
{"keywords": ["cancer"],"status": "ALL"}
๐ Performance
Processing Speed
- One or more paginated requests per keyword, depending on total result volume and
maxResults - 0.3 second delay between paginated requests to stay within fair-use expectations
- Automatic retry backoff (up to 3 attempts) on rate limits or transient errors
Resource Usage
- Memory: Low, since no browser instance is launched
- Network: Multiple lightweight JSON requests per keyword, scaling with result volume
- Proxy: One residential proxy tunnel shared across the impersonated session for the run
โ ๏ธ Important Notes
Legal & Compliance
- Fair Use: Applies pacing delays between paginated requests to the public API
- Public Data Only: Retrieves only publicly registered Clinical Trials Protocol data already indexed by ClinicalTrials.gov
- Legal: Not legal advice โ consult qualified professionals before using this data for compliance-sensitive decisions; not intended to support individual medical decisions
Data Quality
- Freshness: Reflects ClinicalTrials.gov's current live registry at time of run
- Completeness: Field availability depends on what each study's protocol section includes; some studies may have limited descriptions
- Accuracy: Sourced directly from the official ClinicalTrials.gov API
- Verification: Cross-check high-stakes protocol details against the live ClinicalTrials.gov website
Best Practices
- Use specific keywords to keep result volume manageable and relevant
- Apply a
statusfilter to focus on actively recruiting or completed studies as needed - Re-run periodically to catch newly registered or updated protocols
- Increase
maxResultsfor broader keyword coverage, keeping pagination volume in mind - Search multiple related keywords in one run to broaden therapeutic area coverage
๐ License & Legal
Terms of Use:
- Use for legitimate research, academic, and pharmaceutical intelligence purposes
- Respect ClinicalTrials.gov's Terms of Use
- Use Clinical Trials Protocol data responsibly and in compliance with applicable laws
- Not a substitute for professional medical advice
Disclaimer: Clinical Trials Protocol Scraper is provided as-is for research and analytics purposes. Users are responsible for compliance with ClinicalTrials.gov's terms and all applicable laws. This is not legal or medical advice.
โ๏ธ Clinical Trials Protocol Excellence
This Actor is optimized for Clinical Trials Protocol research with:
- โ Direct, official ClinicalTrials.gov API access โ no HTML scraping fragility
- โ Retry-resilient requests with automatic backoff
- โ Full token-based pagination across all matching results
- โ Multi-keyword search with optional status filtering
- โ Incremental Dataset push
- โ Production-ready code