Clinical trial search

GET https://api.api.sh/clinicaltrials/v1/search
1 credit / call government & registries try it in the playground →

Clinical studies registered on ClinicalTrials.gov by condition, intervention, title, outcome, sponsor, location or any text, with filters for overall status, phase, study type, sex, age group, funder type, posted results, healthy volunteers, start, completion, first-posted and last-update date ranges, distance from a point and NCT ids, and sort. Each study has NCT id, titles, status, type, phases, enrollment, conditions, keywords, interventions, sponsor and collaborators, key dates, results flag, location count and countries, brief summary and link. Pass next_cursor back as cursor; null on the last page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
condition string Condition or disease. Example: lung cancer
q string Any text (all fields).
intervention string Drug, device, procedure or other intervention.
title string Words in the title or acronym.
outcome string Outcome measure words.
sponsor string Sponsor or collaborator name.
lead_sponsor string Lead sponsor name.
study_id string NCT id or other study id.
location string Location terms: facility, city, state or country.
status string Comma-separated overall statuses: recruiting, not_yet_recruiting, active_not_recruiting, enrolling_by_invitation, completed, suspended, terminated, withdrawn, unknown, available, no_longer_available, temporarily_not_available, approved_for_marketing, withheld. Example: recruiting
phase string Comma-separated phases: early1, 1, 2, 3, 4, na. Example: 3
study_type string Comma-separated: interventional, observational, expanded_access.
sex string Comma-separated: female, male, all.
age_group string Comma-separated: child, adult, older_adult.
funder_type string Comma-separated: nih, fed, industry, other.
has_results boolean Only studies with (true) or without (false) posted results.
healthy_volunteers boolean true: only studies accepting healthy volunteers.
start_from string Start date on or after (YYYY-MM-DD).
start_to string Start date on or before (YYYY-MM-DD).
completion_from string Primary completion on or after (YYYY-MM-DD).
completion_to string Primary completion on or before (YYYY-MM-DD).
posted_from string First posted on or after (YYYY-MM-DD).
posted_to string First posted on or before (YYYY-MM-DD).
updated_from string Last updated on or after (YYYY-MM-DD).
updated_to string Last updated on or before (YYYY-MM-DD).
lat number Latitude of a point; with lon, only studies with a site within radius_miles.
lon number Longitude of the point.
radius_miles integer Distance from lat/lon in miles (default 50). Example: 50
nct_ids string Comma-separated NCT ids.
sort updated | -updated | start | -start | posted | -posted | completion | enrollment Sort order (default relevance).
limit integer Studies per page, 1-100. Example: 20
cursor string Paging cursor: pass next_cursor from the previous page; it is null on the last page.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/clinicaltrials/v1/search?condition=lung+cancer" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.