“All enquiry and all learning is but recollection.”
— Plato, Meno

The complete version history of every clinical trial.

Every protocol amendment ever posted to ClinicalTrials.gov, compiled into relational tables with one row per trial version. A snapshot tells you where a trial ended up. The history shows how it got there.

4.44Mtrial versions
604,583trials
9.40Mintervention records
1999–todaycoverage

Release v2026.09.26, reflecting the ClinicalTrials.gov release of 2026-09-25.

The history is public. Analyzing it at scale isn't.

ClinicalTrials.gov keeps every version of every trial, but shows them one trial at a time. Bulk downloads and public mirrors carry only the current version, so the amendments before it (a delayed completion date, a cut to enrollment, a quiet status change) are out of reach for any analysis across many trials.

Anamnesis Data compiles every version of every trial into relational tables. There are no per-trial lookups: a single query covers the whole registry, with the date each change became public.

ClinicalTrials.gov
Full history, one trial at a time
Bulk downloads & mirrors
Every trial, current version only
Anamnesis Data
Every version of every trial, in one queryable dataset
One Phase 3 lung cancer trial, key versions NCT04866017
  1. v0
    Apr 2021 Registered: Not yet recruiting, enrollment target 600
  2. v1
    Jun 2021 Target raised 600 → 900; primary completion moved Apr 2024 → Jan 2025
  3. v2
    Jul 2021 Status changed to Recruiting
  4. v4
    Mar 2023 Target cut 900 → 700; primary completion pushed Jan 2025 → Feb 2027
  5. v5
    Sep 2023 Status changed to Active, not recruiting with 63 participants actually enrolled
  6. v6
    Jan 2024 Terminated: "decision was conducted by the sponsor and not driven by safety concerns"

A latest-snapshot mirror shows only the end: terminated, 63 enrolled. The history shows a 900-patient plan unwinding over nearly three years, and in Anamnesis Data it sits in the same table as every other trial.

What the history makes possible

Event studies

Line up protocol changes with market reactions using the date each version was posted publicly, not just when it was submitted.

Timeline slippage

Measure how often and by how much completion dates move, across sponsors, phases, and therapeutic areas.

Status trajectories

Trace paths from recruiting to suspended, terminated, or completed, and the stated reasons for stopping.

Enrollment dynamics

Compare anticipated with actual enrollment, and track targets as they are revised over a trial's life.

Predictive modeling

Build features from how a trial has changed so far, not only from where it stands today.

Intervention changes

See when drugs, devices, and procedures were added to or dropped from a trial's registered interventions.

Two ways to work with the data

Flat files

Download every table as Parquet and load it into pandas, Polars, DuckDB, Spark, or your own data warehouse. Each release is versioned, so an analysis can be pinned to an exact snapshot.

Hosted relational database

Query every version of every trial with SQL, with nothing to download or set up. Connect from any SQL client, BI tool, or notebook, and join the history to your own data.

What's included

Every version of every trial, with:

  • Recruitment status, and the stated reason when a trial stops
  • Study design: allocation, masking, model, and purpose
  • Enrollment, anticipated or actual
  • Lead sponsor and submitting organization
  • Start, primary completion, and completion dates
  • Titles, descriptions, and eligibility criteria
  • Registered interventions: drugs, biologics, devices, procedures, and more
  • Timing you can trust: each version carries both its submission date and its public posting date, plus whether that date is actual or estimated.
  • Stable schema: changes are additive only, so queries you write today keep working.

Planned additions

Field-level changes between consecutive versions, plus per-version outcomes, locations, sponsors and collaborators, and posted results.

Every primary-completion slip across the whole registry, in one query. The same SQL runs on the hosted database or on the downloaded files.

WITH v AS (
    SELECT nct_id, nct_version,
           last_update_post_date,
           primary_completion_date AS pcd,
           LAG(primary_completion_date) OVER (
               PARTITION BY nct_id
               ORDER BY nct_version
           ) AS prev_pcd
    FROM trial_versions
)
SELECT *,
       pcd - prev_pcd AS slip_days
FROM v
WHERE pcd > prev_pcd;

Licensing

Academic & non-profit

Free

  • Academic, independent, and public-interest research
  • Licensed under CC BY-NC 4.0
  • Access request through Hugging Face
  • Cite the dataset and credit ClinicalTrials.gov
Request access

These terms cover this compiled dataset only. The underlying trial records are available from ClinicalTrials.gov at no charge, and nothing here restricts data you obtain from ClinicalTrials.gov directly.

Get in touch

Questions about the data, a use case, or a license? We'd like to hear from you.