Search Clinical Trials (ClinicalTrials.gov)
clinicaltrials/search-studies
Search the ClinicalTrials.gov registry of clinical studies run worldwide, by condition, intervention (drug, device, procedure), free-text term, location and recruitment status. Each study gives its NCT number, titles, status, start, primary-completion and completion dates (each marked ACTUAL or ESTIMATED), lead sponsor, conditions, interventions, phase, study type, enrollment and whether results are posted. Returns a page at a time with the total match count on the first page and a token for the next. Dates may be month-only (YYYY-MM), and an ESTIMATED date can already be in the past on a study nobody has updated. Returns registry facts only: no descriptions, eligibility text, results or contacts. Attribution: Source: ClinicalTrials.gov, a database of the U.S. National Library of Medicine, National Institutes of Health. Data fields selected, no values changed. Served by Eden Engine; not an official ClinicalTrials.gov product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
Source: ClinicalTrials.gov, a database of the U.S. National Library of Medicine, National Institutes of Health. Data processed by ClinicalTrials.gov, refreshed each weekday; each study carries its last-update date and every call reads the live registry. A fixed subset of fields is returned and no value is changed. Some ClinicalTrials.gov data may be subject to third-party copyright; free-text descriptions, documents and results are not returned. Served by Eden Engine; not an official ClinicalTrials.gov product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "clinicaltrials/search-studies" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "clinicaltrials/search-studies" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "clinicaltrials/search-studies", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "clinicaltrials/search-studies", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"page_size"
],
"properties": {
"sort": {
"enum": [
"LastUpdatePostDate:desc",
"StudyFirstPostDate:desc",
"EnrollmentCount:desc",
"@relevance"
],
"type": "string",
"description": "Order of results. @relevance is the default and ranks by match quality. LastUpdatePostDate:desc puts recently changed records first, StudyFirstPostDate:desc the newest registrations, EnrollmentCount:desc the largest studies."
},
"term": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Free text matched against the whole record, including sponsor and title. Use condition and intervention for precise searches."
},
"status": {
"type": "string",
"pattern": "^(RECRUITING|NOT_YET_RECRUITING|ENROLLING_BY_INVITATION|ACTIVE_NOT_RECRUITING|COMPLETED|SUSPENDED|TERMINATED|WITHDRAWN|UNKNOWN|AVAILABLE|NO_LONGER_AVAILABLE|TEMPORARILY_NOT_AVAILABLE|APPROVED_FOR_MARKETING|WITHHELD)(,(RECRUITING|NOT_YET_RECRUITING|ENROLLING_BY_INVITATION|ACTIVE_NOT_RECRUITING|COMPLETED|SUSPENDED|TERMINATED|WITHDRAWN|UNKNOWN|AVAILABLE|NO_LONGER_AVAILABLE|TEMPORARILY_NOT_AVAILABLE|APPROVED_FOR_MARKETING|WITHHELD))*$",
"maxLength": 200,
"description": "Recruitment status, upper case with underscores; several may be comma-separated, for example RECRUITING,NOT_YET_RECRUITING. Other values: ENROLLING_BY_INVITATION, ACTIVE_NOT_RECRUITING, COMPLETED, SUSPENDED, TERMINATED, WITHDRAWN, UNKNOWN. UNKNOWN means the status was last known as recruiting or similar, the completion date has passed, and nobody has verified it in two years; ClinicalTrials.gov counts such studies as closed."
},
"location": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Where a study has a site: a city, state, country or facility name, for example Atlanta or Germany."
},
"condition": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "A disease or condition, for example breast cancer or type 2 diabetes. Matches the study's conditions and their synonyms."
},
"page_size": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many studies to return, 1 to 100."
},
"page_token": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 100,
"minLength": 4,
"description": "The nextPageToken from the previous page. Use it with exactly the same filters, sort and page_size. Omit for the first page."
},
"intervention": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "A drug, device, procedure or other intervention being tested, for example pembrolizumab."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"studies"
],
"properties": {
"studies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hasResults": {
"type": "boolean",
"description": "True when the sponsor has posted results on ClinicalTrials.gov. The results themselves are not returned."
},
"protocolSection": {
"type": "object",
"description": "The study record: identificationModule (nctId, briefTitle), statusModule (overallStatus, whyStopped, startDateStruct, primaryCompletionDateStruct, completionDateStruct, studyFirstPostDateStruct, lastUpdatePostDateStruct), sponsorCollaboratorsModule (leadSponsor name and class), conditionsModule (conditions), designModule (studyType, phases, enrollmentInfo) and armsInterventionsModule (interventions with type and name). A module is absent when the study has nothing to put in it. A date is YYYY-MM-DD or YYYY-MM, and a struct's type is ACTUAL, ESTIMATED or absent.",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "The studies on this page. Empty when nothing matches."
},
"totalCount": {
"type": "integer",
"description": "How many studies match, across all pages. Present on the first page only; a request with page_token omits it."
},
"nextPageToken": {
"type": "string",
"description": "Pass this as page_token, with the same filters, for the next page. Absent on the last page."
}
},
"description": "One page of studies in ClinicalTrials.gov's own structure, plus totalCount on the first page and nextPageToken when more pages follow.",
"additionalProperties": true
}