AnswerPool

Clinical Trial Search API: Trials by condition, sponsor, intervention or status as flat records — ClinicalTrials.gov

Trials by condition, sponsor, intervention or status as flat records: phase, status, sponsor, enrollment and dates. Skips the registry's nested protocol modules. Free.

Free — no key, no signup, rate-limited to 60 calls per minute per client.

How do you call it?

GET /v1/trials/search — product id trials_search. Over MCP, call answerpool_get with product_id=trials_search.

curl "https://answerpool.io/v1/trials/search?condition=melanoma"

Live call: https://answerpool.io/v1/trials/search?condition=melanoma · JSON sample: /v1/samples/trials_search

What does the answer look like?

A representative response, the same static sample served at /v1/samples/trials_search.

as_of2026-09-03T16:00:00Z
query.query.condmelanoma
count1
sourceSource: National Library of Medicine (ClinicalTrials.gov)
refresh_after2026-09-18T00:00:00.000Z

trials

nct_idtitlestatusphasesstudy_typelead_sponsorenrollmentstart_datecompletion_dateconditionsurl
NCT06131398A Study of AMG 355 Alone and in Combination With PembrolizumabCOMPLETEDPHASE1INTERVENTIONALAmgen1202024-03-072026-02-01Advanced Solid Tumorshttps://clinicaltrials.gov/study/NCT06131398
The same sample as raw JSON
{
 "as_of": "2026-09-03T16:00:00Z",
 "query": {
  "query.cond": "melanoma"
 },
 "count": 1,
 "trials": [
  {
   "nct_id": "NCT06131398",
   "title": "A Study of AMG 355 Alone and in Combination With Pembrolizumab",
   "status": "COMPLETED",
   "phases": [
    "PHASE1"
   ],
   "study_type": "INTERVENTIONAL",
   "lead_sponsor": "Amgen",
   "enrollment": 120,
   "start_date": "2024-03-07",
   "completion_date": "2026-02-01",
   "conditions": [
    "Advanced Solid Tumors"
   ],
   "url": "https://clinicaltrials.gov/study/NCT06131398"
  }
 ],
 "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.

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 need the trials themselves in a flat, reasoned-over shape.

What you skip building

When should you not use it?

The pipeline shape across many trials — /v1/trials/pipeline.

Where else can you find this?