How Trialytic Works
A plain-language explanation of every data source, statistical model, and metric used in this platform — no code, just the science.
The dataset
Every study registered on ClinicalTrials.gov, standardised and linked to the published literature and to FDA post-market data. Refreshed monthly. Sources and attribution are on the About page.
| What | Count |
|---|---|
| Registered trials | 598,703 |
| Trials with reported results | 79,694 (13.3%) |
| Outcome analyses — effect sizes, CIs, p-values | 314,867 |
| Adverse-event records | 3,261,986 |
| Linked trial publications | 285,267 |
| Publications with extracted outcome directions | 117,320 |
| Trial-site coordinates | 633,608 |
| Molecules with FDA identity, approval and recall status | 1,095 |
| Molecules with post-market safety profiles | 2,000 |
| Molecules carrying a boxed warning | 359 |
| Pharmacologic classes | 369 |
| Device types with post-market safety data | 287 |
Only 13.3% of trials have reported results. That is the real world, not a gap here: trials that terminated, are still running, or were withdrawn usually have none. FDAAA 801 requires results within 12 months of completion; compliance is widely imperfect.
- ›Each trial holds two records: the protocol (what was planned — design, eligibility, endpoints, sites) and the results (what happened — participant flow, outcomes, adverse events).
- ›Condition and intervention names are mapped to MeSH, so 'NSCLC' and 'Non-Small Cell Lung Cancer' resolve to one disease. Drug names are normalised across INN and USAN, so 'paracetamol' and 'acetaminophen' resolve to one molecule.
The tools
| Tool | Question it answers |
|---|---|
| Competitive intelligence | Who runs trials in this indication, at what phase, and how do they end? |
| Trial detail | Everything recorded about one trial, plus its publications and post-market context. |
| Trial outcome predictor | Does this protocol resemble trials that completed or terminated — and how long is it likely to run? |
| Meta-analysis | What does the pooled evidence across these trials say? |
| Protocol benchmarker | Is this enrollment, duration and site count normal for comparable trials? |
| Molecules and devices | Post-market safety, labelling and regulatory history for one product. |
| Pharmacologic classes | Every molecule in a class, its combined trial landscape and relative safety. |
| Sponsors | A company's full trial history, completion rate and drug portfolio. |
Facts are public: searching trials, molecules, devices and sponsors needs no account. The predictor, meta-analysis, benchmarker and export need one — a small daily allowance on Free, no cap on Pro.
How the numbers are computed
Meta-analysis — DerSimonian–Laird random effects
Each study's standard error is back-calculated from its reported 95% CI, studies are weighted by precision, and between-study heterogeneity (τ²) is estimated and added to the weights rather than assumed away.
SE_i = (CI_upper − CI_lower) / (2 × 1.96) v_i = SE_i² w_i = 1 / (v_i + τ²)
θ_RE = Σ(w_i × θ_i) / Σ(w_i) I² = max(0, (Q − df) / Q) × 100%
I² is the share of variation that is real disagreement rather than sampling noise. Above ~50% the forest plot matters more than the pooled diamond. Publication-bias risk uses Egger's test, which needs about ten studies to mean anything.
Trial outcome predictor
Gradient-boosted trees (XGBoost) over 31 protocol and sponsor features, trained on trials that have resolved. The label is COMPLETED versus TERMINATED — not efficacy, not approval. Sponsor and indication history enter as out-of-fold, shrunk rates, so a sponsor with two trials is not treated like one with 500. Every prediction carries SHAP attributions. A second model returns expected duration as a range, because its typical error is around ten months and a single figure would imply precision it does not have.
Features that leak the answer are excluded. Actual duration, dropout rate and reached enrollment are only knowable after a trial ends. The model ranks protocols by resemblance to past outcomes; it does not know whether a drug works.
FDA approval outlook
For a novel molecule already in Phase 3 and not yet approved, a modelled probability of eventual FDA approval against a 44.5% base rate. Every input is clipped to what was knowable at the molecule's first Phase 3 — an unclipped version scored far higher by reading the future, since approved drugs go on to run more trials and failed ones stop. Temporally validated: trained only on the past, tested on later programmes. It refuses to answer for molecules already approved, where the outcome is known.
Post-market safety signals
Adverse-event reports are counted per drug and reaction, then scored by disproportionality — whether a reaction is reported more often for this drug than across the whole reporting system.
PRR = [a / (a + b)] / [c / (c + d)] signal when PRR ≥ 2, a ≥ 3 and χ² ≥ 4
Report counts are reporting volume, not incidence and not causation. There is no denominator, reporting is voluntary, duplicates exist, and a drug in the news gets reported more. Hypothesis-generating only.
The API
Everything the site does is an HTTP API, and it is the same API the site itself calls. Point Claude, a notebook or a script at it and you can work through 598,000 trials, the FDA drug and device layer, sponsors and targets without opening the app. Reading these docs needs no account; issuing a key is part of Pro.
Authentication
Create a key on your account page, then send it as a bearer token. Keys start with tk_ and are shown once — only a hash is stored, so a lost key is replaced rather than recovered. A key authenticates as your account, and it can be revoked without touching your password or your browser sessions.
curl -H "Authorization: Bearer tk_your_key_here" \ "https://trialytic.ai/api/v1/landscape/search?condition=psoriasis&phase=PHASE3&limit=100"
What you can call
| Path | What it returns |
|---|---|
| /api/v1/landscape/search | Trial search — condition, intervention, target, phase, status, sponsor, year, enrollment, results and publication filters. |
| /api/v1/landscape/summary | Aggregates for the same query: by phase, by status, top sponsors, timeline, publication and outcome coverage. |
| /api/v1/landscape/{nct_id} | One trial in full, including outcomes, arms and linked publications. |
| /api/v1/fda/drug/{name} | Molecule: approval status, recalls, shortages, label sections, FAERS totals and PRR-ranked signals. |
| /api/v1/fda/drug/{name}/compare | Comparative safety against pharmacologic-class peers. |
| /api/v1/fda/device/{name} | Device: MAUDE event profile, 510(k)/PMA history, recalls, problem-code signals. |
| /api/v1/fda/class/{name} | Every molecule in a pharmacologic class with its combined trial landscape. |
| /api/v1/sponsors/profile?name= | A sponsor's full trial history, completion rate and drug portfolio. |
| /api/v1/targets/{symbol} | A molecular target: member drugs, trial landscape and safety. |
| /api/v1/publications/trial/{nct_id} | Papers linked to a trial, with extracted outcome direction and effect sizes. |
| /api/v1/meta-analysis/run | DerSimonian–Laird pooled estimate, heterogeneity, Egger test and forest data. |
| /api/v1/predict/success | Completion probability for a protocol, with SHAP factor attribution. |
| /api/v1/benchmarker/compare | Enrollment, duration and site count against comparable historical trials. |
Every endpoint accepts the same filters as the equivalent page in the app, and returns the same JSON that page renders — so anything you can see in the product you can fetch.
Rate limits and paging
| Free | Pro | Team | |
|---|---|---|---|
| API requests per day | Not included | 1,000 | 5,000 |
| Rows per page | — | 100 | 100 |
| Furthest offset | — | 25,000 | 25,000 |
| Export rows per file | 100 | 1,000 | 25,000 |
The daily budget is a rolling 24-hour window, not a calendar reset, so a job that starts late in the evening does not lose its allowance at midnight. Over budget returns 429 with the time the window frees up.
The 100-row page cap is deliberate and applies to every plan. Analysis and aggregates are generous — a summary over 50,000 trials is one call — but nobody pulls the whole database in one request. Ask a question and the answer arrives in one response; ask for the corpus and you page for it.
Errors
| Status | Meaning |
|---|---|
| 401 | Missing or invalid key. |
| 402 | Your plan does not include this feature. The body carries the current plan and an upgrade link. |
| 403 | The key is valid but the account has no API access — usually a subscription that has ended. |
| 429 | Daily budget spent, or a metered tool over its allowance. The body carries resets_at. |
| 400 | Bad parameters, or paging past the offset ceiling. |
Using it with Claude
The API was built to be driven by an assistant: predictable paths, JSON responses, no session state, and errors that say what to do next. Hand Claude a key and this page and it can answer questions across the whole corpus without any glue code.
# Every phase 3 trial for a target, then the sponsors behind them
import requests
H = {"Authorization": "Bearer tk_your_key_here"}
B = "https://trialytic.ai/api/v1"
trials = requests.get(f"{B}/landscape/search",
params={"target": "TIGIT", "phase": "PHASE3", "limit": 100},
headers=H).json()
print(trials["total"], "trials")
summary = requests.get(f"{B}/landscape/summary",
params={"target": "TIGIT"}, headers=H).json()
for s in summary["top_sponsors"][:5]:
print(s["sponsor_name"], s["n_trials"])Keys are issued on Pro. Read the whole reference first — it is public on purpose, because you should know exactly what you would be buying.
Honest limitations
| You might assume | The truth |
|---|---|
| It predicts trial success | It predicts completion versus termination, and expected duration. Not efficacy, not commercial success. |
| It replaces a meta-analysis | It automates extraction and pooling. It does not harmonise outcomes or assess risk of bias, and sees only trials with structured results. |
| It covers all clinical trials | ClinicalTrials.gov only. The EU (EudraCT/EUCTR), Japanese (JRCT) and Chinese (ChiCTR) registries are not included. |
| It is real-time | Refreshed monthly. Each trial page links to the live registry record. |
| It has patient-level data | Trial-level aggregates only. Registries never publish individual patient records. |
| Safety counts measure risk | They measure reporting volume. No denominator, voluntary reporting, no causation. |
| A model feature is a lever | Associations are observational. A feature driving a prediction does not mean changing it changes the outcome. |
| The approval outlook forecasts one drug | It is a screening signal for comparing programmes. A single molecule's figure is not stable enough to plan against. |
Trialytic is a research tool for professionals. It is not medical, clinical, investment or regulatory advice, and nothing in it should be used to make a decision about the care of any individual.