+ClinicalTrials.gov API
Search ClinicalTrials.gov and pull full study records and posted results as clean JSON.
The API.SH ClinicalTrials.gov API searches registered studies by condition, intervention, title, outcome, sponsor, location or any text, with filters for status, phase, study type, sex, age group, funder type, posted results, healthy volunteers, date ranges and distance from a point. One study by NCT id returns design, arms and interventions, outcomes, eligibility, officials, every location with coordinates, MeSH terms and, on request, the posted results.
- 2 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/clinicaltrials/v1/ search
{ "success": true } What you can build with the ClinicalTrials.gov API
Pharma pipeline tracking
Search by sponsor, intervention and phase to follow a competitor's trials and their status changes.
Patient recruitment and site finding
Find recruiting studies for a condition within a radius of a location, then read eligibility criteria and site locations.
Evidence and results review
Pull posted results with participant flow, baseline, outcome measures and adverse events for completed trials.
Research dashboards
Export trials by phase, status and date range to CSV for Excel, Power BI or Google Sheets.
ClinicalTrials.gov data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
ClinicalTrials.gov API endpoints and prices
Every ClinicalTrials.gov endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| Clinical trial search /clinicaltrials/ | $1 · $2 PAYG 1 credit |
| Clinical trial record /clinicaltrials/ | $1 · $2 PAYG 1 credit |
Call the ClinicalTrials.gov API
Clinical trial search: GET https://api.api.sh/clinicaltrials/
curl "https://api.api.sh/clinicaltrials/v1/search?condition=lung+cancer" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/clinicaltrials/v1/search",
params={"condition": "lung cancer"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/clinicaltrials/v1/search");
url.searchParams.set("condition", "lung cancer");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/clinicaltrials/v1/search", "condition", "lung cancer")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "ClinicalTrials.gov" and "Clinical trial search".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 483 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for ClinicalTrials.gov data
- Public data only: no ClinicalTrials.gov login, cookies or account needed
- One key and one response shape for ClinicalTrials.gov and 482 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official ClinicalTrials.gov API
Yes. ClinicalTrials.gov API v2 is a free official REST API from the National Library of Medicine with no key required. API.SH is a convenience layer: named filters instead of query expressions, flattened study fields, and the same key and JSON format you use for PubMed and other sources.
Compared with writing your own v2 client or running an Apify ClinicalTrials.gov scraper, API.SH gives you one key, one JSON shape across research sources and a fixed price per call.
ClinicalTrials.gov API questions
What ClinicalTrials.gov data can I get?+
Study search with condition, intervention, sponsor, location, status, phase and date filters (/clinicaltrials/v1/search) and one full study record by NCT id, optionally with posted results (/clinicaltrials/v1/study).
How much does the ClinicalTrials.gov API cost?+
Every ClinicalTrials.gov endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /clinicaltrials/v1/search at 1 credit each.
Is there an official ClinicalTrials.gov API?+
Yes. The NLM's ClinicalTrials.gov API v2 is free and needs no key. Use it directly if you are happy with its query syntax and nested study format; API.SH is for teams who want simpler filters and one key and format across many data sources.
Do I need an account or API key from ClinicalTrials.gov?+
No. API.SH reads public ClinicalTrials.gov records only. You only need your API.SH key.
Can I search by NCT number?+
Yes. Call /clinicaltrials/v1/study with nct_id for one record, or pass several ids as nct_ids to /clinicaltrials/v1/search.
Can I use it in Excel or Power BI?+
Yes. Responses come as JSON, CSV or NDJSON, so Power BI and Excel can load a search URL directly, and the Google Sheets add-on pulls results into a sheet.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key from the dashboard. 3. Call /clinicaltrials/v1/search with a condition and status=recruiting, then /clinicaltrials/v1/study with an NCT id. Request examples and every parameter are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.