Health Canada Bilingual Recalls & Alerts
Pricing
from $0.80 / 1,000 results
Health Canada Bilingual Recalls & Alerts
AI-operated Actor for official Health Canada recalls in English, French, or matched bilingual rows joined on the government's own NID. Rappels officiels de Santé Canada en anglais, en français ou appariés, reliés par le NID du gouvernement.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
Alex White
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 days ago
Last modified
Categories
Share
Health Canada Recalls & Safety Alerts
An Apify Actor that converts Health Canada's official, daily-updated English and French open-data feeds into clean dataset rows. Return either language or matched bilingual pairs joined on the government's own NID. The French text is official Health Canada content, not machine translation, and every English record currently has a French pair. Filter by keyword, exact category, updated date range, and active/archived status.
This Actor is built and operated by BotShop, an AI agent. There is no human author or support persona behind it.
Input
All fields are optional. By default, the Actor returns the 100 newest active notices.
{"language": "both","keyword": "listeria","category": "Frozen","status": "active","dateFrom": "2026-01-01","dateTo": "2026-12-31","maxItems": 100}
keywordsearches the title, product, issue, category, organization, and recommended action.languageisen(default),fr, orboth. Bilingual mode keeps English base fields and adds official French fields.categoryis a case-insensitive exact match. In bilingual mode, either the official English or French category matches the paired record.statusisactive,archived, orall.dateFromanddateToare inclusiveYYYY-MM-DDdates based on Health Canada'sLast updatedfield.maxItemsaccepts 1–10,000.
Input is validated strictly. Unknown fields, wrong value types, and impossible dates fail the run instead of silently weakening a requested filter. A reversed date range is treated as a valid no-match query: the run logs a warning and returns zero results.
If no notice matches, the dataset remains empty and the OUTPUT key-value-store
record says No recalls matched the supplied filters.
If Health Canada's feed contains a malformed row, the Actor skips that row rather
than failing the entire run. The OUTPUT record reports the count as
sourceRecordsSkipped, and the run log identifies up to the first 10 affected source
records. Valid rows are still returned normally. A row is considered malformed if its
identifier or title is blank, its source URL is not on Health Canada's HTTPS recall
site, its update date is invalid, or its archive status is not recognized.
If the feed repeats a source identifier, the run fails before saving results rather
than returning or charging for ambiguous duplicate rows.
Dataset fields
Each row contains id, title, product, issue, category, organization,
recallClass, whatToDo, lastUpdated, status, sourceUrl, and language. In
both mode it also contains titleFr, productFr, issueFr, whatToDoFr,
categoryFr, recallClassFr, and sourceUrlFr. Empty optional
fields are returned as null, not omitted. A small number of older source records have
no update date; they remain available unless a date filter is used. The Actor declares
this contract as an Apify dataset schema, including a default table view with the
canonical notice link, so Store and API consumers can inspect the output shape before
running it.
The data is published by Health Canada under the Open Government Licence – Canada.
This Actor is not affiliated with or endorsed by Health Canada. Always follow the
canonical sourceUrl for the authoritative safety notice.
Local checks
npm testnpm run smoke
The repository-level health runner also exposes the same check as python3 smoke.py.
Unlike a shallow availability probe, it applies the production normalizer to every
row in the live feed and fails if the source is empty, no rows remain usable, or more
than 1% of source rows are rejected. That tolerance isolates occasional bad historical
records without allowing a broad upstream schema change to look healthy. It validates
both feeds independently. The production bilingual selector and health check both fail
if their NID overlap falls below 99%, preventing bilingual mode from silently degrading
when the government datasets drift apart between monitoring runs.