EMA Medicines Scraper - European Drug Authorisation Register avatar

EMA Medicines Scraper - European Drug Authorisation Register

Pricing

from $1.00 / 1,000 record scrapeds

Go to Apify Store
EMA Medicines Scraper - European Drug Authorisation Register

EMA Medicines Scraper - European Drug Authorisation Register

Extract EU drug authorisation data from the European Medicines Agency (EMA) register. Human and veterinary medicines: active substance, ATC code, MAH, authorisation status, orphan/biosimilar/generic flags, and product URLs. Filter by category, status, therapeutic area, or ATC code.

Pricing

from $1.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

20 days ago

Last modified

Share

EMA Medicines Scraper — European Drug Authorisation Register

Extract the complete European Medicines Agency (EMA) centralised medicines authorisation register. Covers all human and veterinary medicines that have received, or applied for, a centralised EU marketing authorisation.

Data source: EMA nightly XLSX bulk export at ema.europa.eu. Updated every night by the EMA.


What data does it extract?

Each record corresponds to one medicine and includes:

FieldDescription
medicine_nameBrand name
categoryHuman or Veterinary
ema_product_numberEMA product number (e.g. EMEA/H/C/004781)
authorisation_statusAuthorised, Withdrawn, Refused, or Suspended
opinion_statusCHMP/CVMP opinion status, where a decision is still pending
innInternational Non-proprietary Name / common name
active_substanceActive substance(s)
therapeutic_areaTherapeutic area (MeSH terms)
therapeutic_indicationFull authorised therapeutic indication text
atc_codeATC code (human) or ATCvet code (veterinary), whichever is set
atcvet_codeATCvet code (veterinary), kept separate for medicines that also carry a human ATC code
pharmacotherapeutic_groupPharmacotherapeutic group
marketing_authorisation_holderMAH company name
first_authorised_dateFirst EU marketing authorisation date (DD/MM/YYYY)
ec_decision_dateEuropean Commission decision date (DD/MM/YYYY)
start_of_evaluation_dateStart of evaluation date (DD/MM/YYYY); rare
opinion_adopted_dateDate the CHMP/CVMP opinion was adopted (DD/MM/YYYY)
withdrawal_of_application_dateDate the application was withdrawn (DD/MM/YYYY); only on withdrawn applications
refusal_dateDate marketing authorisation was refused (DD/MM/YYYY); only on refused medicines
withdrawal_expiry_revocation_dateDate the authorisation was withdrawn, expired, revoked or lapsed (DD/MM/YYYY)
suspension_dateDate marketing authorisation was suspended (DD/MM/YYYY); rare
revision_numberEMA product information revision number
first_published_dateDate the medicine's EMA page was first published (DD/MM/YYYY)
last_updated_dateDate the medicine's EMA page was last updated (DD/MM/YYYY)
orphan_designationOrphan medicine designation flag
biosimilarBiosimilar flag
generic_or_hybridGeneric or hybrid application flag
conditional_marketing_authorisationConditional approval flag
additional_monitoringAdditional monitoring (black triangle) flag
accelerated_assessmentAccelerated assessment flag
advanced_therapyAdvanced therapy medicinal product (ATMP) flag
prime_priority_medicinePRIME (PRIority MEdicines) priority medicine flag
exceptional_circumstancesExceptional circumstances flag
product_urlEMA product page URL

Input options

ParameterTypeDefaultDescription
medicineCategoryStringhumanFilter: human, veterinary, or leave blank for all
authorisationStatusStringAuthorisedFilter: Authorised, Withdrawn, Refused, Suspended, or blank for all
therapeuticAreaString(blank)Filter by therapeutic area substring, case-insensitive (e.g. Diabetes)
atcCodeString(blank)Filter by ATC code prefix (e.g. L01 for antineoplastics)
authorisationDateFromString(blank)Include only medicines authorised on or after this date (YYYY-MM-DD or DD/MM/YYYY)
authorisationDateToString(blank)Include only medicines authorised on or before this date (YYYY-MM-DD or DD/MM/YYYY)
maxItemsInteger15Maximum number of records to return (0 = all)

How it works

The actor downloads EMA's nightly XLSX bulk export (approximately 885 KB, ~2,700 records) using a single HTTP request. No browser automation, no pagination. The XLSX is parsed in-memory using Node.js built-in modules, then filtered and saved to the Apify dataset.

Performance: Typically completes in under 10 seconds.

Memory: 256 MB is sufficient. The actor is configured for 512 MB to be safe.


Example run

Input:

{
"medicineCategory": "human",
"authorisationStatus": "Authorised",
"atcCode": "L01",
"maxItems": 5
}

Sample output record:

{
"medicine_name": "Keytruda",
"category": "Human",
"ema_product_number": "EMEA/H/C/003820",
"authorisation_status": "Authorised",
"opinion_status": "",
"inn": "pembrolizumab",
"active_substance": "pembrolizumab",
"therapeutic_area": "Melanoma; Carcinoma, Non-Small-Cell Lung; ...",
"therapeutic_indication": "Keytruda as monotherapy is indicated for the treatment of advanced (unresectable or metastatic) melanoma in adults...",
"atc_code": "L01FF02",
"atcvet_code": "",
"pharmacotherapeutic_group": "Antineoplastic agents, monoclonal antibodies",
"marketing_authorisation_holder": "Merck Sharp & Dohme B.V.",
"first_authorised_date": "17/07/2015",
"ec_decision_date": "17/07/2015",
"start_of_evaluation_date": "",
"opinion_adopted_date": "28/05/2015",
"withdrawal_of_application_date": "",
"refusal_date": "",
"withdrawal_expiry_revocation_date": "",
"suspension_date": "",
"revision_number": "45",
"first_published_date": "21/07/2015",
"last_updated_date": "12/09/2026",
"orphan_designation": false,
"biosimilar": false,
"generic_or_hybrid": false,
"conditional_marketing_authorisation": false,
"additional_monitoring": true,
"accelerated_assessment": false,
"advanced_therapy": false,
"prime_priority_medicine": false,
"exceptional_circumstances": false,
"product_url": "https://www.ema.europa.eu/en/medicines/human/EPAR/keytruda"
}

Use cases

  • Pharma intelligence: Monitor which medicines have EU authorisation and track MAH portfolios
  • Biotech business development: Identify orphan, biosimilar, or conditionally approved medicines
  • Regulatory consulting: Track EU status of medicines by active substance or therapeutic area
  • Academic research: Build datasets of authorised medicines by ATC code or indication
  • Generics manufacturers: Identify authorised generic/hybrid medicines

Notes

  • Data is updated nightly by the EMA. Each actor run downloads the latest version.
  • The dataset covers approximately 2,700 medicines in the centralised authorisation procedure. Nationally authorised medicines are not included.
  • Withdrawn medicines remain in the dataset with status Withdrawn.