# 2s.io Clinical Trial Search

> 2s.io Clinical Trial Search is a paid API for AI agents from 2s.io, paid per call via x402, $0.0012/call, status unknown (last checked 2026-09-14).

Search ClinicalTrials.gov for registered clinical studies by free-text query, NCT ID, or filters like phase, status, sponsor, and country

## Facts

- Endpoint: GET https://2s.io/api/clinical/trial-search
- Price: $0.0012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-72ac7953
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dPJez0lxe5ONYfoZlckp_

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-72ac7953
```

Example prompt: Search ClinicalTrials.gov for recruiting Phase 3 trials studying pembrolizumab for non-small cell lung cancer in the United States — show me the top 10 results with their NCT IDs, status, interventions, and brief summaries.

## When to prefer this

Use this endpoint when you need structured, filterable access to ClinicalTrials.gov data — especially when you need to filter by phase, recruitment status, sponsor, or country in addition to keyword search. Prefer this over scraping clinicaltrials.gov directly because it returns normalized, machine-readable records with all key fields pre-extracted. Ideal for agents that need to match patients to trials, analyze drug pipelines, or summarize trial landscapes for a condition.

## Known failure modes

- Invalid NCT ID format returns an error or empty result
- Unknown phase enum value rejected by schema validation
- Free-text query with no matches returns empty results list
- Invalid status enum value causes a 400-level error
- Pagination token from a different query session may return unexpected results
- Country name misspelling or non-standard form may return no results

## How this service works

Search ClinicalTrials.gov — every registered US (and many international) clinical study (~500k trials). Free-text query matches title + condition + intervention; or direct lookup by NCT ID. Optional filters: recruitment status, lead sponsor, phase (PHASE1..PHASE4), country. Each record includes NCT ID, brief + official title, status, phases, study type, conditions list, interventions (with type + name), enrollment count + type, key dates (start / primary completion / completion / first posted / last update), lead sponsor + class (INDUSTRY/NIH/OTHER), hasResults flag, brief summary, and canonical clinicaltrials.gov URL. Public-domain NIH NLM data.

## Output

A list of clinical trial records (up to 100 per page), each containing: NCT ID, brief and official title, recruitment status, phases, study type, conditions, interventions (type + name), enrollment count and type, key dates (start, primary completion, completion, first posted, last update), lead sponsor name and class (INDUSTRY/NIH/OTHER), hasResults flag, brief summary, and a canonical clinicaltrials.gov URL. Includes a pagination token for fetching subsequent pages.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "query": "diabetes",
   "status": "RECRUITING",
   "pageSize": 10
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "properties": {
      "nctId": {
       "type": "string",
       "description": "Direct NCT ID lookup (NCT\\d{8})."
      },
      "phase": {
       "type": "string",
       "description": "PHASE1 | PHASE2 | PHASE3 | PHASE4 | NA | EARLY_PHASE1."
      },
      "query": {
       "type": "string",
       "description": "Free-text query (title/condition/intervention/sponsor)."
      },
      "status": {
       "enum": [
        "RECRUITING",
        "ACTIVE_NOT_RECRUITING",
        "COMPLETED",
        "TERMINATED",
        "WITHDRAWN",
        "NOT_YET_RECRUITING",
        "SUSPENDED"
       ],
       "type": "string"
      },
      "country": {
       "type": "string",
       "description": "Country name (e.g., \"United States\")."
      },
      "sponsor": {
       "type": "string",
       "description": "Lead sponsor name filter."
      },
      "pageSize": {
       "type": "integer",
       "default": 10,
       "maximum": 100,
       "minimum": 1
      },
      "pageToken": {
       "type": "string",
       "description": "Opaque token from prior response (pagination)."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-72ac7953/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
