2.9 KiB
title, task, lineage_type, upstream_source, upstream_sha, imported_at, prompt_class, upstream_changes, author, validated
| title | task | lineage_type | upstream_source | upstream_sha | imported_at | prompt_class | upstream_changes | author | validated |
|---|---|---|---|---|---|---|---|---|---|
| ClinicalTrials.gov (v2 API) | import | https://github.com/K-Dense-AI/scientific-agent-skills/blob/1e024ea8/skills/database-lookup/references/clinicaltrials.md | 1e024ea8 | 2026-07-02 | prompt | accepted | upstream | false |
ClinicalTrials.gov (v2 API)
Base URL
https://clinicaltrials.gov/api/v2/
Auth
No API key required. Fully public.
Key Endpoints
API version and data freshness
GET /version
Check dataTimestamp before time-sensitive retrievals to confirm the daily refresh has completed. ClinicalTrials.gov notes that data is generally refreshed Monday through Friday by 9 a.m. ET / 14:00 UTC.
ClinicalTrials.gov modernized its data ingest on August 26, 2025. For reproducible comparisons against older exports, note that some rich text markup fields and location/geopoint data may differ from the legacy pipeline.
Search studies
GET /studies
Key parameters:
query.cond— condition/disease (e.g.breast cancer)query.intr— intervention/treatment (e.g.pembrolizumab)query.term— general search termsquery.spons— sponsorquery.id— NCT IDfilter.overallStatus— pipe-delimited:RECRUITING|COMPLETED|ACTIVE_NOT_RECRUITING|...filter.phase—PHASE1|PHASE2|PHASE3|PHASE4|NAfilter.geo—distance(lat,lon,dist)e.g.distance(38.89,-77.03,50mi)fields— comma-separated field list to reduce payloadsort— e.g.LastUpdatePostDate:descpageSize— results per page (default 10, max 1000)pageToken— cursor for next page (fromnextPageTokenin response)countTotal=true— include total count
Example — recruiting Phase 3 breast cancer trials:
/studies?query.cond=breast+cancer&filter.overallStatus=RECRUITING&filter.phase=PHASE3&pageSize=5&countTotal=true
Response structure:
{
"totalCount": 1234,
"studies": [
{
"protocolSection": {
"identificationModule": {"nctId": "NCT05123456", "briefTitle": "..."},
"statusModule": {"overallStatus": "RECRUITING"},
"designModule": {"phases": ["PHASE3"], "enrollmentInfo": {"count": 500}},
"conditionsModule": {"conditions": ["Breast Cancer"]},
"eligibilityModule": {"minimumAge": "18 Years", "sex": "ALL"}
}
}
],
"nextPageToken": "CAYQAg"
}
Single study by NCT ID
GET /studies/{nctId}
Example: /studies/NCT05123456
Study count
GET /stats/size?query.cond={condition}&filter.overallStatus=RECRUITING
Field metadata
GET /studies/metadata
Pagination
Uses cursor-based pagination via pageToken (NOT numeric offsets). Include countTotal=true on first request to get total.
Rate Limits
No API key. Be reasonable — a few requests per second. Bulk: https://clinicaltrials.gov/AllAPIJSON.zip