Guide · 2 Verified sources

Follow UK product safety and medicines alerts

Get an alert when GOV.UK publishes or updates a consumer product recall, product safety report or alert from OPSS, or a medicines or medical device alert, recall or safety notice from the MHRA.

Start with UK consumer product safety alerts, reports and recallsREST API, CLI and MCP

The problem

Two UK regulators publish safety notices on GOV.UK. The Office for Product Safety and Standards (OPSS) publishes product recalls, product safety reports and product safety alerts for Great Britain, each with a PSD reference number. The Medicines and Healthcare products Regulatory Agency (MHRA) publishes medicines recalls and defect notifications, device safety information, National Patient Safety Alerts, weekly lists of manufacturers' field safety notices and monthly safety roundups.

GOV.UK provides each collection as an Atom feed of the 50 most recently published or updated documents. This guide reads both feeds hourly, one record per notice keyed by GOV.UK's feed identifier, so each run reports new notices and updates to ones you have already seen.

What the source contains

UK consumer product safety alerts, reports and recalls · Office for Product Safety and Standards

Consumer product recalls, product safety reports and product safety alerts for Great Britain from GOV.UK's Product Safety Alerts, Reports and Recalls feed, one record per notice, with its reference number in the title.

5 typed fields · 50 records in SourceFinch's latest run on October 12, 2026 · publisher updates: several times a week; monitor hourly · full source page

