Amass logo
DocumentationAPI ReferenceApp gallery
Sign inSign up

Search documentation

Search the documentation by keyword

Getting Started
  • Overview
  • Quickstart
  • Authentication
  • Roadmap
  • Pricing
For AI Agents
  • LLM Quick Reference
Amass Cores
  • BiomedCore
  • DrugCore
  • RegulatoryCore
  • TrialCore
Examples
  • Starter Agent
  • API Workflows
  • Amass SKILL.md

    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.

    Shell
    curl "https://api.amass.tech/api/v1/cores/trialcore/records?query=cancer+immunotherapy&limit=5" \
      -H "Authorization: Bearer amass_YOUR_KEY"

    Parameters:

    NameRequiredDefaultDescription
    queryyes—Search text
    limitno20Results to return (1–300)
    includeno—Optional fields to return. Repeat for multiple: outcomes, detailedDescription, referencesBiomedCore
    phaseno—Trial phase. Match ANY of the given phases — repeat the param for multiple values (see Phase values and Multi-value filters)
    overallStatusno—Recruitment status. Match ANY of the given statuses — repeat the param for multiple values (see Overall Status values)
    studyTypeno—Study type. Match ANY of the given types — repeat the param for multiple values (see Study Type values)
    sponsorTypeno—Sponsor type. Match ANY of the given types — repeat the param for multiple values (see Sponsor Type values)
    interventionTypeno—Intervention type. Match ANY of the given types — repeat the param for multiple values (see Intervention Type values)
    facilityCountriesno—Comma-separated ISO country codes, e.g. DE,US
    hasResultsno—true or false — filter trials that have posted results
    minStartDateno—ISO date, e.g. 2020-01-01
    maxStartDateno—ISO date, e.g. 2026-01-01
    minCompletionDateno—ISO date, e.g. 2026-01-01
    maxCompletionDateno—ISO date, e.g. 2026-01-01
    minEnrollmentno—Minimum number of participants

    Example with filters — Phase 3 drug trials that are recruiting in the US and Germany:

    Shell
    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:

    JSON
    { "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=PHASE3 returns trials in Phase 2 or Phase 3.
    • Across filters — AND. Mixing different filters narrows the result: ?phase=PHASE3&overallStatus=RECRUITING returns trials that are Phase 3 and recruiting.
    Shell
    # 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.

    Shell
    curl "https://api.amass.tech/api/v1/cores/trialcore/records/AMTC_abc123\
    ?include=outcomes" \
      -H "Authorization: Bearer amass_YOUR_KEY"

    Response:

    JSON
    { "data": { "amassId": "AMTC_...", "briefTitle": "...", "..." } }

    Returns 404 if not found.


    Lookup — POST /v1/cores/trialcore/records/lookup

    Convert NCT IDs to Amass IDs in batch.

    Shell
    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:

    JSON
    {
      "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)

    FieldTypeDescription
    amassIdstringUnique Amass identifier (AMTC_...)
    nctIdstring | nullClinicalTrials.gov identifier
    briefTitlestring | nullBrief study title
    officialTitlestring | nullOfficial study title
    briefSummarystring | nullBrief study summary
    acronymstring | nullShort study acronym or nickname (e.g. KEYNOTE-189)
    phasestring | nullTrial phase (see Phase values)
    overallStatusstring | nullRecruitment status (see Overall Status values)
    studyTypestring | nullType of study (see Study Type values)
    startDatestring | nullISO date
    completionDatestring | nullISO date
    lastUpdateDatestring | nullISO date
    hasResultsbooleanWhether trial has posted results
    enrollmentnumber | nullNumber of participants
    enrollmentTypestring | nullACTUAL or ESTIMATED
    sponsorNamestring | nullLead sponsor name
    sponsorTypestring | nullSponsor type (see Sponsor Type values)
    collaboratorsstring[]Collaborator names
    conditionsstring[]Conditions studied
    conditionMeshTermsstring[]MeSH terms for conditions
    interventionTypesstring[]Types of interventions (see Intervention Type values)
    interventionNamesstring[]Names of interventions
    interventionMeshTermsstring[]MeSH terms for interventions
    facilityCountriesstring[]Countries where the trial is conducted (ISO codes)
    keywordsstring[]Study keywords
    orgStudyIdstring | nullOrganization's study ID
    secondaryIdsstring[]Secondary identifiers
    primaryOutcomeMeasuresstring[]Primary outcome measure descriptions
    secondaryOutcomeMeasuresstring[]Secondary outcome measure descriptions
    designAllocationstring | nullRANDOMIZED, NON_RANDOMIZED, or NA
    designInterventionModelstring | nullSINGLE_GROUP, PARALLEL, CROSSOVER, FACTORIAL, or SEQUENTIAL
    designPrimaryPurposestring | nullE.g. TREATMENT, PREVENTION, DIAGNOSTIC
    designMaskingstring | nullNONE, SINGLE, DOUBLE, TRIPLE, or QUADRUPLE
    resultsFirstPostDatestring | nullISO date when results were first posted
    whyStoppedstring | nullReason for stopping (if applicable)
    isFdaRegulatedDrugboolean | nullWhether trial involves an FDA-regulated drug
    isFdaRegulatedDeviceboolean | nullWhether trial involves an FDA-regulated device
    armGroupsobject[]Study arm groups (see Arm Group shape)
    oversightHasDmcboolean | nullWhether study has a Data Monitoring Committee

    Optional fields

    Request these with the include parameter.

    FieldInclude valueTypeDescription
    detailedDescriptiondetailedDescriptionstring | nullFull study description
    outcomesoutcomesobject[]Detailed outcome results (see Outcome shape and pipeline tracking example)
    referencesBiomedCorereferencesBiomedCorestring[]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_. referencesBiomedCore is 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

    JSON
    {
      "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

    JSON
    {
      "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

    ValueDescription
    EARLY_PHASE1Early Phase 1
    PHASE1Phase 1
    PHASE1/PHASE2Phase 1/Phase 2
    PHASE2Phase 2
    PHASE2/PHASE3Phase 2/Phase 3
    PHASE3Phase 3
    PHASE4Phase 4
    NANot applicable

    Overall Status

    ValueDescription
    RECRUITINGCurrently recruiting participants
    NOT_YET_RECRUITINGNot yet open for recruitment
    ENROLLING_BY_INVITATIONEnrolling by invitation only
    ACTIVE_NOT_RECRUITINGOngoing but no longer recruiting
    SUSPENDEDTemporarily halted
    TERMINATEDStopped early
    COMPLETEDStudy completed
    WITHDRAWNWithdrawn before enrollment
    UNKNOWNStatus unknown
    WITHHELDStatus withheld
    AVAILABLEAvailable for expanded access
    NO_LONGER_AVAILABLENo longer available for expanded access
    TEMPORARILY_NOT_AVAILABLETemporarily not available
    APPROVED_FOR_MARKETINGApproved for marketing

    Study Type

    ValueDescription
    INTERVENTIONALTests a specific intervention
    OBSERVATIONALObserves outcomes without intervention
    EXPANDED_ACCESSProvides access outside of clinical trials

    Sponsor Type

    ValueDescription
    NIHNational Institutes of Health
    FEDOther U.S. federal agency
    INDUSTRYIndustry sponsor
    OTHEROther
    OTHER_GOVOther government
    INDIVIndividual
    NETWORKNetwork

    Intervention Type

    ValueDescription
    DRUGDrug
    DEVICEDevice
    BIOLOGICALBiological / Vaccine
    COMBINATION_PRODUCTCombination product
    PROCEDUREProcedure / Surgery
    RADIATIONRadiation
    DIETARY_SUPPLEMENTDietary supplement
    GENETICGenetic
    BEHAVIORALBehavioral
    DIAGNOSTIC_TESTDiagnostic test
    OTHEROther

    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