ClinicalTrials.gov API
Read-only access to ClinicalTrials.gov study search, full study records, the study data model, search-area mappings, and source enumeration data. Responses are fetched live from the public API.
Endpoint health
Loading verification…
Connect your agent
Connect through MCP so your agent can find this API, read its docs, and call its endpoints.
Add the server from your terminal.
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcpIn Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.
Then ask your agent to use the ClinicalTrials.gov API for your task.
Call it over HTTP
Get an API keySign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.
curl --request GET --get 'https://api.agent-data.dev/clinicaltrials-gov/v1/studies' \
--header "Authorization: Bearer $AGENT_DATA_API_KEY"Endpoints
Inputs and response fields for every endpoint in this API.
GETStudies/v1/studies
Search clinical studies
Input
sortOptionalQuery · string | nullSource sort expression.
Example: LastUpdatePostDate:desc
fieldsOptionalQuery · string | nullComma-separated source fields to return.
Example: NCTId,BriefTitle,OverallStatus
formatOptionalQuery · string, default: jsonResponse format for this JSON API.
Example: json
pageSizeOptionalQuery · integer, min: 1, max: 1000, default: 20Number of studies per page, from 1 through 1000.
Example: 2
pageTokenOptionalQuery · string | nullOpaque token returned by a previous search response.
Example: ZVNj7o2Elu8o3lpwX9765OytmpOQJJxqZvap
query.condOptionalQuery · string | nullCondition or disease search text.
Example: diabetes
query.intrOptionalQuery · string | nullIntervention search text.
Example: metformin
query.termOptionalQuery · string | nullGeneral search text.
Example: randomized
filter.advancedOptionalQuery · string | nullAdvanced source filter expression.
Example: AREA[Phase]PHASE3
filter.overallStatusOptionalQuery · string | nullComma-separated overall statuses.
Example: RECRUITING,COMPLETED
Response
studiesobject[]nextPageToken?string | nullFields marked ? are optional.
GETStudies metadata/v1/studies/metadata
Get the study data model
Input
No input parameters.
Response
dataunknownGETStudies by nctid/v1/studies/{nctid}
Get one clinical study
Input
nctidRequiredPath · stringClinicalTrials.gov identifier: NCT followed by exactly 8 digits.
Example: NCT00000102
Response
hasResultsbooleanderivedSectionobjectresultsSection?object | nullprotocolSectionobjectFields marked ? are optional.
GETSearch areas/v1/search-areas
Get search area mappings
Input
No input parameters.
Response
dataunknownGETEnums/v1/enums
Get source enumeration values
Input
No input parameters.
Response
dataunknownDon’t see the endpoint you need?
Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.
An account is required to submit an extension. Prepare your request, then sign in to build.