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.008 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 — see inputs, outputs, and pricing, then run it on Apify.
Airbnb Scraper: Listing Prices, Ratings, and Availability Without the API
Airbnb has no public listings API. Here's how to pull nightly price, rating, superhost status and coordinates from Airbnb search results using Python.
Maps Leads: Verified Email Extraction from Google Maps Business Listings
How to pull B2B leads from Google Maps with MX-verified emails, past the official API's 120-result cap, and pay only for contactable businesses.
Realtor.com Scraper: Property and Agent Data Without the MLS Paywall
Scrape Realtor.com listings in Python — price, beds, baths, county, and the listing agent + brokerage office on every record. No login, no API key.