Canada Recalls & Safety Alerts avatar

Canada Recalls & Safety Alerts

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Canada Recalls & Safety Alerts

Canada Recalls & Safety Alerts

Search and monitor official Government of Canada recalls and safety alerts (food, consumer products, vehicles, medical devices, drugs and health products) from the open data feed, with keyword, agency, category and date filters.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Keegan Carpentier

Keegan Carpentier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Canada Recalls & Safety Alerts Scraper (Health Canada, CFIA, Transport Canada)

Get every Government of Canada recall and safety alert as clean JSON, CSV or Excel. That covers food (CFIA), consumer products, drugs and health products, medical devices, and vehicles (Transport Canada). Filter by keyword, agency, category, recall class and date. You can also schedule it as a "new recalls only" monitor that feeds Slack, email, Google Sheets or your own app.

  • ✅ Official open data. No scraping of web pages, no login, no API key
  • ✅ English or French feed (the French feed also accepts the English agency and class names)
  • ✅ onlyNew monitoring mode: scheduled runs return only notices that are new or updated since the last run
  • ✅ The "What you should do" advice is split into clean step lists
  • ✅ Pay only for the results you get. maxItems and Apify's "max cost per run" both cap your spend

Who it's for

  • Retailers, grocers, importers and e-commerce sellers who check their catalogue against new Canadian recalls every day
  • Food-safety, QA and compliance teams who need an audit trail of CFIA Class 1 allergen and pathogen recalls
  • Fleet managers, dealers and auto shops who watch Transport Canada vehicle recalls
  • Journalists, researchers and app builders who need a structured recall history (the feed holds about 34,000 notices, with last-updated dates going back to the 1990s; about 14,000 of them are marked archived)

Input

FieldWhat it doesDefault
languageen or fr feeden
keywordsKeep notices whose title, product, issue or category contains any of these words["peanut","salmonella"] (prefill)
organizationsIssuing program, e.g. CFIA, Consumer product safety, TC, Medical devices, Drugs and health products, Marketed health productsall
categoriesCategory contains any of these words, e.g. Food, Toys, SUV, Householdall
recallClassese.g. Class 1 (most serious food/health risk) or Type Iall
updatedWithinDays / updatedSinceDate window on the notice's last updated date30 days
includeArchivedInclude notices marked archivedoff
onlyNewRemember what was already returned and give only new or updated noticesoff
maxItemsHard cap on results (and on cost)500

Example: a daily allergen watch

{ "organizations": ["CFIA"], "keywords": ["undeclared", "allergen", "milk", "peanut"],
"recallClasses": ["Class 1"], "updatedWithinDays": 7, "onlyNew": true, "maxItems": 200 }

Output

Each row is one notice. Here is a real record from a live test on 29 Sep 2026 (the long text is shortened):

{
"recallId": "82689",
"title": "Smarter Snacks brand Vegan Protein Puff Chili & Lime Flavored contains undeclared milk",
"url": "https://recalls-rappels.canada.ca/en/alert-recall/smarter-snacks-brand-vegan-protein-puff-chili-lime-flavored-contains-undeclared-milk",
"organization": "CFIA",
"product": "Vegan Protein Puff Chili & Lime Flavored",
"issue": "Milk",
"category": "Candy, confectionary, snacks and sweeteners",
"recallClass": "",
"whatYouShouldDoSteps": ["Check to see if you have affected products",
"Do not consume affected products to which you are allergic or sensitive as they may cause a serious or life-threatening reaction",
"Do not serve, use, sell or distribute affected products", "…"],
"lastUpdated": "2026-09-28",
"archived": false,
"language": "en",
"licence": "Open Government Licence – Canada",
"attribution": "Contains information licensed under the Open Government Licence – Canada."
}

The full field list is in .actor/dataset_schema.json, and more real rows are in sample_output.json. The dataset's Overview table view shows the date, program, category, class, title, issue and link.

Scheduling a recall monitor

  1. Save your input as a Task with onlyNew: true.
  2. Add a daily Schedule. The source file is regenerated once a day at about 02:18 UTC, so a run any time after 03:00 UTC picks up that day's changes.
  3. Add a webhook or integration (Slack, email, Google Sheets, Zapier or Make) on Run succeeded.

The first run returns everything that matches. After that, a run returns only notices it hasn't returned before, plus any notice whose last updated date changed. Your state is kept in a named key-value store (canada-recalls-state). Delete that store to start over.

Pricing

Pay per result. You're charged once for each notice written to the dataset. Runs that find nothing new cost only Apify's standard start event. Set maxItems or a maximum cost per run and the Actor stops cleanly when it reaches the limit.

Data source, licence and privacy

  • Source: Recalls and safety alerts open dataset, Government of Canada: https://open.canada.ca/data/en/dataset/d38de914-c94c-429b-8ab1-8776c31643e3 (feed files on recalls-rappels.canada.ca, about 34,000 notices, updated daily).
  • Licence: Open Government Licence – Canada (https://open.canada.ca/en/open-government-licence-canada). Commercial use is allowed with attribution. Every row carries the required statement: "Contains information licensed under the Open Government Licence – Canada."
  • The feed has notice-level product information only. It contains no personal information.
  • This Actor is unofficial. It is not affiliated with or endorsed by the Government of Canada, Health Canada, CFIA or Transport Canada. The official notice (url) is always the source of truth. Don't use this Actor as your only safety control.

Limits and notes

  • recallClass is empty for many older and Transport Canada notices, because the source leaves it blank.
  • Category names in the French feed are in French (for example Aliments or Jouets et jeux). Filter with French words when language is fr.
  • Some edge servers of the Government of Canada CDN keep serving a copy of the daily file that's a day or two old. The Actor adds an hourly cache key so it always reads the current file, and it logs the file's Last-Modified time on every run.