FieldTypeDescriptionSample value
idkeystringGOV.UK feed entry identifier (a tag: URI naming the document's path), stable across revisions. The record key.tag:www.gov.uk,2005:/product-safety-alerts-reports-recalls/product-safety-report-pimple-popping-squishes-containing-needles-sold-via-amazon-2610-0037
titlestringTitle of the product recall, report or alert as published on GOV.UK.Product Safety Report: Pimple Popping Squishes containing needles sold via Amazon (2610-0037)
urlurlLink to the document on GOV.UK; the linked page and its attachments are not fetched.https://www.gov.uk/product-safety-alerts-reports-recalls/product-safety-report-pimple-popping-squishes-containing-needles-sold-via-amazon-2610-0037
updated_atdatetimeTime GOV.UK last published a change to the document, with its UTC offset; not the date of the underlying event.2026-10-09T12:01:28+01:00
summarystring, nullableShort summary from the feed, when GOV.UK provides one; linked document bodies are not collected.—

UK medicines and medical device alerts and recalls · Medicines and Healthcare products Regulatory Agency

The MHRA's alerts, recalls and safety information for medicines and medical devices from GOV.UK's feed: medicines recalls and defect notifications, device safety information, patient safety alerts and field safety notice lists, one record per document.

5 typed fields · 50 records in SourceFinch's latest run on October 12, 2026 · publisher updates: several times a week; monitor hourly · full source page

Fields and a sample record
FieldTypeDescriptionSample value
idkeystringGOV.UK feed entry identifier (a tag: URI naming the document's path), stable across revisions. The record key.tag:www.gov.uk,2005:/drug-device-alerts/class-2-medicines-recall-norgine-pharmaceuticals-limited-pedmarqsi-80-mg-slash-ml-solution-for-infusion-el-26-a-slash-42
titlestringTitle of the alert, recall or safety notice as published on GOV.UK.Class 2 Medicines Recall: Norgine Pharmaceuticals Limited, Pedmarqsi 80 mg/mL solution for infusion, EL(26)A/42
urlurlLink to the document on GOV.UK; the linked page and its attachments are not fetched.https://www.gov.uk/drug-device-alerts/class-2-medicines-recall-norgine-pharmaceuticals-limited-pedmarqsi-80-mg-slash-ml-solution-for-infusion-el-26-a-slash-42
updated_atdatetimeTime GOV.UK last published a change to the document, with its UTC offset; not the date of the underlying event.2026-10-12T11:00:23+01:00
summarystring, nullableShort summary from the feed, when GOV.UK provides one; linked document bodies are not collected.Norgine Pharmaceuticals Limited is recalling the batches listed in the table due to risk of particulate matter being present in the product identified during routine stability investigations.

What a change means

  • A new id: a notice that was not in the previous run, usually a newly published recall, report or alert. title names the product, brand, company or marketplace, and url links the notice on GOV.UK.
  • A change to updated_at, often with a new title or summary, on an id you already have: GOV.UK published a change to that document. updated_at is the time of the GOV.UK change, not the date of the underlying event.

Set it up in the console

  1. Open the Verified recipe. Open the UK consumer product safety alerts, reports and recalls recipe in the console. It keeps the reviewed URL, fields and record key (id), and shows the latest captured sample. Open in the console
  2. Create the monitor. Name the monitor, keep the hourly schedule or pick another (the console shows the monthly run cost), confirm that you have the right to monitor the source, and choose Create monitor.
  3. Run the baseline. The first run is the baseline: every record is new. From the second run on, the monitor reports what was added, changed or removed, field by field, with the evidence behind each value.
  4. Choose how you hear about changes. In Alerts, choose immediate change emails or a daily or weekly digest; each monitor can override that on its own page. For your own systems, add a signed webhook in Destinations. Alerts and team
  5. Add the MHRA monitor. Open the MHRA recipe the same way. Product safety and medicines notices often go to different people, and separate monitors let each have its own alerts.

The other recipe: UK medicines and medical device alerts and recalls.

The same through the REST API, CLI or MCP

Every surface creates the same monitor from the same Verified recipe. You confirm you have the right to collect the source (rights: true).

UK consumer product safety alerts, reports and recalls

REST API

Create an API key under Console → API & access. Reference: /docs/api.

# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/govuk-opss-product-safety-alerts -H "Authorization: Bearer $SOURCEFINCH_API_KEY"

# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @source.json

# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI

The sourcefinch CLI is not on npm yet; see /docs/cli.

sourcefinch login
sourcefinch catalog get govuk-opss-product-safety-alerts --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_ID

MCP

Remote MCP server with OAuth; see /docs/mcp.

claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp

# then ask your agent:
"Use SourceFinch to monitor UK consumer product safety alerts, reports and recalls: get_catalog_source govuk-opss-product-safety-alerts,
then create_source with its create_source_args (dry run first), then run_source."

source.json

The request body the API and CLI examples send.

{
  "name": "UK consumer product safety alerts, reports and recalls",
  "url": "https://www.gov.uk/product-safety-alerts-reports-recalls.atom",
  "recipe": {
    "mode": "http",
    "format": "xml",
    "items": "entry",
    "fields": {
      "id": "id",
      "url": "link[rel=\"alternate\"]@href",
      "title": "title",
      "summary": "summary",
      "updated_at": "updated"
    },
    "required": [
      "id",
      "title",
      "url",
      "updated_at"
    ],
    "types": {
      "updated_at": "datetime"
    }
  },
  "key_field": "id",
  "schedule": "hourly",
  "rights": true,
  "catalog": {
    "slug": "govuk-opss-product-safety-alerts",
    "version_id": "4a118881-3500-412a-81d5-29578f96d395"
  }
}
UK medicines and medical device alerts and recalls

REST API

Create an API key under Console → API & access. Reference: /docs/api.

# the Verified entry (fields, recipe, sample, terms) as JSON
curl https://sourcefinch.com/v1/catalog/govuk-mhra-drug-device-alerts -H "Authorization: Bearer $SOURCEFINCH_API_KEY"

# create the monitor from source.json (below)
curl -X POST https://sourcefinch.com/v1/sources \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @source.json

# then run it now (later runs follow the schedule)
curl -X POST https://sourcefinch.com/v1/sources/$SOURCE_ID/runs \
  -H "Authorization: Bearer $SOURCEFINCH_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

CLI

The sourcefinch CLI is not on npm yet; see /docs/cli.

sourcefinch login
sourcefinch catalog get govuk-mhra-drug-device-alerts --source-json > source.json
sourcefinch sources create --file source.json
sourcefinch runs create $SOURCE_ID --wait
sourcefinch records $SOURCE_ID

MCP

Remote MCP server with OAuth; see /docs/mcp.

claude mcp add --transport http sourcefinch https://sourcefinch.com/mcp

# then ask your agent:
"Use SourceFinch to monitor UK medicines and medical device alerts and recalls: get_catalog_source govuk-mhra-drug-device-alerts,
then create_source with its create_source_args (dry run first), then run_source."

source.json

The request body the API and CLI examples send.

{
  "name": "UK medicines and medical device alerts and recalls",
  "url": "https://www.gov.uk/drug-device-alerts.atom",
  "recipe": {
    "mode": "http",
    "format": "xml",
    "items": "entry",
    "fields": {
      "id": "id",
      "url": "link[rel=\"alternate\"]@href",
      "title": "title",
      "summary": "summary",
      "updated_at": "updated"
    },
    "required": [
      "id",
      "title",
      "url",
      "updated_at"
    ],
    "types": {
      "updated_at": "datetime"
    }
  },
  "key_field": "id",
  "schedule": "hourly",
  "rights": true,
  "catalog": {
    "slug": "govuk-mhra-drug-device-alerts",
    "version_id": "2fb7ca42-6f2b-4191-87aa-1a685b8bcc4d"
  }
}

Alerts and evidence

Both feeds change several times a week and are read hourly. An immediate change email suits a team that acts on each new notice; a webhook can open a ticket for each one instead.

Every run keeps the publisher's exact response with its SHA-256 hash and a signed manifest, and every value points back to where it was read. How that works is in the docs:

Limitations

  • Each run reads the 50 most recently published or updated notices. An entry leaving that window is not a withdrawal.
  • Only the feed is read: title, link, update time and GOV.UK's short summary. Linked pages and attachments are not fetched, and GOV.UK's summary is usually empty for the OPSS collection.
  • Titles and summaries name products, brands, retailers, marketplaces and companies, not patients.
  • SourceFinch carries the notices as published and adds no safety or medical advice. The notice on GOV.UK says what to do about an affected product, medicine or device.

Usage rights, terms posture and reliability for each source are on its source page. They are our documented understanding of each publisher's stated terms, not legal advice.

Related

SourceFinch is independent and is not affiliated with or endorsed by Office for Product Safety and Standards, Medicines and Healthcare products Regulatory Agency. This guide describes their public data as SourceFinch acquires it. It is not legal, medical or financial advice.