ClinicalTrials.gov API: Get clinical trial by NCT number or title
Returns the full public record of a ClinicalTrials.gov study, looked up by NCT number or by title (closest registered title for ambiguous titles).
Unofficial. Not affiliated with or endorsed by ClinicalTrials.gov.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Trial, required
trial The trial title or NCT trial number, for example NCT04368728.
NCT04368728
Input as JSON
{ "trial": "NCT04368728"}Output
{ "arms": [ { "name": "10 µg dose, 18-55 years of age (2 doses)", "type": "Experimental", "treatments": [ "Biological: BNT162b1", "Biological: BNT162b2" ], "description": null }, { "name": "20 µg dose, 18-55 years of age (2 doses)", "type": "Experimental", "treatments": [ "Biological: BNT162b1", "Biological: BNT162b2" ], "description": null }, { "name": "30 µg dose, 18-55 years of age (2 doses)", "type": "Experimental", "treatments": [ "Biological: BNT162b1", "Biological: BNT162b2" ], "description": null } ], "phase": "Phase 2 / Phase 3", "title": "Study to Describe the Safety, Tolerability, Immunogenicity, and Efficacy of RNA Vaccine Candidates Against COVID-19 in Healthy Individuals", "status": "Completed", "sponsor": "BioNTech SE", "age_range": "12 Years and older", "locations": [ { "city": "Athens", "country": "United States", "facility": "North Alabama Research Center, LLC", "recruitment_status": null }, { "city": "Birmingham", "country": "United States", "facility": "Birmingham Clinical Research Unit", "recruitment_status": null }, { "city": "Huntsville", "country": "United States", "facility": "Medical Affiliated Research Center", "recruitment_status": null } ], "start_date": "2020-04-29", "treatments": [ { "arms": [ "10 µg dose, 18-55 years of age (2 doses)", "10 µg dose, 65-85 years of age (2 doses)", "100 µg dose, 18-55 years of age (2 doses)" ], "name": "BNT162b1", "type": "Biological", "description": "Intramuscular injection" }, { "arms": [ "10 µg dose, 18-55 years of age (2 doses)", "10 µg dose, 65-85 years of age (2 doses)", "20 µg dose, 18-55 years of age (2 doses)" ], "name": "BNT162b2", "type": "Biological", "description": "Intramuscular injection" }, { "arms": [ "Placebo, 18-55 years of age", "Placebo, 65-85 years of age", "Placebo, ≥12 years of age" ], "name": "Placebo", "type": "Other", "description": "Intramuscular injection" } ], "trial_link": "https://clinicaltrials.gov/study/NCT04368728" , "trial_number": "NCT04368728", "official_title": "A PHASE 1/2/3, PLACEBO-CONTROLLED, RANDOMIZED, OBSERVER-BLIND, DOSE-FINDING STUDY TO EVALUATE THE SAFETY, TOLERABILITY, IMMUNOGENICITY, AND EFFICACY OF SARS-COV-2 RNA VACCINE CANDIDATES AGAINST COVID-19 IN HEALTHY INDIVIDUALS" , "results_posted": true, "completion_date": "2023-02-10", "public_contacts": [], "purpose_summary": "This is a Phase 1/2/3, randomized, placebo-controlled, observer-blind, dose-finding, vaccine candidate-selection, and efficacy study in healthy individuals.\n\nThe study consists of 2 parts: Phase 1: to identify preferred vaccine candidate(s) and dose level(s); Phase 2/3: an expanded cohort and effica…" , "primary_outcomes": [ { "measure": "Percentage of Participants With Local Reactions Within 7 Days After Dose 1: Phase 1", "time_frame": "Within 7 days after Dose 1", "description": "Local reactions included redness, swelling and, pain at the injection site, recorded by participants in an electronic diary (e-diary). Redness and swelling were measured and recorded in measuring device units. 1 measuring device unit =0.5 centimeter (cm). Redness and swelling were graded as mild (gr…" }, { "measure": "Percentage of Participants With Local Reactions Within 7 Days After Dose 2: Phase 1", "time_frame": "Within 7 days after Dose 2", "description": "Local reactions included redness, swelling and, pain at the injection site, recorded by participants in an e-diary. Redness and swelling were measured and recorded in measuring device units. 1 measuring device unit =0.5 cm. Redness and swelling were graded as mild (\\> 2.0 to 5.0 cm), moderate (\\> 5.…" }, { "measure": "Percentage of Participants With Systemic Events Within 7 Days After Dose 1: Phase 1", "time_frame": "Within 7 days after Dose 1", "description": "Systemic events included fever, fatigue, headache, chills, vomiting, diarrhea, new or worsened muscle pain, new or worsened joint pain recorded by participants or parents/legal guardians of participants using e-diary. Fever=temperature \\>=38.0 deg C categorized as \\>=38.0 to 38.4, \\>38.4 to 38.9, \\>…" } ], "secondary_outcomes": [ { "measure": "Geometric Mean Titers (GMTs) of Severe Acute Respiratory Syndrome Coronavirus 2 Neutralizing Titers: Phase 1", "time_frame": "7, 21 days after Dose 1; 7, 14 days and 1, 6 months after Dose 2", "description": "GMTs of severe acute respiratory syndrome coronavirus 2 neutralizing titers were reported in this outcome measure. SARS-CoV-2 neutralization assay - NT50 and SARS-CoV-2 neutralization assay - NT90 were evaluated and reported in this outcome measure." }, { "measure": "Geometric Mean Concentrations (GMCs) of Severe Acute Respiratory Syndrome Coronavirus 2: S1-binding and RBD-binding IgG Level Assay: Phase 1", "time_frame": "7, 21 days after Dose 1; 7, 14 days and 1, 6 months after Dose 2", "description": "GMCs of severe acute respiratory syndrome coronavirus S1-binding and RBD-binding IgG level were reported in this outcome measure." }, { "measure": "Geometric Mean Fold Rise (GMFR) of SARS-CoV-2 Neutralizing Titers: Phase 1", "time_frame": "7, 21 days after Dose 1; 7, 14 days and 1, 6 months after Dose 2", "description": "GMFR of SARS-CoV-2 neutralizing titers were reported in this outcome measure. HIV positive participants excluded." } ], "eligibility_criteria": "Inclusion Criteria:\n\n• Male or female participants between the ages of 18 and 55 years, inclusive, 65 and 85 years, inclusive, or ≥12 years, inclusive, at randomization (dependent upon study phase). For the boostability and protection-against-VOCs subset: Existing participants enrolled to receive a …", "number_of_participants": 46969}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"clinicaltrials.gov/get_trial","input":{"trial":"NCT04368728"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "clinicaltrials.gov/get_trial" , "input": { "trial": "NCT04368728" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "clinicaltrials.gov/get_trial" , "input": { "trial": "NCT04368728" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run clinicaltrials.gov/get_trial# with {"trial":"NCT04368728"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "trial" ], "properties": { "trial": { "type": "string", "description": "The trial title or NCT trial number, for example NCT04368728." } }}Output schema
{ "type": "object", "required": [ "title", "official_title", "purpose_summary", "status", "phase", "sponsor", "start_date", "completion_date", "number_of_participants", "eligibility_criteria", "age_range", "arms", "treatments", "primary_outcomes", "secondary_outcomes", "locations", "public_contacts", "results_posted", "trial_number", "trial_link" ], "properties": { "arms": { "type": "array", "items": { "type": "object", "required": [ "name", "type", "description", "treatments" ], "properties": { "name": { "type": [ "string", "null" ] }, "type": { "type": [ "string", "null" ] }, "treatments": { "type": "array", "items": { "type": "string" } }, "description": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "phase": { "type": [ "string", "null" ] }, "title": { "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "sponsor": { "type": [ "string", "null" ] }, "age_range": { "type": [ "string", "null" ] }, "locations": { "type": "array", "items": { "type": "object", "required": [ "facility", "city", "country", "recruitment_status" ], "properties": { "city": { "type": [ "string", "null" ] }, "country": { "type": [ "string", "null" ] }, "facility": { "type": [ "string", "null" ] }, "recruitment_status": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "start_date": { "type": [ "string", "null" ], "format": "date" }, "treatments": { "type": "array", "items": { "type": "object", "required": [ "name", "type", "description", "arms" ], "properties": { "arms": { "type": "array", "items": { "type": "string" } }, "name": { "type": [ "string", "null" ] }, "type": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "trial_link": { "type": "string" }, "trial_number": { "type": "string" }, "official_title": { "type": [ "string", "null" ] }, "results_posted": { "type": "boolean" }, "completion_date": { "type": [ "string", "null" ], "format": "date" }, "public_contacts": { "type": "array", "items": { "type": "object", "required": [ "name", "role", "phone", "email", "facility" ], "properties": { "name": { "type": [ "string", "null" ] }, "role": { "type": [ "string", "null" ] }, "email": { "type": [ "string", "null" ] }, "phone": { "type": [ "string", "null" ] }, "facility": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "purpose_summary": { "type": [ "string", "null" ] }, "primary_outcomes": { "type": "array", "items": { "type": "object", "required": [ "measure", "description", "time_frame" ], "properties": { "measure": { "type": [ "string", "null" ] }, "time_frame": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "secondary_outcomes": { "type": "array", "items": { "type": "object", "required": [ "measure", "description", "time_frame" ], "properties": { "measure": { "type": [ "string", "null" ] }, "time_frame": { "type": [ "string", "null" ] }, "description": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "eligibility_criteria": { "type": [ "string", "null" ] }, "number_of_participants": { "type": [ "integer", "null" ] } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
clinicaltrials.gov/get_trial- Returns
- title, official title, purpose, status, phase, sponsor, dates, eligibility, arms, treatments, outcomes, locations, contacts
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method clinicaltrials.gov/get_trial with the inputs above.
Ask your agent
- Pull up the full record for NCT04368728, including eligibility criteria and study arms
- What are the primary outcomes and enrollment locations for the trial NCT03548935?
- Find the registered trial titled 'Efficacy of semaglutide in adults with type 2 diabetes' and tell me its sponsor and phase
- On ClinicalTrialsgov, I need the current recruitment status and contact details for NCT05123456
- Look up the study on the site whose official title mentions a 12-week mRNA vaccine booster and show its interventions and dates
See more
All ClinicalTrials.gov methodsFinds ClinicalTrials.gov studies for a condition or medicine. You can filter by location, distance, recruitment status and phase. With a location, results are ordered by distance to the closest eligible site.
clinicaltrials.gov/search_trialsLists ClinicalTrials.gov studies run or funded by a sponsor, newest start date first, with optional phase, status and condition filters.
clinicaltrials.gov/list_company_trialsGets the full PubMed abstract and publication details for one article by title, PubMed link, or PubMed number (PMID). A title is searched in PubMed titles first and must closely match a found article. Some articles have no abstract or free full text.
pubmed.ncbi.nlm.nih.gov/get_articleFinds PubMed medical and life-science articles by topic, with publication details and free full-text links when PubMed confirms them.
pubmed.ncbi.nlm.nih.gov/search_articlesFinds NIH research grants by topic, organisation, or researcher name. Searches the last five fiscal years by default.
reporter.nih.gov/search_grantsFinds ICD-10-CM diagnosis codes and official names from a plain-language condition description, retrying with simplified wording when the first search finds nothing.
clinicaltables.nlm.nih.gov/search_diagnosis_codesGets one public patent or published application by number, title, or Google Patents link, with claims, citations, family and classifications.
patents.google.com/get_patentFinds U.S. federal grant opportunities by topic, agency, applicant type and status, with funding and eligibility details. Open results exclude opportunities whose closing date has passed.
grants.gov/search_grants