UK MHRA New Manufacturing & Wholesale Licences Feed avatar

UK MHRA New Manufacturing & Wholesale Licences Feed

Pricing

from $14.00 / 1,000 licence returneds

Go to Apify Store
UK MHRA New Manufacturing & Wholesale Licences Feed

UK MHRA New Manufacturing & Wholesale Licences Feed

Pricing

from $14.00 / 1,000 licence returneds

Rating

0.0

(0)

Developer

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

UK MHRA New Licences Feed returns every new medicines manufacturing and wholesale dealer licence granted by the UK MHRA - WDA(H), WDA(V), MIA, MIA(IMP), MS ("specials") and more - as clean, structured rows: MHRA company number, licence type, company, address, postcode district and month of grant. Schedule it monthly and get only the new licences since your last run, plus a growing history that the official rolling 12-month list does not keep.

Why use it

The MHRA publishes the new licences of the last ~12 months as a single CSV on gov.uk, replaced every month. Older licences silently drop off, the file link changes each month, and there is no change feed. This Actor:

🆕 New-licence alertdelta mode returns only licences that appeared since your previous run.
🗄️ HistoryLicences that leave the 12-month window are kept and marked in_current_list = false (aged_out). Turn on Include archived licences to get them back.
🧹 Clean dataNormalised licence types with labels, validated UK postcodes, postcode district and area, YYYY-MM month.
⚡ Cheap and fastTwo HTTP requests, runs in seconds on 128 MB. When the file did not change, the run ends free.
🔒 No personal dataLicences held in a personal name are kept, but name, street and full postcode are removed.

Snapshot vs delta: what each mode returns and charges

ModeKindWhat you getWhat is charged
Snapshotfull listThe current list (about 120 licences) on every run; with Include archived licences also those that already left the listlicence-record per row
Deltachanges only1st run: the current list as baseline. Later runs: only new, changed, reappeared and (optionally) aged_out licences1st run: licence-record per row. Later runs: licence-change per changed row only. Unchanged licences are never charged; a run on an unchanged file costs only the start fee

Use cases

  1. Sales prospecting for pharma services - pharma 3PL and cold-chain logistics, GDP/QP consultancies, serialisation and ERP vendors: every new WDA(H) holder is a company that just started distributing medicines in the UK.
  2. Competitive intelligence - pharma wholesalers and CDMOs: who is entering UK wholesale or manufacturing, by region and month.
  3. Supplier and customer onboarding - check that a new UK trading partner has recently obtained its licence (company_no, licence_type).
  4. Market research - count new licences by type, region (postcode_area) and month.
  5. Data enrichment - join with your CRM by company name and postcode, or with EU registers such as EudraGMDP.

How to use

  1. Keep the pre-filled values (Snapshot, Max rows = 1) and click Start: you get one licence in seconds for about $0.03. Set Max rows to 0 to get the whole current list.
  2. For alerts, switch Mode to Delta and add a monthly schedule (the MHRA updates the list in the first days of each month; a weekly schedule also works and costs nothing when the file did not change).
  3. Optional: filter by licence type or postcode prefix.

Input

FieldTypeDescription
modeenumdelta (default when empty) or snapshot
licenceTypesarrayWDA(H), WDA(V), MIA, MIA(IMP), MS, MANSA, MANA
postcodePrefixesarraye.g. LS, M, DE65
includeArchivebooleanSnapshot: also return licences that left the 12-month list
includeAgedOutbooleanDelta: report licences leaving the list (default on)
maxItemsintegerRow limit and spending cap (pre-filled 1; 0 = none)
stateKeystringName of an independent change-tracking stream
{ "mode": "delta", "licenceTypes": ["WDA(H)", "MIA"] }

Output example

Real row from a snapshot run:

