ClinicalTrials.gov Scraper — Biotech Trials & PI Emails
Pricing
$4.00 / 1,000 extracted clinicaltrials.gov records
ClinicalTrials.gov Scraper — Biotech Trials & PI Emails
Extract clinical studies from ClinicalTrials.gov API v2. Captures NCT ID, trial status, phase, lead biotech sponsor, conditions, interventions & Principal Investigator / Central Contact emails & phones.
Pricing
$4.00 / 1,000 extracted clinicaltrials.gov records
Rating
0.0
(0)
Developer
PROOFNEXA
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract clinical studies from ClinicalTrials.gov API v2. Captures NCT ID, trial status, phase, lead biotech sponsor, conditions, interventions & Principal Investigator / Central Contact emails & phones.
1. Architecture & Extraction Pipeline
- Extraction Mechanism: Directly extracts Central Contact & Principal Investigator names, emails, and phone numbers from contactsLocationsModule for biotech/CRO B2B lead generation.
- Proxy Overhead: None required for standard runs. Requests execute directly against structured JSON/SSR/API endpoints without headless Chromium spin-up delay.
- Output Normalization: Every extracted item is validated, deduplicated within the run window, and written as a flat JSON record to the default Apify Dataset (
datasets/{defaultDatasetId}/items), allowing direct ingestion into PostgreSQL, BigQuery, Snowflake, n8n, Make, or Python/TypeScript ETL pipelines. - Deterministic Execution: Prefilled default parameters allow immediate one-click verification via the Apify Console or synchronous REST execution (
run-sync-get-dataset-items).
2. Verified Production Dataset Sample
The following JSON record was captured directly from a live production execution of vivid_astronaut/clinicaltrials-gov-scraper on Apify Cloud:
[{"platform": "clinicaltrials.gov","nctId": "NCT04447651","briefTitle": "Patient Response to Immunotherapy Using Spliceosome Mutational Markers (PRISMM)","overallStatus": "ACTIVE_NOT_RECRUITING","leadSponsorName": "Sidney Kimmel Comprehensive Cancer Center at Johns Hopkins","leadSponsorClass": "OTHER","centralContactName": null,"centralContactRole": null,"centralContactPhone": null,"centralContactEmail": null,"conditions": ["Metastatic Solid Tumor","SF3B1 Gene Mutation","Spliceosome Mutation","U2AF1 Gene Mutation","SRSF2 Gene Mutation"],"url": "https://clinicaltrials.gov/study/NCT04447651","scrapedAt": "2026-10-29T08:32:22.389Z"},{"platform": "clinicaltrials.gov","nctId": "NCT03515551","briefTitle": "Safety and Efficacy of IMCnyeso in Advanced NY-ESO-1 and/or LAGE-1A Positive Cancers","overallStatus": "TERMINATED","leadSponsorName": "Immunocore Ltd","leadSponsorClass": "INDUSTRY","centralContactName": null,"centralContactRole": null,"centralContactPhone": null,"centralContactEmail": null,"conditions": ["Select Advanced Solid Tumors"],"url": "https://clinicaltrials.gov/study/NCT03515551","scrapedAt": "2026-10-29T08:32:22.389Z"}]
3. Input Parameter Specification
| Parameter | Type | Default | Technical Specification |
|---|---|---|---|
queries | array | ["oncology", "glp-1", "immunotherapy"] | Enter Disease, Drug, or Biotech Sponsor Search Terms to extract structured records. |
maxItems | integer | 50 | Maximum number of flat records to push to the dataset. |
Example Input Payload (application/json)
{"queries": ["oncology","glp-1","immunotherapy"],"maxItems": 50}
4. Measured Runtime & Unit Economics
| Metric | Measured Value | Notes |
|---|---|---|
| Container Memory Allocation | 256 MB | Lightweight Node.js 20 container (apify@^3.2.6) |
| Median Execution Latency | 1.95 s | Cold start to dataset commit for default batch |
| External Proxy Requirement | $0.00 | No residential proxy bandwidth surcharge required |
| Primary Billing Event | certificate-checked | Charged strictly per committed dataset record |
| Unit Price (Pay-Per-Event) | $0.0040 / record | Equivalent to $4.00 per 1,000 records |
5. Production Integration (cURL, Python, Claude Code MCP)
5.1 Synchronous REST Execution (cURL)
Run the Actor synchronously and return the extracted JSON dataset array in a single HTTP request:
curl -s -X POST \"https://api.apify.com/v2/acts/vivid_astronaut~clinicaltrials-gov-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["oncology", "glp-1", "immunotherapy"], "maxItems": 50}'
5.2 Python Pipeline Integration (urllib.request)
import jsonimport osimport urllib.requestAPIFY_TOKEN = os.environ["APIFY_TOKEN"]url = ("https://api.apify.com/v2/acts/vivid_astronaut~clinicaltrials-gov-scraper/"f"run-sync-get-dataset-items?token={APIFY_TOKEN}")payload = {"queries": ["oncology","glp-1","immunotherapy"],"maxItems": 50}req = urllib.request.Request(url,data=json.dumps(payload).encode("utf-8"),headers={"Content-Type": "application/json"},method="POST",)with urllib.request.urlopen(req, timeout=120) as resp:records = json.loads(resp.read().decode("utf-8"))print(f"Extracted {len(records)} records from clinicaltrials-gov-scraper")
5.3 Claude Code / Cursor MCP Configuration (.mcp.json)
Expose vivid_astronaut/clinicaltrials-gov-scraper as a callable tool inside Claude Code, Cursor, or any Model Context Protocol client:
{"mcpServers": {"apify-clinicaltrials-gov-scraper": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","vivid_astronaut/clinicaltrials-gov-scraper"],"env": {"APIFY_TOKEN": "YOUR_APIFY_TOKEN"}}}}