# ClinicalTrials.gov Search & Export (`datalantern/clinical-trials-search`) Actor

Search ClinicalTrials.gov by condition, drug, sponsor, phase, status, and country, and export clinical trials to CSV, Excel, or JSON with sponsors, dates, enrollment, and trial sites.

- **URL**: https://apify.com/datalantern/clinical-trials-search.md
- **Developed by:** [Data Lantern](https://apify.com/datalantern) (community)
- **Categories:** Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## ClinicalTrials.gov Search & Export

**ClinicalTrials.gov Search & Export** lets you search the official ClinicalTrials.gov registry by condition, drug, sponsor, phase, recruitment status, and country, and export every matching clinical trial to CSV, Excel, or JSON in one clean table.

### What can this tool do?

- Search more than 500,000 registered clinical studies with the official ClinicalTrials.gov API.
- Filter by condition or disease, drug or intervention, sponsor, keywords, phase, recruitment status, and country.
- Export thousands of trials in seconds, with no page-by-page copying.
- Return sponsors and collaborators, enrollment, start and completion dates, study type, and whether results are posted.
- List trial sites as institution, city, and country, plus the number of sites and countries per trial.
- Sort by relevance, newest, or last updated, so you can run it on a schedule and catch new or changed trials.

### What data does it return?

One row per study. Example values from a real run:

| Field | Example |
|---|---|
| `nctId` | NCT07586618 |
| `title` | First-in-human Study of a New Treatment (4A10) for Patients With Relapsed or Hard-to-treat Acute Lymphoblastic Leukemia … |
| `officialTitle` | A First in Human, Phase 1, Open-Label Study on the Safety, Tolerability, Pharmacokinetics, and Pharmacodynamics of 4A10 … |
| `status` | Recruiting |
| `phase` | \["Phase 1"] |
| `conditions` | \["Lymphoblastic Lymphoma", "Acute Lymphoblastic Leukemia ALL"] |
| `interventions` | \["Drug: 4A10"] |
| `sponsor` | Allterum Therapeutics, Inc |
| `sponsorType` | Industry |
| `collaborators` | \["National Cancer Institute (NCI)", "Cancer Prevention Research Institute of Texas"] |
| `studyType` | Interventional |
| `enrollment` | 24 |
| `enrollmentType` | Estimated |
| `startDate` | 2026-06-01 |
| `primaryCompletionDate` | 2028-05 |
| `completionDate` | 2028-09 |
| `firstPosted` | 2026-05-14 |
| `lastUpdated` | 2026-09-01 |
| `hasResults` | false |
| `locationsCount` | 7 |
| `countries` | \["United States"] |
| `facilities` | \["Children's Hospital Colorado (Aurora, United States)", "Memorial Sloan Kettering Cancer Center (New York, United States)", …] |
| `briefSummary` | ALT-101 is a first-in-human Phase 1 clinical trial testing a new antibody drug called 4A10 … |
| `url` | https://clinicaltrials.gov/study/NCT07586618 |

Every row has the same fields, so CSV and Excel exports stay tidy.

### How to use it

1. Enter a condition, drug, or sponsor, and optionally pick phases, statuses, and a country.
2. Set **Maximum results** (0 = all matching studies).
3. Click **Start**, then download the results as CSV, Excel, or JSON, or read them through the API.

### Common uses

- Competitive intelligence: every Phase 2 and Phase 3 trial of a drug class or a competitor's pipeline.
- Site feasibility: which hospitals in a country run trials for a condition.
- Market research and investment due diligence on a therapeutic area.
- Weekly monitoring: sort by **Last updated** and schedule the run to catch new and changed trials.

### Pricing

Pay per study: **$5.00 per 1,000 studies**, plus $0.005 per run. You only pay for studies you receive. Set **Maximum results** or a maximum cost per run to control spend.

### Use it through the API, AI agents, and integrations

Call it from your code with the Apify API, schedule it, or connect it to Make, Zapier, n8n, or an AI agent through Apify's MCP server.

### Is it legal?

The data comes from ClinicalTrials.gov, a public registry run by the U.S. National Library of Medicine, through its official API. This tool returns study and organisation information only. **Names, emails, and phone numbers of investigators and study contacts are never collected**, and sponsors or sites that are individual people are hidden. You are responsible for how you use the data.

### FAQ

**Why do I get fewer results than on the website?** Check the filters: the country filter keeps studies with at least one site in that country, and phases and statuses combine with AND. `totalMatching` in the run's OUTPUT shows how many studies matched in total.

**How do I write the country?** Use the English country name, for example `United States`, `United Kingdom`, `Germany`. Common short forms like `USA` and `UK` also work.

**Can I get the principal investigator or contact email?** No. Those are personal details, so this tool leaves them out. Use the `url` to open the official study page.

**Some trials list hundreds of sites. Are they all included?** `locationsCount` and `countries` cover every site; `facilities` lists up to 300 sites per study to keep rows manageable.

### Feedback

Found a bug or need a field added? Open an issue on the **Issues** tab. We usually respond within 24 hours.

# Actor input Schema

## `condition` (type: `string`):

For example: diabetes, breast cancer, Alzheimer's disease.

## `term` (type: `string`):

Optional. Any words in the study record, for example: GLP-1, pediatric, quality of life.

## `intervention` (type: `string`):

Optional. For example: semaglutide, pembrolizumab, cognitive behavioral therapy.

## `sponsor` (type: `string`):

Optional. Company or institution, for example: Pfizer, National Cancer Institute.

## `phase` (type: `array`):

Optional. Leave empty for all phases.

## `status` (type: `array`):

Optional. Leave empty for all statuses.

## `country` (type: `string`):

Optional. Studies with at least one site in this country, for example: United States, Germany, Japan.

## `sortBy` (type: `string`):

Relevance works best with search words. Use 'Last updated' to monitor changes.

## `maxResults` (type: `integer`):

Stop after this many studies. 0 means no limit.

## Actor input object example

```json
{
  "condition": "diabetes",
  "phase": [],
  "status": [],
  "sortBy": "relevance",
  "maxResults": 50
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "condition": "diabetes"
};

// Run the Actor and wait for it to finish
const run = await client.actor("datalantern/clinical-trials-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "condition": "diabetes" }

# Run the Actor and wait for it to finish
run = client.actor("datalantern/clinical-trials-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "condition": "diabetes"
}' |
apify call datalantern/clinical-trials-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datalantern/clinical-trials-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8SraPvDoNXjHDNbXa/builds/vs8ycCwy0E350sQNj/openapi.json
