Search and filter clinical trials based on various criteria including medical condition, intervention type, location, recruitment status, and more. Returns a paginated list of studies matching your criteria, with each study containing rich metadata including the NCT ID, title, status, conditions, interventions, sponsor information, and contact details. This is the primary endpoint for discovering clinical trials - use it when you need to find trials matching specific criteria (e.g., "all recruiting diabetes trials in California using metformin"). Results are paginated with a nextPageToken for retrieving additional pages. The response can be large (50KB+ per page) as it returns full study objects.
From spec: Retrieve a list of clinical studies matching the specified search criteria. Supports filtering by status, advanced queries, and pagination.
Usage Tips
- Use pageSize parameter (default 20, max 100) to control response size
- Query parameters support AND logic - all conditions must match
- Filter parameters (filter.overallStatus, filter.phase) work alongside query parameters
- Search terms in query.term are matched across title, description, conditions, and interventions
- Response does not include totalCount - use nextPageToken to iterate through results
- For large result sets, consider adding date filters to narrow results
Parameters (6)
fields(string, query, optional)
Comma-separated list of fields to include in the response
filter.advanced(string, query, optional)
Advanced search query string for complex filtering
filter.overallStatus(string, query, optional)
Filter by study status (e.g., COMPLETED, RECRUITING, ACTIVE_NOT_RECRUITING, NOT_YET_RECRUITING, SUSPENDED, TERMINATED, WITHDRAWN)
import zingu_apis
api = zingu_apis.api("clinicaltrials")
result = api.fetch("studies", query.cond="diabetes", pageSize=5)
for item in result:
print(item)
const resp = await fetch("https://clinicaltrials.gov/api/v2/studies?query.cond=diabetes&pageSize=5");
const data = await resp.json();
Search for recruiting cancer trialscurl
Search for actively recruiting cancer trials using condition filter and status filter.
import zingu_apis
api = zingu_apis.api("clinicaltrials")
result = api.fetch("studies", query.cond="cancer", filter.overallStatus="RECRUITING", pageSize=10)
for item in result:
print(item)
const resp = await fetch("https://clinicaltrials.gov/api/v2/studies?query.cond=cancer&filter.overallStatus=RECRUITING&pageSize=10");
const data = await resp.json();
Search by intervention and locationcurl
Search for vaccine trials in a specific geographic location.
import zingu_apis
api = zingu_apis.api("clinicaltrials")
result = api.fetch("studies", query.intr="vaccine", query.locn="United States")
for item in result:
print(item)
const resp = await fetch("https://clinicaltrials.gov/api/v2/studies?query.intr=vaccine&query.locn=United+States");
const data = await resp.json();
import zingu_apis
api = zingu_apis.api("clinicaltrials")
result = api.fetch("studies", query.cond="cancer", query.term="diabetes", query.intr="insulin", query.titles="cardiovascular", query.spons="National Cancer Institute", query.id="NCT01901835", filter.overallStatus="RECRUITING", filter.advanced="condition:cancer AND location:United States", fields="NCTId,BriefTitle,Condition,OverallStatus", pageSize=10, sortOrder="desc")
for item in result:
print(item)
const resp = await fetch("https://clinicaltrials.gov/api/v2/studies?query.cond=cancer&query.term=diabetes&query.intr=insulin&query.titles=cardiovascular&query.spons=National+Cancer+Institute&query.id=NCT01901835&filter.overallStatus=RECRUITING&filter.advanced=condition%3Acancer+AND+location%3AUnited+States&fields=NCTId%2CBriefTitle%2CCondition%2COverallStatus&pageSize=10&sortOrder=desc");
const data = await resp.json();