# Clinical trials API — $0.0005 per study

> Clinical trials API: Studies from ClinicalTrials.gov — status, phase, conditions. $0.0005 per delivered study, nothing delivered means nothing charged.

[Home](https://quanticdata.io/)/[Collectors](https://quanticdata.io/collectors/)/*Clinical trials API*

# Clinical trials API

ClinicalTrials.gov is the US NIH registry of human studies, and its v2 API is powerful and deeply nested — each study is a tree of modules you have to walk to reach the sponsor or the phase. This endpoint runs that v2 search and flattens every study into one flat row: the NCT id, title, recruitment status, phase, study type, the conditions and interventions as arrays, lead sponsor, enrollment, start and completion dates, whether results are posted and the study URL.

[Get my free API key](https://app.quanticdata.io/register) [See the request](/collectors/clinical-trials-api/#integration)

$0.0005 per delivered study · $2 free every month · Failed runs never billed

POST /v1/scraper/collectors/clinical_trials/run

```
$ curl $QD/clinical_trials/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"query": "cancer immunotherapy", "status": "RECRUITING", "max_results": 20}'
{ "status": "done", "count": 20,
  "results": [
    {
      "nct_id": "…",
      "title": "…",
      "status": "…",
      "phases": […] } ],
  "cost": 0.01 }
# 20 studys × $0.0005 · nothing delivered, nothing charged
```

**$0.0005 / study**4,000 studys on the free $2 every month

**Semantic input**query, condition, status — no URL lists

**Up to 200**studys per run, pagination handled for you

**No browser**read over HTTP/TLS — cheaper and faster than rendering

On this page: [What it is](/collectors/clinical-trials-api/#what) [Output fields](/collectors/clinical-trials-api/#output) [Inputs](/collectors/clinical-trials-api/#input) [Pricing](/collectors/clinical-trials-api/#pricing) [Integration](/collectors/clinical-trials-api/#integration) [Use cases](/collectors/clinical-trials-api/#use-cases) [Versus the alternatives](/collectors/clinical-trials-api/#compare) [FAQ](/collectors/clinical-trials-api/#faq)

## What a clinical trials API does

The v2 API models a study as protocol, status, sponsor, design and outcome modules, each nested several levels deep; the fields most people actually want — is it recruiting, what phase, whose drug, for which condition — sit at the bottom of different branches. This pulls them up into named columns, so a search for a drug or a disease returns a table of trials rather than a stack of JSON documents to traverse.

You filter the way the registry is organised: a free-text term, a specific condition, and a recruitment status from the registry's own enum. Conditions and interventions stay as arrays because a trial genuinely has several of each, and the NCT id on every row is the identifier that links a study back to results postings, publications and your own records.

Input is meaning, not a URL *query* *condition* *status* *max_results*

## What one study looks like

Every delivered study carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

| Field | Type | What it holds |
| --- | --- | --- |
| `rank` | integer | 1-based position. |
| `nct_id` | string | ClinicalTrials.gov NCT id. |
| `title` | string · nullable | Brief title. |
| `status` | string · nullable | Overall recruitment status. |
| `phases` | string[] | Trial phase(s). |
| `study_type` | string · nullable | Interventional, Observational… |
| `conditions` | string[] | Conditions studied. |
| `interventions` | string[] | Interventions/treatments. |
| `sponsor` | string · nullable | Lead sponsor. |
| `enrollment` | integer · nullable | Planned/actual enrollment. |
| `start_date` | string · nullable | Study start date. |
| `completion_date` | string · nullable | Study completion date. |
| `has_results` | boolean | Whether results are posted. |
| `url` | string | Study page URL. |

## Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

| Input | Type | Required | What it does |
| --- | --- | --- | --- |
| `query` | string | no | Free-text search term (drug, disease, sponsor…). |
| `condition` | string | no | Restrict to a medical condition. |
| `status` | string | no | Recruitment status filter. One of: `RECRUITING`, `NOT_YET_RECRUITING`, `ACTIVE_NOT_RECRUITING`, `COMPLETED`, `ENROLLING_BY_INVITATION`, `SUSPENDED`, `TERMINATED`, `WITHDRAWN`. |
| `max_results` | integer | no | How many studies to deliver at most (1–200). You pay only for delivered studies. |

Pricing

## Clinical trials API pricing

$0.0005 per delivered study. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 4,000 studys before you spend anything.

**$0.0005**per delivered study*$0.5 per 1,000 delivered studys*

**4,000 studys**on the free allowance*$2 every month, no card*

**Zero rows**zero charge*blocks, captchas and retries are on us*

**−30%**on volume tiers*the catalog returns your key's price*

### Pay as you go

$0/mo

- $2 free credit / month

- 60 requests / min

- List unit prices

### Starter

$19/mo

- $15 free credit / month

- 300 requests / min

- 10% off unit prices

Most popular

### Growth

$79/mo

- $50 free credit / month

- 600 requests / min

- 20% off unit prices

### Scale

$299/mo

- $250 free credit / month

- 1,200 requests / min

- 30% off unit prices

Same wallet, same key and same $2 monthly allowance as every other [Data API](https://quanticdata.io/web-data-api-for-ai/). Prices are launch pricing read live from the billing config — `GET /v1/scraper/collectors` returns the price your key actually pays.

Integration

## One POST, typed rows

Base URL `https://api.quanticdata.io/v1`, Bearer auth, the same key as every other Data API. Endpoint: `POST /v1/scraper/collectors/clinical_trials/run`.

```
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/clinical_trials/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"cancer immunotherapy","status":"RECRUITING","max_results":20}'
```

```
import requests

r = requests.post(
    "https://api.quanticdata.io/v1/scraper/collectors/clinical_trials/run",
    headers={"Authorization": f"Bearer {QD_API_KEY}"},
    json={
        "query": "cancer immunotherapy",
        "status": "RECRUITING",
        "max_results": 20
    },
    timeout=120,
)
for row in r.json()["payload"]["results"]:
    print(row)
```

```
const res = await fetch(
  "https://api.quanticdata.io/v1/scraper/collectors/clinical_trials/run",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.QD_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({"query":"cancer immunotherapy","status":"RECRUITING","max_results":20}),
  },
);
const { payload } = await res.json();
console.table(payload.results);
```

```
claude mcp add quantumproxies \
  -e QUANTUMPROXIES_API_KEY=qd_live_your_key_here \
  -- npx -y quantumproxies-mcp

# then, in the chat:
> run the clinical_trials collector with query="cancer immunotherapy" and status="RECRUITING"
```

## What people build with the clinical trials API

Three shapes of work this endpoint was designed around.

### Trial landscape scans

Search a condition and pull every study with its phase, status and sponsor to see who is running what, as rows you can group and count.

### Recruitment monitoring

Filter to RECRUITING for a disease area and track which trials are open and enrolling, refreshed on a schedule.

### Sponsor and pipeline datasets

The lead sponsor and interventions per trial map a company's clinical pipeline, joinable by name to its filings and its competitors.

## Clinical trials API versus rolling your own

The differences that actually cost time when you build this in-house.

|  | DIY scraper | This collector |
| --- | --- | --- |
| Study shape | Nested v2 modules to walk | One flat row per study |
| Multi-valued fields | Arrays buried in sub-objects | conditions and interventions as clean arrays |
| Filtering | Build v2 query expressions | Term, condition and status inputs |

## FAQ

Questions we get about the clinical trials API.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Which registry is this — ClinicalTrials.gov or the EU register?

ClinicalTrials.gov, the US NIH registry, through its v2 API. It is the largest single registry and covers trials worldwide that report to it, but it is not the EU CTIS register; if you need the European registry specifically, this is not that source.

### Do I need an API key?

ClinicalTrials.gov's v2 API is a public US government registry, not a gated commercial service. The work this saves you is not access but shape: each study's nested v2 modules are flattened into one row with the phase, sponsor and status pulled up to the top.

### Why are conditions and interventions arrays instead of strings?

Because a trial usually studies more than one condition and tests more than one intervention. Keeping them as arrays preserves that rather than jamming several values into one comma-spliced string you would have to split again.

### Can I get only trials that are currently recruiting?

Yes — set `status` to RECRUITING, or any of the registry's statuses such as COMPLETED or TERMINATED, to keep just those studies. Combine it with a `condition` to scope a disease area.

### Is there a free clinical trials API?

Every account gets $2 of credit every month with no card, which is about 4,000 delivered studys on this endpoint at $0.0005 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

### How much does one run cost?

Multiply the rows you actually receive by $0.0005. A run capped at 200 studys — the maximum for this collector — costs $0.1 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and `GET /v1/scraper/collectors` returns the price your key actually pays.

## Run the clinical trials API now

$2 of free credit every month, no card. Your key returns its own prices from `GET /v1/scraper/collectors`.

[Get my free API key](https://app.quanticdata.io/register)

Related: [All 65 collectors](https://quanticdata.io/collectors/) [Wikidata API](https://quanticdata.io/collectors/wikidata-api/) [Wikipedia API](https://quanticdata.io/collectors/wikipedia-api/) [SEC EDGAR API](https://quanticdata.io/collectors/sec-edgar-api/) [Documentation](https://quanticdata.io/docs/)

---

Source: https://quanticdata.io/collectors/clinical-trials-api/ · Site index for AI: https://quanticdata.io/llms.txt
