TrialCore
TrialCore provides access to 575K+ clinical trial records sourced from ClinicalTrials.gov. It covers all phases of clinical research including trial protocols, eligibility criteria, endpoints, sponsor information, recruitment status, and results. Updated daily.
Endpoints
Search — GET /v1/cores/trialcore/records
Search across clinical trial records with filters for phase, status, study type, and more.
curl "https://api.amass.tech/api/v1/cores/trialcore/records?query=cancer+immunotherapy&limit=5" \
-H "Authorization: Bearer amass_YOUR_KEY"Parameters:
| Name | Required | Default | Description |
|---|---|---|---|
query | yes | — | Search text |
limit | no | 20 | Results to return (1–300) |
include | no | — | Optional fields to return. Repeat for multiple: outcomes, detailedDescription, referencesBiomedCore |
phase | no | — | Trial phase. Match ANY of the given phases — repeat the param for multiple values (see Phase values and Multi-value filters) |
overallStatus | no | — | Recruitment status. Match ANY of the given statuses — repeat the param for multiple values (see Overall Status values) |
studyType | no | — | Study type. Match ANY of the given types — repeat the param for multiple values (see Study Type values) |
sponsorType | no | — | Sponsor type. Match ANY of the given types — repeat the param for multiple values (see Sponsor Type values) |
interventionType | no | — | Intervention type. Match ANY of the given types — repeat the param for multiple values (see Intervention Type values) |
facilityCountries | no | — | Comma-separated ISO country codes, e.g. DE,US |
hasResults | no | — | true or false — filter trials that have posted results |
minStartDate | no | — | ISO date, e.g. 2020-01-01 |
maxStartDate | no | — | ISO date, e.g. 2026-01-01 |
minCompletionDate | no | — | ISO date, e.g. 2026-01-01 |
maxCompletionDate | no | — | ISO date, e.g. 2026-01-01 |
minEnrollment | no | — | Minimum number of participants |
Example with filters — Phase 3 drug trials that are recruiting in the US and Germany:
curl "https://api.amass.tech/api/v1/cores/trialcore/records\
?query=breast+cancer\
&phase=PHASE3\
&overallStatus=RECRUITING\
&interventionType=DRUG\
&facilityCountries=US,DE\
&limit=20" \
-H "Authorization: Bearer amass_YOUR_KEY"Response:
{ "data": [ { "amassId": "AMTC_...", "briefTitle": "...", "..." }, ... ] }Multi-value filters
The enum filters phase, overallStatus, studyType, sponsorType, and interventionType each accept multiple values. Repeat the param and they combine the same way as BiomedCore's author & institution filters.
- Within one filter — OR. Repeat the param to match any of the listed values:
?phase=PHASE2&phase=PHASE3returns trials in Phase 2 or Phase 3. - Across filters — AND. Mixing different filters narrows the result:
?phase=PHASE3&overallStatus=RECRUITINGreturns trials that are Phase 3 and recruiting.
# Late-stage obesity drug trials that are either recruiting or active, run by industry
curl "https://api.amass.tech/api/v1/cores/trialcore/records\
?query=GLP-1+receptor+agonist+obesity\
&phase=PHASE2\
&phase=PHASE3\
&overallStatus=RECRUITING\
&overallStatus=ACTIVE_NOT_RECRUITING\
&sponsorType=INDUSTRY\
&interventionType=DRUG\
&interventionType=BIOLOGICAL\
&limit=100" \
-H "Authorization: Bearer amass_YOUR_KEY"Get by ID — GET /v1/cores/trialcore/records/{amassId}
Fetch a single trial record by its Amass ID.
curl "https://api.amass.tech/api/v1/cores/trialcore/records/AMTC_abc123\
?include=outcomes" \
-H "Authorization: Bearer amass_YOUR_KEY"Response:
{ "data": { "amassId": "AMTC_...", "briefTitle": "...", "..." } }Returns 404 if not found.
Lookup — POST /v1/cores/trialcore/records/lookup
Convert NCT IDs to Amass IDs in batch.
curl -X POST "https://api.amass.tech/api/v1/cores/trialcore/records/lookup" \
-H "Authorization: Bearer amass_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"items": [
{ "nctId": "NCT06012345" },
{ "nctId": "NCT05999999" }
]
}'Response:
{
"data": [
{
"input": { "nctId": "NCT06012345" },
"amassIds": ["AMTC_abc123"]
},
{
"input": { "nctId": "NCT05999999" },
"error": { "code": "NOT_FOUND", "message": "No matching record found" }
}
]
}Individual items can fail without failing the whole request. Always check each item for an error field.
Record Schema
Default fields (always returned)
| Field | Type | Description |
|---|---|---|
amassId | string | Unique Amass identifier (AMTC_...) |
nctId | string | null | ClinicalTrials.gov identifier |
briefTitle | string | null | Brief study title |
officialTitle | string | null | Official study title |
briefSummary | string | null | Brief study summary |
acronym | string | null | Short study acronym or nickname (e.g. KEYNOTE-189) |
phase | string | null | Trial phase (see Phase values) |
overallStatus | string | null | Recruitment status (see Overall Status values) |
studyType | string | null | Type of study (see Study Type values) |
startDate | string | null | ISO date |
completionDate | string | null | ISO date |
lastUpdateDate | string | null | ISO date |
hasResults | boolean | Whether trial has posted results |
enrollment | number | null | Number of participants |
enrollmentType | string | null | ACTUAL or ESTIMATED |
sponsorName | string | null | Lead sponsor name |
sponsorType | string | null | Sponsor type (see Sponsor Type values) |
collaborators | string[] | Collaborator names |
conditions | string[] | Conditions studied |
conditionMeshTerms | string[] | MeSH terms for conditions |
interventionTypes | string[] | Types of interventions (see Intervention Type values) |
interventionNames | string[] | Names of interventions |
interventionMeshTerms | string[] | MeSH terms for interventions |
facilityCountries | string[] | Countries where the trial is conducted (ISO codes) |
keywords | string[] | Study keywords |
orgStudyId | string | null | Organization's study ID |
secondaryIds | string[] | Secondary identifiers |
primaryOutcomeMeasures | string[] | Primary outcome measure descriptions |
secondaryOutcomeMeasures | string[] | Secondary outcome measure descriptions |
designAllocation | string | null | RANDOMIZED, NON_RANDOMIZED, or NA |
designInterventionModel | string | null | SINGLE_GROUP, PARALLEL, CROSSOVER, FACTORIAL, or SEQUENTIAL |
designPrimaryPurpose | string | null | E.g. TREATMENT, PREVENTION, DIAGNOSTIC |
designMasking | string | null | NONE, SINGLE, DOUBLE, TRIPLE, or QUADRUPLE |
resultsFirstPostDate | string | null | ISO date when results were first posted |
whyStopped | string | null | Reason for stopping (if applicable) |
isFdaRegulatedDrug | boolean | null | Whether trial involves an FDA-regulated drug |
isFdaRegulatedDevice | boolean | null | Whether trial involves an FDA-regulated device |
armGroups | object[] | Study arm groups (see Arm Group shape) |
oversightHasDmc | boolean | null | Whether study has a Data Monitoring Committee |
Optional fields
Request these with the include parameter.
| Field | Include value | Type | Description |
|---|---|---|---|
detailedDescription | detailedDescription | string | null | Full study description |
outcomes | outcomes | object[] | Detailed outcome results (see Outcome shape and pipeline tracking example) |
referencesBiomedCore | referencesBiomedCore | string[] | Cross-core link → BiomedCore. Amass IDs of BiomedCore records (publications) referenced by this trial — see trials-to-evidence example |
Reference field semantics
╔═════════════════ TrialCore (clinical trials) ═════════════════╗
║ ║
║ ┌──────────┐ ║
║ │ AMTC_X │ ║
║ └──────────┘ ║
║ ║
╚════════════════════════════════════════════════════════════════╝
│
│ AMTC_X.referencesBiomedCore ← 15 IDs
│ = [AMBC_p001, …, AMBC_p015]
│ ── cross-core link to BiomedCore ──
▼
╔══════════════════ BiomedCore (publications) ══════════════════╗
║ ║
║ ┌─► AMBC_p001 ║
║ ├─► AMBC_p002 ║
║ ├─► AMBC_p003 ║
║ │ ║
║ │ ⋮ ║
║ │ ║
║ ├─► AMBC_p013 ║
║ ├─► AMBC_p014 ║
║ └─► AMBC_p015 ║
║ ║
╚════════════════════════════════════════════════════════════════╝- TrialCore has no intra-core (trial-to-trial) link fields.
- Cross-core arrow leaves TrialCore for BiomedCore — target IDs start with
AMBC_.referencesBiomedCoreis the only reference field, and it always crosses the Core boundary. - Inside BiomedCore, the referenced publications can have their own intra-core links (
citedBy/references) — see BiomedCore.
Nested Schemas
Arm Group shape
{
"type": "EXPERIMENTAL",
"title": "Drug A + Drug B",
"description": "Participants receive Drug A 200mg daily plus Drug B 100mg weekly"
}type values: EXPERIMENTAL, ACTIVE_COMPARATOR, PLACEBO_COMPARATOR, SHAM_COMPARATOR, NO_INTERVENTION, OTHER
Outcome shape
{
"outcomeType": "PRIMARY",
"title": "Overall Survival",
"description": "Time from randomization to death from any cause",
"timeFrame": "Up to 36 months",
"population": "Intent-to-treat population",
"units": "months",
"paramType": "MEDIAN",
"dispersionType": "CONFIDENCE_95",
"measurements": [
{
"group": "Drug A",
"groupId": "OG000",
"paramValue": "24.5",
"dispersionLowerLimit": "20.1",
"dispersionUpperLimit": "28.9"
}
]
}outcomeType values: PRIMARY, SECONDARY, OTHER_PRE_SPECIFIED, POST_HOC
paramType values: GEOMETRIC_MEAN, GEOMETRIC_LEAST_SQUARES_MEAN, LEAST_SQUARES_MEAN, LOG_MEAN, MEAN, MEDIAN, NUMBER, COUNT_OF_PARTICIPANTS, COUNT_OF_UNITS
dispersionType values: NA, STANDARD_DEVIATION, STANDARD_ERROR, INTER_QUARTILE_RANGE, FULL_RANGE, CONFIDENCE_80, CONFIDENCE_90, CONFIDENCE_95, CONFIDENCE_975, CONFIDENCE_99, CONFIDENCE_OTHER, GEOMETRIC_COEFFICIENT
Filter Values
Phase
| Value | Description |
|---|---|
EARLY_PHASE1 | Early Phase 1 |
PHASE1 | Phase 1 |
PHASE1/PHASE2 | Phase 1/Phase 2 |
PHASE2 | Phase 2 |
PHASE2/PHASE3 | Phase 2/Phase 3 |
PHASE3 | Phase 3 |
PHASE4 | Phase 4 |
NA | Not applicable |
Overall Status
| Value | Description |
|---|---|
RECRUITING | Currently recruiting participants |
NOT_YET_RECRUITING | Not yet open for recruitment |
ENROLLING_BY_INVITATION | Enrolling by invitation only |
ACTIVE_NOT_RECRUITING | Ongoing but no longer recruiting |
SUSPENDED | Temporarily halted |
TERMINATED | Stopped early |
COMPLETED | Study completed |
WITHDRAWN | Withdrawn before enrollment |
UNKNOWN | Status unknown |
WITHHELD | Status withheld |
AVAILABLE | Available for expanded access |
NO_LONGER_AVAILABLE | No longer available for expanded access |
TEMPORARILY_NOT_AVAILABLE | Temporarily not available |
APPROVED_FOR_MARKETING | Approved for marketing |
Study Type
| Value | Description |
|---|---|
INTERVENTIONAL | Tests a specific intervention |
OBSERVATIONAL | Observes outcomes without intervention |
EXPANDED_ACCESS | Provides access outside of clinical trials |
Sponsor Type
| Value | Description |
|---|---|
NIH | National Institutes of Health |
FED | Other U.S. federal agency |
INDUSTRY | Industry sponsor |
OTHER | Other |
OTHER_GOV | Other government |
INDIV | Individual |
NETWORK | Network |
Intervention Type
| Value | Description |
|---|---|
DRUG | Drug |
DEVICE | Device |
BIOLOGICAL | Biological / Vaccine |
COMBINATION_PRODUCT | Combination product |
PROCEDURE | Procedure / Surgery |
RADIATION | Radiation |
DIETARY_SUPPLEMENT | Dietary supplement |
GENETIC | Genetic |
BEHAVIORAL | Behavioral |
DIAGNOSTIC_TEST | Diagnostic test |
OTHER | Other |
See Also
- BiomedCore — Biomedical literature records
- DrugCore — Drug and molecule records
- RegulatoryCore — FDA & EMA drug authorizations
- API Workflows — See TrialCore in action: competitive landscapes, pipeline tracking, protocol benchmarking, stopped trials
- Overview — Errors and rate limits
- Quickstart — Getting started with examples