ClinicalTrials Sponsor Intelligence: Pharma Pipeline Tracking with FDA Approval Cross-Reference
Track clinical trials by sponsor name or condition, with optional cross-referencing against FDA drug approvals to identify which interventions received regulatory clearance.
The actor referenced in this article. Pay only for results delivered.
Tracking a pharma company’s pipeline from ClinicalTrials.gov requires filtering by sponsor, pulling phase and status data per trial, and then separately checking FDA drug approval records to see which programs advanced to market. The ClinicalTrials Sponsor Intel actor handles all of this in a single run.
What makes it different from a bulk export
The ClinicalTrials Bulk Exporter gives you raw trial records filtered by condition or phase. The Sponsor Intel actor is purpose-built for competitive pipeline work. It queries by lead sponsor, optionally cross-references each completed trial against the FDA drug approval database, and flags which interventions subsequently received regulatory clearance.
Output fields
Each record returns:
nct_id: ClinicalTrials.gov identifiertitle: study titlephase: trial phaseoverall_status: COMPLETED, TERMINATED, RECRUITING, etc.start_dateandcompletion_dateresults_first_posted: when the sponsor posted results (if at all)lead_sponsor: lead sponsor organization namefda_approved: true/false (whencrossRefFDAis enabled)fda_approval_date: approval date if found
Python example
import requests, time
run = requests.post(
"https://api.apify.com/v2/acts/themineworks~clinicaltrials-sponsor-intelligence/runs",
headers={"Authorization": f"Bearer {APIFY_TOKEN}"},
json={
"sponsor": "Pfizer",
"condition": "oncology",
"status": "COMPLETED,TERMINATED",
"crossRefFDA": True,
"maxResults": 100
}
)
run_id = run.json()["data"]["id"]
while True:
r = requests.get(
f"https://api.apify.com/v2/actor-runs/{run_id}",
headers={"Authorization": f"Bearer {APIFY_TOKEN}"}
)
if r.json()["data"]["status"] in ("SUCCEEDED", "FAILED"):
break
time.sleep(5)
trials = requests.get(
f"https://api.apify.com/v2/actor-runs/{run_id}/dataset/items",
headers={"Authorization": f"Bearer {APIFY_TOKEN}"}
).json()
approved = [t for t in trials if t.get("fda_approved")]
print(f"{len(approved)} of {len(trials)} trials led to FDA approval")
Parameters
| Parameter | Default | Notes |
|---|---|---|
sponsor | required | Lead sponsor name (partial match supported) |
condition | - | Narrow to a specific indication |
status | COMPLETED,TERMINATED | Comma-separated status values |
crossRefFDA | true | Cross-reference against FDA approval database |
maxResults | 100 | Maximum trial records to return |
Pipeline success rate analysis
import pandas as pd
df = pd.DataFrame(trials)
df["completion_date"] = pd.to_datetime(df["completion_date"], errors="coerce")
# Approval rate by phase
by_phase = df.groupby("phase")["fda_approved"].agg(["sum", "count"])
by_phase["approval_rate"] = by_phase["sum"] / by_phase["count"]
print(by_phase)
# Time from completion to approval
approved_df = df[df["fda_approved"] == True].copy()
approved_df["approval_lag_days"] = (
pd.to_datetime(approved_df["fda_approval_date"]) - approved_df["completion_date"]
).dt.days
print(approved_df["approval_lag_days"].describe())
Use cases
Competitive intelligence. Map a competitor’s full pipeline by phase, indication, and success rate. Identify which programs are in Phase 3 and how many have converted to approvals historically.
Due diligence. Before licensing or acquiring a drug candidate, pull the sponsor’s full trial history with FDA outcomes to benchmark their regulatory track record.
Market entry analysis. Identify indications where multiple sponsors have completed trials but FDA approval rates are low. This signals opportunity or signals a hard indication depending on the reason.
Investor research. Track pipeline depth and clinical success rates across a sponsor portfolio. A sponsor with 40 completed trials and 3 approvals tells a different story than one with 10 trials and 4 approvals.
Pricing
$0.0025 per trial. The FDA cross-reference step is included in that price. Empty runs are not charged.
Available on Apify.
Explore the scraper referenced in this article: inputs, outputs, and pricing, then run it on Apify.
GitHub Repo Intelligence: Vet Any Dependency Before You Add It
Pull stars, forks, contributors, commit recency, latest release and full README for any public GitHub repo in one call. No token required, MCP-ready for agents doing dependency checks.
Bilibili Scraper: Video, Creator and Search Data in Python
Pull Bilibili videos by keyword, URL or creator ID: titles, view and like counts, duration, author stats. Plain HTTP, no cookies, no login required.
SEEK Jobs Scraper: Australian Job Listings in Python
How to pull SEEK.com.au job listings by keyword, location, work type and salary band in Python: title, company, salary range, apply link, no login or API key.