Trial Pipeline Shape API: Trials and enrollment by phase, status and study type for a condition — ClinicalTrials.gov
Trials and enrollment by phase, status and study type for a condition or sponsor, with leading sponsors and an active-trial count. One call instead of paging and tallying the registry. Free, no key.
Free — no key, no signup, rate-limited to 60 calls per minute per client.
How do you call it?
GET /v1/trials/pipeline — product id
trials_pipeline. Over MCP, call answerpool_get with
product_id=trials_pipeline.
curl "https://answerpool.io/v1/trials/pipeline?condition=melanoma"
Live call: https://answerpool.io/v1/trials/pipeline?condition=melanoma · JSON sample: /v1/samples/trials_pipeline
What does the answer look like?
A representative response, the same static sample served at /v1/samples/trials_pipeline.
as_of | 2026-09-03T16:00:00Z |
|---|---|
query.query.cond | melanoma |
trials_analyzed | 200 |
active_trials | 63 |
total_enrollment | 21450 |
note | Distributions are computed over the sample of trials matching the query (capped by `sample`), newest registry order — a shape of the pipeline, not a registry c… |
source | Source: National Library of Medicine (ClinicalTrials.gov) |
refresh_after | 2026-09-18T00:00:00.000Z |
by_phase
| key | trials | enrollment_total |
|---|---|---|
| PHASE2 | 71 | 8420 |
The same sample as raw JSON
{
"as_of": "2026-09-03T16:00:00Z",
"query": {
"query.cond": "melanoma"
},
"trials_analyzed": 200,
"by_phase": [
{
"key": "PHASE2",
"trials": 71,
"enrollment_total": 8420
}
],
"by_status": [
{
"key": "COMPLETED",
"trials": 96,
"enrollment_total": 11200
}
],
"by_study_type": [
{
"key": "INTERVENTIONAL",
"trials": 181,
"enrollment_total": 19800
}
],
"top_sponsors": [
{
"key": "National Cancer Institute (NCI)",
"trials": 14,
"enrollment_total": 2100
}
],
"active_trials": 63,
"total_enrollment": 21450,
"note": "Distributions are computed over the sample of trials matching the query (capped by `sample`), newest registry order \u2014 a shape of the pipeline, not a registry census. Enrollment is the registered target or actual count as submitted.",
"source": "Source: National Library of Medicine (ClinicalTrials.gov)",
"refresh_after": "2026-09-18T00:00:00.000Z"
}How fresh is it, and where does the data come from?
The fastest source behind this answer can change daily, so every response carries a refresh_after timestamp — right now it would be 2026-09-18T00:00:00.000Z. Schedule the next call on that value rather than on a guess.
- ClinicalTrials.gov (NIH National Library of Medicine) (US federal public domain) — upstream:
https://clinicaltrials.gov/api/v2
Method version 0.1.0 ·
serving cache 1 day ·
every response carries a result_id you can resolve at
/v1/provenance.
When should you use it?
You want the distribution across a therapeutic area or a sponsor's portfolio.
What you skip building
- registry paging
- phase and status tallying
- enrollment summing
When should you not use it?
Individual trial records — /v1/trials/search.
Where else can you find this?
- Catalog entry (JSON, free)
- OpenAPI schema — input and output types, prices, the 402 flow
- llms.txt — every product in one plain-text document