European Medicines Agency Medicines Scraper
Pricing
from $3.75 / 1,000 result items
European Medicines Agency Medicines Scraper
Export EU authorised medicines from the European Medicines Agency. Pull medicine name, INN, ATC code, authorisation holder, therapeutic indication, status, and authorisation date. Filter by status, medicine type (human/veterinary), and therapeutic area.
Pricing
from $3.75 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Share

💊 European Medicines Agency (EMA) Scraper
🚀 Export the EU authorised medicines register in seconds. Filter 1,500+ medicines by therapeutic area, ATC code, marketing authorisation holder, orphan, biosimilar, conditional approval, and 4 status values. No login, no manual CSV exports.
🕒 Last updated: 2026-05-21 · 📊 19 fields per record · 💊 1,500+ EU medicines · 🩺 56 therapeutic areas · 🌍 EU-wide coverage
The EMA Medicines Scraper exports the European Medicines Agency centralised register of human and veterinary medicines authorised across the European Union. Each record returns 19 fields, including the medicine name, INN (international non-proprietary name), active substance, ATC code, marketing authorisation holder, therapeutic indication, status, authorisation date, and orphan, biosimilar, additional-monitoring, and conditional-approval flags.
The catalog covers 56 therapeutic areas from oncology and cardiovascular to rare diseases and vaccines, across every centrally authorised medicine for use in the European Union, Iceland, Liechtenstein, and Norway. This Actor exposes every filter the live register supports and returns clean rows you can import into a database, dashboard, or competitive-intelligence tool in minutes.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Pharma intelligence, regulatory affairs, market access, HEOR, biotech BD, hospital pharmacy, health-tech, life-sciences analysts | Competitor tracking, indication monitoring, orphan and biosimilar surveillance, ATC class research, EU launch timelines, MAH portfolio mapping |
📋 What the EMA Medicines Scraper does
Multiple filtering workflows in a single run:
- 💊 Full registry export. Every authorised, withdrawn, refused, or suspended medicine on the EMA register.
- 🩺 Therapeutic area filter. Pick from 56 areas like Cancer, Diabetes, COVID-19, Rare diseases, Vaccines.
- 🧬 ATC code filter. Filter by Anatomical Therapeutic Chemical class (e.g.
A10for diabetes,L01for oncology). - 🏢 Marketing authorisation holder filter. Track every product owned by a specific MAH.
- 🔴 Special-population flags. Filter to orphan designations, biosimilars, conditional approvals, or additional-monitoring products.
- 👨👩👧 Human vs veterinary. Switch between the human and veterinary registers.
Each record includes naming (medicine name, INN, common name, active substance), classification (ATC code, therapeutic area), regulatory metadata (status, authorisation type, first and current authorisation dates, last revision), the marketing authorisation holder, the therapeutic indication text, and four boolean flags (orphan, biosimilar, conditional approval, additional monitoring).
💡 Why it matters: every pharma launch, every market-access submission, and every competitive review starts with the centrally authorised medicines list. Manual scraping breaks on every EMA site refresh, and the downloadable CSV strips the indication text and product flags. This Actor returns the full enriched record on every run.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
maxItems | integer | 10 | Records to return. Free plan caps at 10, paid plan at 1,000,000. |
searchQuery | string | "" | Full-text search across medicine name, INN, or active substance. |
medicineType | string | "human" | human or veterinary. |
status | string | "" | One of authorised, withdrawn, refused, suspended. Empty = any. |
therapeuticArea | string | "" | One of 56 enumerated areas (Cancer, Diabetes, Vaccines, Rare diseases, etc.). |
atcCode | string | "" | ATC code prefix (e.g. A10 for diabetes, L01 for oncology). |
marketingAuthorisationHolder | string | "" | Filter by MAH company name. |
orphan | boolean | false | Only medicines with orphan designation (rare diseases). |
biosimilar | boolean | false | Only biosimilar medicines. |
conditionalApproval | boolean | false | Only medicines with conditional marketing authorisation. |
additionalMonitoring | boolean | false | Only medicines under additional monitoring (black inverted triangle). |
fetchDetails | boolean | true | Visit each medicine page to enrich with ATC, MAH, active substance, and indication. |
Example: 50 oncology medicines with orphan designation.
{"maxItems": 50,"medicineType": "human","therapeuticArea": "cancer","orphan": true,"fetchDetails": true}
Example: every biosimilar currently authorised.
{"maxItems": 200,"medicineType": "human","status": "authorised","biosimilar": true}
⚠️ Good to Know: the register is updated continuously as new authorisations and post-marketing changes are published. Set
fetchDetails: falsefor fast list-only scans, or keep ittrueto enrich each row with the full indication text, ATC code, and MAH.
📊 Output
Each medicine record contains 19 fields. Download the dataset as CSV, Excel, JSON, or XML.
🧾 Schema
| Field | Type | Example |
|---|---|---|
💊 name | string | "Comirnaty" |
🧬 inn | string | null | "tozinameran" |
🏷️ commonName | string | null | "COVID-19 mRNA vaccine" |
🧪 activeSubstance | string | null | "tozinameran" |
🔖 atcCode | string | null | "J07BX03" |
🩺 therapeuticArea | string | null | "COVID-19" |
🟢 status | string | null | "Authorised" |
📑 authorisationType | string | null | "Centralised" |
📅 authorisationDate | string | null | "2020-12-21" |
📅 firstAuthorisationDate | string | null | "2020-12-21" |
🔁 revisionDate | string | null | "2026-04-12" |
🏢 marketingAuthorisationHolder | string | null | "BioNTech Manufacturing GmbH" |
📝 indication | string | null | "Active immunisation to prevent COVID-19..." |
🔻 additionalMonitoring | boolean | true |
🆎 orphan | boolean | false |
🧬 biosimilar | boolean | false |
⏳ conditionalApproval | boolean | false |
🔗 detailUrl | string | null | "https://www.ema.europa.eu/en/medicines/human/EPAR/comirnaty" |
🕒 scrapedAt | ISO 8601 | "2026-05-20T22:15:24.000Z" |
📦 Sample records
✨ Why choose this Actor
| Capability | |
|---|---|
| 💊 | Centralised EU register. 1,500+ human and veterinary medicines authorised across the EU plus Iceland, Liechtenstein, Norway. |
| 🩺 | 56 therapeutic areas. Cancer, diabetes, vaccines, rare diseases, mental health, dermatology, and more, all enumerated. |
| 🔖 | ATC + INN ready. Pair every record with WHO ATC codes and international non-proprietary names for cross-database joins. |
| 🆎 | Special-population flags. Orphan, biosimilar, conditional approval, and additional-monitoring booleans on every row. |
| ⚡ | Fast. 10 records in under 10 seconds with fetchDetails: false, full enrichment under a minute. |
| 🔁 | Always fresh. Every run pulls live from the EMA register, so post-marketing changes and new approvals are reflected immediately. |
| 🚫 | No login. Works against public EMA data. No account, no API key, no cookies. |
📊 The EMA centralised register is the single regulatory entry point for new medicines into the EU market. Accurate snapshots of authorisations and post-marketing flags are the foundation of every pharma intelligence workflow.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| ⭐ EMA Medicines Scraper (this Actor) | $5 free credit, then pay-per-use | 1,500+ EU-wide | Live per run | type, status, therapeutic area, ATC, MAH, orphan, biosimilar | ⚡ 2 min |
| Manual EMA register download | Free | Limited columns, no indication text | Manual export | None | 🐢 Hours |
| Commercial pharma intelligence platforms | $20,000+/year | Global, enriched | Daily | Many | ⏳ Onboarding |
| In-house scraper | Engineering cost | Whatever you build | Whatever you maintain | Whatever you build | 🕒 Weeks |
Pick this Actor when you want the full EMA register, enriched with indication and MAH, on demand and without engineering overhead.
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the EMA Medicines Scraper page on the Apify Store.
- 🎯 Set input. Pick a therapeutic area, ATC code, or MAH, set
maxItems, and togglefetchDetailsif you want enriched rows. - 🚀 Run it. Click Start and let the Actor collect your data.
- 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.
💼 Business use cases
🔌 Automating EMA Medicines Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- 🟢 Node.js. Install the
apify-clientNPM package. - 🐍 Python. Use the
apify-clientPyPI package. - 📚 See the Apify API documentation for full details.
The Apify Schedules feature lets you trigger this Actor on any cron interval. Daily or weekly refreshes keep regulatory dashboards in sync automatically.
🌟 Beyond business use cases
Pharmaceutical regulatory data powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ Frequently Asked Questions
🧩 How does it work?
Pick a therapeutic area, ATC code, status, or MAH in the input form, click Start, and the Actor queries the EMA register, follows each medicine detail page when fetchDetails is on, and emits a clean structured record per row.
📏 How accurate is the data?
Every field is read directly from the EMA register, the same source clinicians and regulators cite. Indication text and product flags are pulled from the medicine detail page, so they reflect the latest published version at run time.
🔁 How often is the dataset refreshed?
The EMA publishes new authorisations, post-marketing variations, and status changes continuously. Each run of this Actor reads the register live, so your dataset matches what is on the EMA site at run time.
💉 Does it include vaccines and biosimilars?
Yes. Vaccines come back tagged in the therapeutic area Infections or COVID-19, and biosimilars are flagged with the biosimilar: true boolean. Filter biosimilar: true to limit to biosimilar products.
🆎 Can I find orphan-designated medicines?
Yes. Set the orphan: true flag to return only medicines with EU orphan designation. The full indication text on the detail page describes the orphan condition served.
⏰ Can I schedule regular runs?
Yes. Use Apify Schedules to run this Actor daily or weekly. Pair with webhooks to push updates into Slack, BigQuery, or your CRM.
⚖️ Is this data legal to use?
The EMA publishes its register as open public information. Review the EMA terms for redistribution if you intend to mirror the dataset, but standard intelligence and reporting use is generally accepted.
💼 Can I use this data commercially?
Yes. The EMA register is published openly for the public, healthcare professionals, and industry. You are responsible for complying with EMA usage terms and any downstream regulatory requirements in your own product.
💳 Do I need a paid Apify plan to use this Actor?
No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and unlocks scheduling, higher concurrency, and larger datasets.
🔁 What happens if a run fails or gets interrupted?
Apify automatically retries transient errors. If a run still fails, inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved.
🐾 Does it include veterinary medicines?
Yes. Set medicineType: "veterinary" to switch to the EMA veterinary register. The same filters and fields apply.
🆘 What if I need help?
Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.
🔌 Integrate with any app
EMA Medicines Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get run notifications in your channels
- Airbyte - Pipe medicines data into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes. Push fresh EMA records into your regulatory dashboard, or alert your team in Slack when a new authorisation appears.
🔗 Recommended Actors
- 🧪 ClinicalTrials.gov Scraper - Global clinical trial registry
- 🏥 FDA Drug Labels Scraper - US prescription drug labels
- 📊 WHO GHO Health Indicators Scraper - Global Health Observatory indicators
- 🩺 OpenFDA Adverse Events Scraper - FAERS post-marketing safety reports
- 📑 SEC EDGAR Full Text Search Scraper - Pharma company filings
💡 Pro Tip: browse the complete ParseForge collection for more regulatory and life-science scrapers.
🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.
⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the European Medicines Agency. All trademarks mentioned are the property of their respective owners. Only publicly available regulatory information is collected.