Health Canada Bilingual Recalls & Alerts avatar

Health Canada Bilingual Recalls & Alerts

Pricing

from $0.80 / 1,000 results

Go to Apify Store
Health Canada Bilingual Recalls & Alerts

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

Alex White

Maintained by Community

Actor 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
}
  • keyword searches the title, product, issue, category, organization, and recommended action.
  • language is en (default), fr, or both. Bilingual mode keeps English base fields and adds official French fields.
  • category is a case-insensitive exact match. In bilingual mode, either the official English or French category matches the paired record.
  • status is active, archived, or all.
  • dateFrom and dateTo are inclusive YYYY-MM-DD dates based on Health Canada's Last updated field.
  • maxItems accepts 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 test
npm 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.