EU Clinical Trials (CTIS) Scraper avatar

EU Clinical Trials (CTIS) Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
EU Clinical Trials (CTIS) Scraper

EU Clinical Trials (CTIS) Scraper

Scrape the EU Clinical Trials Information System (CTIS) - the EMA's official register of clinical trials across the EU/EEA. Search by title, condition, sponsor, status, phase, therapeutic area, country, and more, or look up full trial detail by EU CT number. Public REST API - no auth, no proxy.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Scrape the EU Clinical Trials Information System (CTIS) — the European Medicines Agency's official public register of clinical trials authorised across the EU and EEA. Search by title, medical condition, sponsor, trial status, phase, therapeutic area, country, age group, and more, or look up complete trial detail by EU CT number. HTTP-only via the public euclinicaltrials.eu JSON API. No auth, no proxy required.

What this actor does

  • Two modes: search (filtered trial listing) and byTrialId (full detail for one or more EU CT numbers)
  • Rich server-side filters: title, condition, sponsor, EU CT number, trial status, phase, therapeutic area, EU/EEA member state, age group, gender, sponsor type, trial region, rare disease, low intervention, orphan designation, has-results
  • Full trial detail on demand: objectives, endpoints, recruitment dates, per-country site counts, product names
  • Trial URL included — direct link to the public CTIS trial page
  • Empty fields are omitted — no null, "", [], or {} in the output

Output per trial (mode = search)

  • ctNumber — EU CT number, e.g. 2023-509723-41-00
  • title, shortTitle
  • condition — medical condition(s) under study
  • sponsor, sponsorType
  • therapeuticAreas[] — MeSH-derived therapeutic area(s)
  • countries[] — EU/EEA member states concerned
  • status, statusCode — human-readable status + its numeric code
  • phase — trial phase
  • ageGroup, gender
  • trialRegion — EEA only / non-EEA only / both
  • products[] — investigational medicinal product name(s)
  • totalNumberEnrolled
  • primaryEndPoint, endPoint
  • decisionDate, decisionDateDetail, startDate, endDate, endDateDetail, lastUpdated, lastPublicationUpdate
  • hasResults — whether results have been submitted
  • trialUrl — public CTIS trial page
  • recordType: "trial", scrapedAt

Output per trial (mode = byTrialId)

  • ctNumber, title, shortTitle
  • status, statusCode
  • decisionDate, publishDate, startDate, endDate
  • trialRegion, sponsor
  • conditions[], therapeuticAreas[], products[]
  • isLowIntervention
  • mainObjective, primaryEndPoint
  • estimatedRecruitmentStartDate, estimatedEndDate
  • countries[], totalNumberEnrolled (summed across reporting member states)
  • hasResults
  • trialUrl
  • recordType: "trialDetail", scrapedAt

Trials that fail to resolve (invalid EU CT number format, or a number not found in the public register) are still emitted as a typed record with recordType: "error" and an error message — they are never silently dropped.

Input

FieldTypeDefaultDescription
modestringsearchsearch / byTrialId
titlestringFree-text search against the trial title (mode=search)
medicalConditionstringFree-text search against condition(s) (mode=search)
sponsorNamestringFree-text search against sponsor name (mode=search)
ctNumberQuerystringFree-text / partial EU CT number search (mode=search)
statusarray[]One or more trial statuses (12 options)
trialPhasearray[]One or more trial phases (11 options)
therapeuticAreaarray[]One or more therapeutic areas (58 options)
ageGrouparray[]One or more participant age groups (4 options)
genderarray[]One or more participant genders
countriesarray[]One or more EU/EEA member states (30 options)
trialRegionstringEEA only / non-EEA only / both (note: since CTIS is the EU/EEA trial register, "non-EEA only" trials are rare-to-nonexistent in practice)
sponsorTypearray[]One or more sponsor organisation types
hasResultsOnlybooleanfalseOnly trials with published results
isRareDiseaseOnlybooleanfalseOnly rare-disease trials
isLowInterventionOnlybooleanfalseOnly low-intervention trials
hasOrphanDesignationOnlybooleanfalseOnly trials with an orphan-designated product
ctNumbersarray[]EU CT numbers to fetch (mode=byTrialId)
sortBystringdecisionDateSort search results by decisionDate or ctNumber (mode=search)
sortDirectionstringDESCASC or DESC, used with sortBy (mode=search)
maxItemsinteger5Hard cap on emitted records (1–2000)

Example: search by condition and status

{
"mode": "search",
"medicalCondition": "leukemia",
"status": ["2", "3", "4"],
"maxItems": 25
}

Example: search by therapeutic area and country

{
"mode": "search",
"therapeuticArea": ["4"],
"countries": ["724", "250"],
"trialPhase": ["4", "5"],
"maxItems": 50
}

Example: rare-disease trials with published results

{
"mode": "search",
"isRareDiseaseOnly": true,
"hasResultsOnly": true,
"maxItems": 20
}

Example: lookup by EU CT number

{
"mode": "byTrialId",
"ctNumbers": ["2023-509723-41-00", "2024-517420-20-00"]
}

Use cases

  • Pharma competitive intelligence — track competitor trials by sponsor, therapeutic area, or phase across the EU
  • Regulatory monitoring — watch trial status transitions (authorised, halted, suspended, ended) for a therapy area
  • Market access research — identify which EU/EEA member states host trials for a given condition
  • Academic research — bulk-export CTIS records for meta-analysis or systematic review
  • Patient advocacy — find ongoing rare-disease or orphan-designation trials enrolling participants
  • Investment research — monitor clinical development pipelines by sponsor or product

FAQ

What is the data source? The European Medicines Agency's Clinical Trials Information System (CTIS) public portal at euclinicaltrials.eu — the EU's official register of clinical trials since January 2023, covering all EU/EEA member states.

Is this affiliated with the EMA or CTIS? No. This is an independent third-party actor built on CTIS's public read API. It is not endorsed by or affiliated with the European Medicines Agency.

Do I need an account or API key? No. CTIS's trial search and detail data is fully public — no login or credentials required.

What's the difference between search and byTrialId mode? search returns a filtered list of trials matching your criteria (title, condition, sponsor, status, etc.). byTrialId returns the complete detail record for one or more specific trials when you already know their EU CT number.

Why do some trials only return a status of "Not authorised" or "Cancelled" with limited fields? CTIS discloses fewer public fields for trials that were withdrawn, refused, or cancelled before authorisation — this actor surfaces every field CTIS makes public for each trial state.

How fresh is the data? Every run queries the live CTIS API directly, so results reflect the current public register at run time.

Why is my EU CT number rejected in byTrialId mode? EU CT numbers follow the fixed format YYYY-NNNNNN-NN-NN (e.g. 2023-509723-41-00). Numbers that don't match this shape, or that aren't found in the public register, are returned as a typed error record explaining why.

Can I combine multiple filters in search mode? Yes — all filters are combined with AND logic. For example, therapeuticArea + countries + trialPhase together narrow to trials matching all three.