Search

Search clinical trials

Search for clinical trials. Trial records come from ClinicalTrials.gov.

Pass trialFilters to narrow by phase, recruitment status, or whether the trial has posted results. Set searchMode to "keyword" to send the query as a Lucene-style boolean expression directly to the underlying advanced-filter API.

Filters and searchMode: "keyword" are mutually exclusive — put filter expressions directly into the query when using keyword search. Mixing them returns a 400.

To search academic papers instead, use POST /api/v2/search/papers.

Limits

Each plan caps how many results a single search request may return:

PlanResults per request
BasicNo access
PlusNo access
Pro300
Scale500
Enterprise10,000

Search is rate-limited only by the global limit of 100 requests per minute per IP address, applied across all endpoints and all plans. Exceeding it returns a 429 and blocks the IP for 5 minutes.

Upgrade your plan in account settings for higher per-request result caps.

Example

curl -X POST https://elicit.com/api/v2/search/trials \
  -H "Authorization: Bearer elk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"query": "semaglutide obesity", "trialFilters": {"phase": ["PHASE3"]}}'
post/search/trials

Request body

querystring required

The search query string

searchMode'semantic' | 'keyword'

How to interpret query. semantic (default) runs Elicit's semantic search. keyword sends the query as a Lucene-style boolean expression directly to the corpus search API. Mutually exclusive with filters / trialFilters — put filter expressions into the query string in keyword mode.

maxResultsinteger

Maximum number of results to return (1-10000)

Example request

{
  "query": "GLP-1 receptor agonists for weight loss",
  "searchMode": "semantic",
  "trialFilters": {
    "phase": [
      "PHASE2",
      "PHASE3"
    ],
    "recruitmentStatus": [
      "RECRUITING",
      "ACTIVE_NOT_RECRUITING"
    ],
    "hasResults": true
  }
}

Response

Trial search results returned successfully.

Example response

{
  "trials": [
    {
      "nctId": "NCT05646706",
      "url": "https://clinicaltrials.gov/study/NCT05646706"
    }
  ]
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.