For Agents
Search clinical trials, FDA applications, and supporting documents, and look up trials, conditions, interventions, organisations, and persons by ID.
Use for: Search clinical trials about diabetes drug X, Find documents related to a specific trial ID, Autocomplete a condition name in clinical trials, Look up an FDA application by ID
Not supported: Does not handle trial registration, patient enrollment, or adverse-event reporting — use for read-only OpenTrials search and lookup only.
OpenTrials API provides programmatic access to a database of clinical trial records, supporting documents, FDA applications, conditions, interventions, organisations, persons, and publications. Endpoints cover free-text and faceted search, autocomplete suggestions, FDA document search, and direct lookup of trials and their record provenance. The API is read-only with no authentication required, and is intended for transparency, research, and aggregation use cases that build on top of clinical trial registries.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the OpenTrials API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with OpenTrials API.
Run full-text search across trials, documents, and FDA applications via /search
Autocomplete trial-related entities with /search/autocomplete/{in}
Search FDA application documents via /search/fda_documents
Retrieve a specific trial by ID with /trials/{id} and inspect its source records
Look up conditions, interventions, organisations, persons, and publications by ID
List FDA applications and inspect a single application's records
Enumerate the data sources contributing to the database with /sources
Patterns agents use OpenTrials API for, with concrete tasks.
★ Clinical Trial Discovery
Researchers and journalists investigating a drug or condition can run /search with filters to surface every registered trial and supporting document available in OpenTrials. Each trial returned exposes its source registries, intervention list, and condition list, along with /trials/{id}/records linking back to the underlying registry entries. This is useful for systematic review preparation and for spotting trial registration mismatches across registries.
GET /search with q='metformin diabetes' and inspect each returned trial's /trials/{id}/records to gather all registry entries
FDA Document Lookup
Regulatory analysts and pharma intelligence teams can use /search/fda_documents to find FDA review documents, then /fda_applications/{id} to fetch the full application record. /documents and /documents/{id} expose the cross-referenced supporting documents (protocols, results, statistical analysis plans) that OpenTrials has indexed alongside the application.
GET /search/fda_documents with q='ozempic' and resolve the top results to /fda_applications/{id} for full application metadata
Autocomplete in Trial Search UIs
Frontends building a trial search experience can wire /search/autocomplete/{in} to provide type-ahead suggestions for conditions, interventions, organisations, or persons. The {in} path parameter selects the entity type to autocomplete against, returning ranked suggestions for the user's partial input. This avoids implementing a separate suggestion index on the consumer side.
GET /search/autocomplete/conditions?q=alzhei and return the top 10 matching condition names
AI Agent Clinical Research Assistant
An AI agent helping a researcher answer 'find all trials of drug X for condition Y' can call OpenTrials through Jentic without writing endpoint URLs. Jentic resolves the agent's intent into the right /search or /trials/{id} call, dispatches the request, and returns structured JSON the agent can summarise. Because OpenTrials is unauthenticated, no key handling is needed.
Through Jentic, search 'find clinical trials about a drug', resolve to GET /search, and execute with q='pembrolizumab melanoma'
17 endpoints — opentrials api provides programmatic access to a database of clinical trial records, supporting documents, fda applications, conditions, interventions, organisations, persons, and publications.
METHOD
PATH
DESCRIPTION
/search
Full-text search across trials and documents
/search/autocomplete/{in}
Autocomplete suggestions by entity type
/search/fda_documents
Search FDA application documents
/trials/{id}
Look up a trial by ID
/trials/{id}/records
Get source registry records for a trial
/fda_applications/{id}
Look up an FDA application by ID
/sources
List contributing data sources
/search
Full-text search across trials and documents
/search/autocomplete/{in}
Autocomplete suggestions by entity type
/search/fda_documents
Search FDA application documents
/trials/{id}
Look up a trial by ID
/trials/{id}/records
Get source registry records for a trial
/fda_applications/{id}
Look up an FDA application by ID
/sources
List contributing data sources
Three things that make agents converge on Jentic-routed access.
Credential isolation
OpenTrials has no auth, so Jentic dispatches the request without provisioning credentials. There is nothing for the agent context to leak.
Intent-based discovery
Agents search Jentic for intents like 'search clinical trials' or 'look up an FDA application' and Jentic returns the matching OpenTrials operation with its parameter schema.
Time to first call
Direct integration with OpenTrials: 1-2 hours to handle search faceting and entity-type autocomplete. Through Jentic: under 30 minutes — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using OpenTrials API through Jentic.
What authentication does the OpenTrials API use?
None — the spec defines no security schemes. Read-only requests go out unauthenticated. Through Jentic the calls dispatch directly with no vault entry needed for this API.
Can I search across multiple registries in one request with the OpenTrials API?
Yes — /search aggregates across all registries OpenTrials has indexed. The /sources endpoint enumerates the contributing registries so you can verify coverage. Each returned trial exposes its underlying source records via /trials/{id}/records.
What are the rate limits for the OpenTrials API?
OpenTrials does not document a fixed rate limit on the public spec. Treat it as a community resource and back off on transient errors. Heavy automated workloads should be run against a local mirror if available.
How do I look up a trial by ID through Jentic?
Search Jentic for 'look up clinical trial', load the GET /trials/{id} schema, and execute with the trial ID. Jentic returns the trial record including the linked /trials/{id}/records list of source registry entries.
Does the OpenTrials API include results data for trials?
Trial result publications and supporting documents are accessed through /publications/{id} and /documents/{id} respectively. The trial record itself links to these IDs so the consumer can pull results when present in the source registry.
What's the difference between /trials/{id} and /trials/{id}/records?
/trials/{id} returns the consolidated OpenTrials view of a trial, while /trials/{id}/records returns the underlying registry entries (e.g. ClinicalTrials.gov, EUCTR, ISRCTN) that were merged. /trials/{trialId}/records/{id} returns one specific source record for audit purposes.
GET STARTED