Science & Methodology

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.

WhatCount
Registered trials598,703
Trials with reported results79,694 (13.3%)
Outcome analyses — effect sizes, CIs, p-values314,867
Adverse-event records3,261,986
Linked trial publications285,267
Publications with extracted outcome directions117,320
Trial-site coordinates633,608
Molecules with FDA identity, approval and recall status1,095
Molecules with post-market safety profiles2,000
Molecules carrying a boxed warning359
Pharmacologic classes369
Device types with post-market safety data287
⚠️

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

ToolQuestion it answers
Competitive intelligenceWho runs trials in this indication, at what phase, and how do they end?
Trial detailEverything recorded about one trial, plus its publications and post-market context.
Trial outcome predictorDoes this protocol resemble trials that completed or terminated — and how long is it likely to run?
Meta-analysisWhat does the pooled evidence across these trials say?
Protocol benchmarkerIs this enrollment, duration and site count normal for comparable trials?
Molecules and devicesPost-market safety, labelling and regulatory history for one product.
Pharmacologic classesEvery molecule in a class, its combined trial landscape and relative safety.
SponsorsA 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

PathWhat it returns
/api/v1/landscape/searchTrial search — condition, intervention, target, phase, status, sponsor, year, enrollment, results and publication filters.
/api/v1/landscape/summaryAggregates 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}/compareComparative 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/runDerSimonian–Laird pooled estimate, heterogeneity, Egger test and forest data.
/api/v1/predict/successCompletion probability for a protocol, with SHAP factor attribution.
/api/v1/benchmarker/compareEnrollment, 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

FreeProTeam
API requests per dayNot included1,0005,000
Rows per page100100
Furthest offset25,00025,000
Export rows per file1001,00025,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

StatusMeaning
401Missing or invalid key.
402Your plan does not include this feature. The body carries the current plan and an upgrade link.
403The key is valid but the account has no API access — usually a subscription that has ended.
429Daily budget spent, or a metered tool over its allowance. The body carries resets_at.
400Bad 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 assumeThe truth
It predicts trial successIt predicts completion versus termination, and expected duration. Not efficacy, not commercial success.
It replaces a meta-analysisIt 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 trialsClinicalTrials.gov only. The EU (EudraCT/EUCTR), Japanese (JRCT) and Chinese (ChiCTR) registries are not included.
It is real-timeRefreshed monthly. Each trial page links to the live registry record.
It has patient-level dataTrial-level aggregates only. Registries never publish individual patient records.
Safety counts measure riskThey measure reporting volume. No denominator, voluntary reporting, no causation.
A model feature is a leverAssociations are observational. A feature driving a prediction does not mean changing it changes the outcome.
The approval outlook forecasts one drugIt 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.

📚

Key references

1.
AACT Database. Tasneem A, et al. The database for aggregate analysis of ClinicalTrials.gov (AACT) and subsequent regrouping by clinical specialty. PLOS ONE 2012.
2.
DerSimonian & Laird 1986. DerSimonian R, Laird N. Meta-analysis in clinical trials. Controlled Clinical Trials 1986;7(3):177–188.
3.
Higgins & Thompson 2002. Higgins JPT, Thompson SG. Quantifying heterogeneity in a meta-analysis. Statistics in Medicine 2002;21(11):1539–1558.
4.
Egger et al. 1997. Egger M, et al. Bias in meta-analysis detected by a simple, graphical test. BMJ 1997;315:629.
5.
Evans et al. 2001 — PRR. Evans SJW, Waller PC, Davis S. Use of proportional reporting ratios (PRRs) for signal generation from spontaneous adverse drug reaction reports. Pharmacoepidemiol Drug Saf 2001;10(6):483–486.
6.
XGBoost — Chen & Guestrin 2016. Chen T, Guestrin C. XGBoost: A scalable tree boosting system. KDD 2016.
7.
SHAP — Lundberg & Lee 2017. Lundberg SM, Lee SI. A unified approach to interpreting model predictions. NeurIPS 2017.
8.
FDAAA 801 compliance. Anderson ML, et al. Compliance with results reporting at ClinicalTrials.gov. NEJM 2015;372(11):1031–1039.