{
"licence_key": "62335|WDA(H)|DE65",
"company_no": "62335",
"licence_type": "WDA(H)",
"licence_type_label": "Wholesale dealer's licence (human medicines)",
"company_name": "BIONICAL CTS LIMITED",
"address_line_1": "3RD FLOOR, THE PIAZZA MERCIA MARINA",
"address_line_2": "FINDERN LANE, WILLINGTON",
"city": "DERBY",
"postcode": "DE65 6DW",
"postcode_outward": "DE65",
"postcode_area": "DE",
"published_month": "2026-09",
"is_natural_person_redacted": false,
"quality_flags": [],
"in_current_list": true,
"source": "gov.uk MHRA new licences (OGL v3)",
"source_url": "https://assets.publishing.service.gov.uk/media/6ac65fc6f1ba855cc196a8ba/New_Manufacturing_and_Wholesale_Dealer_Licences_-_October_2026.csv",
"source_page": "https://www.gov.uk/government/publications/medicines-new-manufacturing-and-wholesale-dealer-licences",
"source_file_title": "Title: Medicines: new manufacturing and wholesale dealer licences - October 2026",
"source_updated_at": "2026-10-07T16:17:32+01:00",
"first_seen_at": "2026-10-24T20:20:42Z",
"last_seen_at": "2026-10-24T20:20:42Z",
"detected_at": "2026-10-24T20:20:42Z",
"change_type": "baseline",
"changed_fields": [],
"previous_values": null
}

What data you get

FieldDescription
company_noMHRA company number ("Company No" in the source). Not a Companies House number.
licence_type, licence_type_labelNormalised licence type and its meaning
company_name, address_line_1/2, city, postcodeAs published (null when the holder is a person, see below)
postcode_outward, postcode_areaPostcode district (DE65) and area (DE)
published_monthMonth the licence appeared in the list, YYYY-MM
in_current_listfalse once the licence has left the rolling 12-month list
change_typebaseline, new, changed, aged_out, reappeared, unchanged
changed_fields, previous_valuesWhat changed and the old values (changed)
licence_key, source_url, source_updated_at, first_seen_at, last_seen_at, detected_atStable key, the gov.uk CSV used, and run / tracking timestamps
quality_flagsinvalid_postcode, unknown_licence_type, possible_natural_person_redacted, missing_address... Rows are flagged, never dropped

Personal data

Some licences are held by individuals (for example a GP practice listed by the doctors' names). A holder is treated as an organisation only if the name contains an organisation word (LIMITED, LTD, PLC, LLP, SURGERY, PHARMACY, NHS, TRUST, CLINIC...) and no personal title (DR, MR, MRS...). Otherwise the row is kept with company_name, street lines and full postcode set to null (city and postcode district stay), flagged possible_natural_person_redacted. Redacted values are not stored by the Actor.

Pricing

Pay per event. Tier discounts: Silver -15 %, Gold and above -30 % (Free plan +15 %).

EventPrice (Bronze)
licence-record - one licence in a snapshot or baseline$20.00 / 1,000 ($0.02 each)
licence-change - one new / changed / aged-out licence in delta$30.00 / 1,000 ($0.03 each)
Actor start$0.01 per run

The pre-filled example (1 licence) costs about $0.03. The whole current list (~120 licences) costs about $2.41. A monthly delta usually returns 5-20 new licences ($0.15-0.60). Only result rows are billed; runs on an unchanged file cost only the start fee. Max rows caps what a run can bill.

Source, licence and limits

  • Source: MHRA, Medicines: new manufacturing and wholesale dealer licences, gov.uk. Contains public sector information licensed under the Open Government Licence v3.0.
  • The list covers new licences only (about 12 months). It is not the full register of all licence holders, and it does not report suspensions or revocations. aged_out is not a revocation.
  • History builds up from your first run: the Actor cannot recover licences that dropped off the list before you started.
  • Not affiliated with or endorsed by the MHRA. Not legal or regulatory advice.

FAQ

How often does the source change? Once a month, usually in the first week.

Is this the full MHRA register? No. It is the official list of new licences. The full GMDP register is not covered.

Is it legal to use this data? Yes: the list is published by the MHRA under the Open Government Licence v3.0, which allows commercial reuse with attribution (see Source, licence and limits). Personal-name holders are redacted.

Do I need proxies or an account? No. The Actor makes two plain HTTP requests to gov.uk.

Where is the history kept? In a named key-value store (uk-mhra-licences-state) in your own Apify account. It is what lets delta mode and Include archived licences work; delete it to start over.

Why is a company name empty? The holder looks like a person; see Personal data.

Built by Rastriq - reliable data from official registers. Questions or feature requests: use the Actor's Issues tab.