Clinical trials API with the full change history.
The Posolix clinical trials API gives you ClinicalTrials.gov data through one REST API. Search trials by condition, sponsor, phase or status, then pull every change we've recorded for a trial, from registration to results.
Free for the length of the beta.
# Recruiting phase 3 lung cancer trials
GET /v1/trials?condition=lung+cancer
&phase=PHASE3&status=RECRUITING
{
"data": [
{
"nct_id": "NCT0XXXXXXX",
"title": "First-line combination in advanced disease",
"phase": "PHASE3",
"overall_status": "RECRUITING",
"sponsor": "Sample Bio",
"enrollment": 780,
"last_changed_at": "2026-09-16T08:40:00Z"
}
],
"next_cursor": "eyJpZCI6IjE4MjQ..."
} // illustrative, fields may change in beta
Clinical trial data endpoints.
Three endpoints cover search, a single trial and its history. Every response uses the same normalized fields, so you don't have to handle ClinicalTrials.gov's nested study format yourself.
-
GET/v1/trialsSearch trials by condition, sponsor, phase, status and last-change date. Cursor pagination, sorted by latest change.
-
GET/v1/trials/:nct_idOne trial's current record: title, conditions, interventions, sponsor, phase, status, enrollment, key dates and sites.
-
GET/v1/trials/:nct_id/historyEvery version of the trial we've stored, with the fields that changed between each version.
See how a trial changed, not just where it is now.
The public ClinicalTrials.gov API returns the current version of a study. When a sponsor moves a completion date, cuts enrollment or pauses recruiting, the old values are hard to get back.
Posolix fetches every trial on a schedule, stores a new version whenever something changes and records what changed. The history endpoint returns that timeline, so you can see a trial slipping or speeding up without keeping your own copy of the registry.
Want each change as it happens? The same events arrive as clinical trial webhooks, or as email alerts if you don't write code.
GET /v1/trials/NCT0XXXXXXX/history
{
"nct_id": "NCT0XXXXXXX",
"versions": [
{
"detected_at": "2026-09-16T08:40:00Z",
"event": "trial.completion_date_changed",
"changes": {
"primary_completion_date": {
"from": "2027-03", "to": "2027-11"
}
}
},
{
"detected_at": "2026-06-02T11:15:00Z",
"event": "trial.enrollment_changed",
"changes": {
"enrollment": { "from": 620, "to": 780 }
}
}
]
} // illustrative
Trial changes we track.
Each change is stored as a typed event you can filter on in the API, or subscribe to by webhook.
trial.registeredA new NCT ID appears on ClinicalTrials.gov.
trial.status_changedRecruitment status changes, for example Recruiting to Active, not recruiting.
trial.phase_changedThe trial's phase changes.
trial.enrollment_changedEnrollment count or type (estimated or actual) changes.
trial.completion_date_changedThe primary or study completion date moves.
trial.results_postedA results section appears for the first time.
Who uses a clinical trial data API.
Health-tech developersPower trial search or patient matching in your product without parsing the raw registry.
Biotech and pharma teamsTrack competitor trials by condition or sponsor and see every status and timeline change.
Investors and analystsBacktest how trial events line up with catalysts, using the full event history.
ResearchersStudy how registrations change over time, such as enrollment revisions and delayed results.
Questions.
Is this the official ClinicalTrials.gov API?
No. Posolix pulls from the public ClinicalTrials.gov API v2, stores every version of every trial and adds change history, typed events and webhooks on top. We are not affiliated with the NLM or NIH.
Which trials are covered?
Every study registered on ClinicalTrials.gov. History starts from the first version we fetch, so changes made before we started tracking a trial only show as its starting state.
Can I get changes pushed to me instead of polling?
Yes. The same trial events are available as signed webhooks. Subscribe with a filter and we POST each matching change to your endpoint.
How much does the clinical trials API cost?
Nothing during the beta. Beta users will hear about pricing before it starts and get early-supporter terms.
Get a clinical trials API key.
Join the beta for an API key and a dashboard login, free while we're in beta.