POST /api/clinicaltrials/studies/search
Price: 10 credits
Search ClinicalTrials.gov clinical studies
Search ClinicalTrials.gov clinical studies. Combine free-text queries (term, condition, intervention, location, title, sponsor, outcome) with structured filters — recruitment status, trial phase, study type, results availability, accepted sex, funder type, specific NCT ids, a geographic radius (geo_latitude/geo_longitude/geo_distance_miles), or a raw advanced expression. Each result is a full study record (same shape as the studies endpoint). Sort by relevance or by date / enrollment fields.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)term string nullable — Free-text query across all study fields (examples: "covid vaccine", "alzheimer")condition string nullable — Condition or disease query (examples: "diabetes", "breast cancer")intervention string nullable — Intervention or treatment query (examples: "metformin", "immunotherapy")location string nullable — Study location query (city, state, country) (examples: "Boston", "Germany")study_title string nullable — Query matched against study titles and acronym (examples: "KEYNOTE")sponsor string nullable — Sponsor or collaborator query (examples: "Pfizer", "National Cancer Institute")outcome string nullable — Outcome measure query (examples: "overall survival", "mortality")overall_status array nullable — Restrict to studies with one of these recruitment statuses (one of: "RECRUITING", "NOT_YET_RECRUITING", "ACTIVE_NOT_RECRUITING", "ENROLLING_BY_INVITATION", "COMPLETED", "SUSPENDED", "TERMINATED", "WITHDRAWN", "AVAILABLE", "NO_LONGER_AVAILABLE", "TEMPORARILY_NOT_AVAILABLE", "APPROVED_FOR_MARKETING", "WITHHELD", "UNKNOWN")phase array nullable — Restrict to studies in one of these trial phases (one of: "0", "1", "2", "3", "4")study_type array nullable — Restrict to one of these study types (one of: "int", "obs", "exp")results string nullable — Restrict to studies with or without posted results (one of: "with", "without")sex string nullable — Restrict to studies accepting this sex (one of: "m", "f")funder_type array nullable — Restrict to studies with one of these funder types (one of: "nih", "fed", "industry", "other_gov", "indiv", "network", "other", "unknown")nct_ids array nullable — Restrict to these specific NCT ids (examples: ["NCT00841061","NCT00935818"])geo_latitude number nullable — Latitude for geographic radius filter (requires geo_longitude) (min: -90; max: 90)geo_longitude number nullable — Longitude for geographic radius filter (requires geo_latitude) (min: -180; max: 180)geo_distance_miles number nullable — Search radius in miles around the geo point (default: 50; >: 0)advanced string nullable — Advanced Essie expression for fine-grained filtering (examples: "AREA[Phase]PHASE3", "AREA[MinimumAge]RANGE[MIN, 18 years]")sort string — Field to sort results by (default: "@relevance"; one of: "@relevance", "LastUpdatePostDate", "StudyFirstPostDate", "EnrollmentCount", "StartDate", "CompletionDate", "PrimaryCompletionDate", "NumArmGroups")order string — Sort direction (ignored for relevance sort) (default: "desc"; one of: "asc", "desc")count integer required — Number of studies to return (min: 1)@type string (default: "ClinicaltrialsStudy")id string requiredorg_study_id string nullablesecondary_ids array (default: [])@type string (default: "ClinicaltrialsSecondaryId")id string requiredtype string nullabledomain string nullablebrief_title string nullableofficial_title string nullableacronym string nullableorganization string nullableorganization_class string nullableoverall_status string nullablelast_known_status string nullablestatus_verified_date string nullablewhy_stopped string nullablestart_date string nullableprimary_completion_date string nullablecompletion_date string nullablestudy_first_post_date string nullablelast_update_post_date string nullableresults_first_post_date string nullablehas_expanded_access boolean nullablelead_sponsor object nullable@type string (default: "ClinicaltrialsSponsor")name string requiredsponsor_class string nullablecollaborators array (default: [])@type string (default: "ClinicaltrialsSponsor")name string requiredsponsor_class string nullableresponsible_party_type string nullableresponsible_party_name string nullableresponsible_party_title string nullableresponsible_party_affiliation string nullableoversight_has_dmc boolean nullableis_fda_regulated_drug boolean nullableis_fda_regulated_device boolean nullableis_us_export boolean nullablebrief_summary string nullabledetailed_description string nullableconditions array (default: [])keywords array (default: [])study_type string nullableis_patient_registry boolean nullablephases array (default: [])allocation string nullableintervention_model string nullableintervention_model_description string nullableprimary_purpose string nullablemasking string nullableobservational_model string nullabletime_perspective string nullablebio_spec_retention string nullablebio_spec_description string nullableenrollment_count integer nullableenrollment_type string nullablearm_groups array (default: [])@type string (default: "ClinicaltrialsArmGroup")label string requiredtype string nullabledescription string nullableintervention_names array (default: [])interventions array (default: [])@type string (default: "ClinicaltrialsIntervention")type string nullablename string requireddescription string nullablearm_group_labels array (default: [])other_names array (default: [])primary_outcomes array (default: [])@type string (default: "ClinicaltrialsOutcome")measure string requireddescription string nullabletime_frame string nullablesecondary_outcomes array (default: [])@type string (default: "ClinicaltrialsOutcome")measure string requireddescription string nullabletime_frame string nullableeligibility_criteria string nullablehealthy_volunteers boolean nullablesex string nullableis_gender_based boolean nullablegender_description string nullableminimum_age string nullablemaximum_age string nullablestd_ages array (default: [])study_population string nullablesampling_method string nullablecentral_contacts array (default: [])@type string (default: "ClinicaltrialsContact")name string nullablerole string nullablephone string nullableemail string nullableaffiliation string nullableoverall_officials array (default: [])@type string (default: "ClinicaltrialsContact")name string nullablerole string nullablephone string nullableemail string nullableaffiliation string nullablelocations array (default: [])@type string (default: "ClinicaltrialsLocation")facility string nullablestatus string nullablecity string nullablestate string nullablezip string nullablecountry string nullablelat number nullablelon number nullablecontacts array (default: [])@type string (default: "ClinicaltrialsContact")name string nullablerole string nullablephone string nullableemail string nullableaffiliation string nullablereferences array (default: [])@type string (default: "ClinicaltrialsReference")pmid string nullabletype string nullablecitation string nullablecondition_meshes array (default: [])@type string (default: "ClinicaltrialsMeshTerm")id string requiredterm string requiredintervention_meshes array (default: [])@type string (default: "ClinicaltrialsMeshTerm")id string requiredterm string requiredipd_sharing string nullableipd_sharing_description string nullableipd_sharing_info_types array (default: [])ipd_sharing_time_frame string nullableipd_sharing_access_criteria string nullableipd_sharing_url string nullabledocuments array (default: [])@type string (default: "ClinicaltrialsDocument")type_abbrev string nullablelabel string nullabledate string nullableupload_date string nullablesize integer nullablehas_protocol boolean nullablehas_sap boolean nullablehas_icf boolean nullablefilename string nullableurl string nullablehas_results boolean (default: false)results_summary object nullable@type string (default: "ClinicaltrialsResultsSummary")recruitment_details string nullablepre_assignment_details string nullablepopulation_description string nullableoutcome_measure_titles array (default: [])adverse_event_frequency_threshold string nullableadverse_event_groups array (default: [])@type string (default: "ClinicaltrialsAdverseEventGroup")serious_num_affected integer nullableserious_num_at_risk integer nullableother_num_affected integer nullableother_num_at_risk integer nullablepoint_of_contact object nullable@type string (default: "ClinicaltrialsContact")name string nullablerole string nullablephone string nullableemail string nullableaffiliation string nullableweb_url string (default: "")422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — The entity was not found, or a precondition failed Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.