BYTETOOLS

ClinicalTrials.gov API

Free ClinicalTrials.gov API with no key: 500,000+ clinical studies worldwide with conditions, interventions, eligibility, locations and results. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 19 Aug 2026

What is the ClinicalTrials.gov API?

The ClinicalTrials.gov API is a free, key-free API from the US National Library of Medicine providing data on more than 500,000 clinical studies worldwide — conditions, interventions, eligibility criteria, sites and posted results.

This is the definitive registry of clinical research. Every study has a structured record covering the condition studied, the intervention, phase, recruitment status, eligibility criteria and participating sites, plus results where they have been posted.

The v2 API is a substantial redesign from the retired v1 — the paths, parameter names and response structure all changed. A great deal of older tutorial code targets v1 and will not work, so check you are reading current documentation.

Quick facts

Base URL
https://clinicaltrials.gov/api/v2
Authentication
No API key required.
Rate limit
No published hard limit; large paged queries should be throttled.
Pricing
Free public domain US government data.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the ClinicalTrials.gov API

Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. Fetch a clinical study record

GET https://clinicaltrials.gov/api/v2/studies?pageSize=1

curl
curl 'https://clinicaltrials.gov/api/v2/studies?pageSize=1'
JavaScript (fetch)
const res = await fetch("https://clinicaltrials.gov/api/v2/studies?pageSize=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://clinicaltrials.gov/api/v2/studies?pageSize=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "studies": [
    {
      "protocolSection": {
        "identificationModule": {
          "nctId": "NCT05823935",
          "orgStudyIdInfo": {
            "id": "MD.22.10.703"
          },
          "organization": {
            "fullName": "Mansoura University",
            "class": "OTHER"
          },
          "briefTitle": "Laparoscopic Versus Vaginal Cuff Closure During LH in Benign Gynecological Lesions",
          "officialTitle": "Laparoscopic Versus Vaginal Cuff Closure During Laparoscopic Hysterectomy in Benign Gynecological Lesions"
        },
        "statusModule": {
          "statusVerifiedDate": "2023-04",
          "overallStatus": "UNKNOWN",
          "lastKnownStatus": "RECRUITING",
          "expandedAccessInfo": {
            "hasExpandedAccess": false
          },
          "startDateStruct": {
            "date": "2022-11-05",
            "type": "ACTUAL"
          },
          "primaryCompletionDateStruct": {
            "date": "2023-11",
            "type": "ESTIMATED"
          },
          "completionDateStruct": {
            "date": "2023-11",
            "type": "ESTIMATED"
          },
          "studyFirstSubmitDate": "2023-04-09",
          "studyFirstSubmitQcDate": "2023-04-09",
          "studyFirstPostDateStruct": {
            "date": "2023-04-21",
            "type": "ACTUAL"
          },
          "lastUpdateSubmitDate": "2023-04-09",
          "lastUpdatePostDateStruct": {
            "date": "2023-04-21",
            "type": "ACTUAL"
          }
        },
        "sponsorCollaboratorsModule": {
          "responsibleParty": {

Parameters

ParameterTypeRequiredDescription
pageSizeintegerOptionalResults per page, max 1000. 10
pageTokenstringOptionalToken from the previous response for the next page. abc123
query.condstringOptionalSearch by condition or disease. diabetes
query.intrstringOptionalSearch by intervention or treatment. metformin
filter.overallStatusstringOptionalRECRUITING, COMPLETED, TERMINATED and others. RECRUITING
fieldsstringOptionalRestrict returned fields to shrink the payload. NCTId,BriefTitle

Response fields

studies[].protocolSection.identificationModule.nctIdstring
The NCT registry number identifying the study.
...identificationModule.briefTitlestring
Study title.
...statusModule.overallStatusstring
Recruitment status.
...conditionsModule.conditionsarray
Conditions being studied.
...armsInterventionsModule.interventionsarray
Treatments or interventions tested.
...eligibilityModuleobject
Inclusion and exclusion criteria, age and sex.
nextPageTokenstring
Cursor for the next page of results.

What you can build with the ClinicalTrials.gov API

  • Help patients find clinical trials recruiting for their condition
  • Research the treatment landscape for a disease area
  • Monitor competitor pipelines in pharmaceutical research
  • Analyse trial design and outcome trends

Common errors and how to fix them

v1 URLs return 404

The v1 API was retired.

Fix: Use /api/v2 paths and the new parameter names; older tutorials target the removed v1.

Deeply nested fields

Records are organised into protocolSection modules.

Fix: Use the `fields` parameter to flatten what you need rather than traversing the whole structure.

Enormous responses

Full study records are very large.

Fix: Always set `fields` and a modest pageSize.

ClinicalTrials.gov API — frequently asked questions

Is the ClinicalTrials.gov API free?

Yes, completely free with no API key. It is US government public domain data.

Why do my old ClinicalTrials.gov API calls fail?

The v1 API was retired and replaced by v2, which changed paths, parameter names and the response structure. Older tutorials will not work — use /api/v2.

How do I find trials recruiting for a condition?

Combine query.cond with filter.overallStatus=RECRUITING, then read the location module to find nearby sites.

Are trial results included?

Where sponsors have posted them, yes — in the resultsSection. Many studies have no posted results, particularly older or terminated ones.

Tools that pair with this API

Alternatives to ClinicalTrials.gov API

If ClinicalTrials.gov does not fit, these health & medical apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
openFDAFree FDA openFDA API with no key: drug labels, adverse event reports, recalls, device and food safety data from official US regulatory records. Tested example.No keyYes19 Aug 2026
RxNormFree NIH RxNorm API with no key: normalised drug names, ingredients, brand-generic mapping and clinical drug identifiers from the US National Library of Medicine.No keyYes19 Aug 2026
WHO Global Health ObservatoryFree World Health Organization API with no key: 2,000+ health indicators by country and year — life expectancy, mortality, immunisation and disease data. Tested.No keyNo19 Aug 2026
PubChemFree NIH PubChem API with no key: 100M+ chemical compounds with formulas, molecular weight, structures, synonyms, safety and bioactivity data. Tested.No keyYes20 Aug 2026
ClinPGx (PharmGKB)Free ClinPGx API, formerly PharmGKB, with no key: pharmacogenomic gene records, allele definitions, CPIC guideline status and drug-gene relationships. No account needed.No keyYes21 Aug 2026
CMS Provider Data CatalogFree CMS Provider Data Catalog API with no key: hospital, nursing home, hospice and dialysis quality ratings, measure scores and facility details for the United States.No keyNo21 Aug 2026
All Health & Medical APIs

ClinicalTrials.gov is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.