Product Recalls Monitor & Recall API: CPSC, Health Canada & UK avatar

Product Recalls Monitor & Recall API: CPSC, Health Canada & UK

Pricing

from $2.40 / 1,000 recalls

Go to Apify Store
Product Recalls Monitor & Recall API: CPSC, Health Canada & UK

Product Recalls Monitor & Recall API: CPSC, Health Canada & UK

Monitor official consumer product recalls via CPSC, Health Canada and UK OPSS recall API feeds with brand, keyword, GTIN filters and new recall alerts.

Pricing

from $2.40 / 1,000 recalls

Rating

0.0

(0)

Developer

Ad Astra Connect

Ad Astra Connect

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Product Recall Monitor API

Find official product recalls that match your catalog or supplier watchlist. Product Recall Watchlist combines the CPSC recalls API, Health Canada recalls and UK OPSS product recalls into one normalized dataset, with brand, keyword, GTIN / UPC, category and country filters. Use monitor mode for scheduled checks that return only newly seen recall notices. Export JSON, CSV or Excel, or read the dataset through the Apify API. No regulator API key or account is needed.

CPSC recalls API

Get US consumer product recall notices from the official public CPSC API, including published affected products, hazards, remedies, units, model numbers, UPCs and product image links when available. Coverage is the latest 120 dated notices within the last 365 days, followed by your age and watchlist filters. Explicit brands are often missing in this API; title and product-name keywords can still match.

Health Canada recalls

Read the official daily Canadian open-data export and the latest 12 eligible recall detail pages. Coverage includes consumer products, food, vehicles and health products published through the centralized Canadian recall service. Labelled detail fields can supply brand, importer or manufacturer company, UPC, model and units. Warning notices are excluded. The original recall date is used when available; otherwise dateBasis identifies the last-updated fallback.

UK OPSS product recalls

Get the latest 12 recall notices from the documented GOV.UK Search API and Content API. Only notices labelled Product Recall are included. Product safety alerts and reports are excluded. Explicit product tables supply brand, category and model information where published. Images contained only in PDF attachments are not extracted.

EU Safety Gate RAPEX

EU Safety Gate RAPEX is currently not included. Its documented historical XML export links now redirect to an HTML application, and a current documented machine-readable replacement could not be verified. Australian ACCC and US NHTSA sources were also excluded during endpoint and policy checks. Only cpsc, health-canada and uk-opss are accepted source values. This Actor does not provide complete global recall coverage.

Product recall watchlist use cases

  • E-commerce sellers: flag recalled products for review before listing or restocking.
  • Marketplaces: route matched recall notices to catalog moderation workflows.
  • Importers: watch supplier brands and affected models across the US, Canada and UK.
  • Compliance and insurance teams: collect attributed recall evidence for risk reviews.

A match is a review signal. A zero-result run does not establish that a product is safe or legally saleable.

What data can you get?

FieldContents
id, sourceStable source-prefixed recall ID and regulator feed
country, regionRegulator market: US, CA or GB, not manufacturing origin
title, productName, brandRedacted official title, affected product and explicit brand
manufacturers, importersCompany names in the published labelled fields
category, hazard, remedyProduct category, risk description and corrective action
unitsAffectedPublished count text, including qualifiers such as About
gtins, modelNumbersPublished structured UPC / EAN / GTIN and model values
recallDate, dateBasisISO date and whether it is the recall date or a documented fallback
sourceUrl, imageUrlOriginal official notice and public product image when available
attributionRegulator credit and licence attribution, retained on every row
matchedWatchlistTermsInput terms or GTIN values that matched this record
detailsStatusapi, complete or unavailable
firstSeenAtFirst emitted timestamp, present only in monitor mode

Missing optional values are null or empty arrays. The Actor excludes consumer contact and person fields, and applies automated name, email and phone redaction to free text, including company support phone numbers. Structured product identifiers remain strings. Redaction can miss unfamiliar names or remove legitimate product words; review prose before republishing it.

How to use

  1. Keep all three sources selected and run the small prefilled input: 14 days and at most 40 rows.
  2. Add brand or product keywords to watchlist, or add exact UPC / GTIN values to gtins.
  3. Optionally restrict categories and destination countries.
  4. Open the dataset's Recall overview and export the results.
  5. Check RUN_SUMMARY for source errors, cache age, missing detail warnings and bounded coverage.
{
"sources": ["cpsc", "health-canada", "uk-opss"],
"watchlist": ["Simmons", "car seat"],
"gtins": ["774021599002"],
"categories": [],
"countries": [],
"recalledWithinDays": 30,
"maxResults": 40,
"monitorMode": false,
"monitorKey": "catalog-watch",
"requestDelayMs": 750
}

An empty input {} selects all three verified sources, the last 30 days and a maximum of 100 rows. Prefill uses 14 days and 40 rows. Both can return fewer rows because coverage windows, filters and upstream data determine availability.

Watchlist terms are literal, case-insensitive substrings across the title, product name, brand, manufacturer/importer company, category, hazard and model fields. Any watchlist term or exact GTIN can match. Categories and countries combine with that group using AND; values inside each list use OR. Empty lists impose no restriction. Categories use the regulator's published labels, not a unified taxonomy. No regular expressions or fuzzy matching are used.

GTIN input accepts 8, 12, 13 or 14 digits with optional spaces or hyphens. Leading zeros are preserved and comparisons use zero-padded GTIN-14. The Actor checks explicitly labelled barcode fields; a missing barcode cannot match a barcode-only watch. Country values are US, CA and GB; UK is an accepted alias. Dates use UTC calendar days. recalledWithinDays: 0 disables the age filter within the fixed source windows, not across the full historical archives.

Sample output from a live run

Selected fields from real recall rows collected on October 24, 2026. Full rows retain the official notice URLs and required source/licence attribution.

SourceProductBrandRecall datePublished units
CPSCCostway Convertible High ChairsNot separately published2026-10-22About 3,332
Health CanadaSimmons Kozy and Nido Baby Nest/LoungerSimmons2026-10-2225,088 units sold in Canada
UK OPSSAxkid MiniKid Core Car SeatsAxkid2026-10-22Not published
{
"id": "health-canada:82829",
"source": "health-canada",
"country": "CA",
"brand": "Simmons",
"importers": ["Jasztex Fibers Inc. DBA Jupiter Industries"],
"category": "Consumer products - Household items",
"gtins": ["774021599002", "774021599026", "774021599507", "774021599552", "774021599606", "774021599651"],
"modelNumbers": ["59900", "59902", "59950", "59955", "59960", "59965"],
"recallDate": "2026-10-22",
"dateBasis": "recall_date",
"matchedWatchlistTerms": [],
"detailsStatus": "complete"
}

Pricing

Planned price: $3.00 per 1,000 recalls. The final price is shown on the Store page. Each dataset row uses one recall billing event. Any configured apify-actor-start charge also counts toward the spending limit.

Rows suppressed as duplicates or already seen in the same monitor produce no recall event. Snapshot reruns can emit and bill the same recall again. The Actor checks the budget before fetching and writing, batches output, and stops gracefully when the spending limit is reached. Zero emitted rows create no recall charge; a configured Actor-start charge can still apply.

Incremental runs / monitoring

Enable monitorMode and keep the same monitorKey and filters for scheduled checks. The first run emits matching recalls currently in the source windows. Later runs emit only previously unseen source:nativeId values and add firstSeenAt to emitted rows. An edited notice with the same ID does not create a new alert. A recall published by two regulators remains two distinct rows, each with its own source credit.

Seen IDs live in the named key-value store product-recall-watchlist-state, separate from the dataset. A named request queue, product-recall-watchlist-delivery-claims, atomically claims each matching recall ID before its dataset write. Queue entries are storage records and are never fetched. The Actor records an ID only after the dataset accepts that row. Rows beyond a result or spending cap remain pending while they are still in the source window. Changing maxResults, delay or source selection preserves the watch. Changing its name or filters starts a fresh scope. To reset all watches, delete both the named state store and the delivery-claims queue. A new monitorKey resets just one watch scope.

Keep runs that share the cache or watch sequential for source polling coordination. Durable delivery claims prevent another run from charging a claimed recall ID again in the same watch, including after a crash or acknowledgement failure. A crash after claiming but before delivery can leave rows undelivered; these IDs are withheld from automatic replay to prevent repeat charges. Check failed runs before starting a fresh watch. RUN_SUMMARY.targets[].claimedCount counts rows withheld by an existing claim. State and claims are retained until reset. This detects newly discovered notices, not edits, withdrawals or all historical recalls.

Scheduling and integrations

Use Apify schedules for hourly or daily runs. A successful source window is cached for one hour across watch names and filters. Canadian source data itself updates daily. Connect dataset exports and Apify webhooks to Make, Zapier or n8n, call the Actor through the Apify API, or use MCP tools for AI agents. Configure alert delivery in the integration you choose.

This is not legal advice. This Actor is not a substitute for official recall notices. The Actor uses official public endpoints without login, checks robots.txt, preserves regulator credit and licence attribution, and excludes consumer contact fields. Users are responsible for their use, downstream publication, legal obligations and any additional rights in third-party material. Retain each row's attribution and official notice link when displaying it. Read the official notice and obtain qualified advice for compliance decisions.

Limitations

  • This is a bounded recent watchlist, not a complete recall database. The fixed windows are 120 CPSC notices within 365 days, 12 Canadian recalls and 12 UK recalls. windowCapped indicates additional eligible records exist upstream. Larger maxResults does not expand these windows.
  • Output follows source input order. A source with many matches can fill the result cap before later sources emit rows. Polling too infrequently can miss records that leave the source windows.
  • Canada sorts the export by last updated; UK sorts by public timestamp. Explicit recall dates drive the final filter when available. An updated older recall can enter a source window but fail the age filter.
  • Success caches last an hour. Failed fetches, incomplete detail fetches and abandoned reservations have a five minute cooldown. Changing a watch name does not reset source polling. Refresh coordination is best effort; prevent overlap.
  • Each source gets at most one retry shared across all its requests, for network errors, 429, server errors or timeouts. Retry-After waits are capped at 10 seconds. Host requests are spaced by at least 750 ms, with higher robots crawl delays honored.
  • Source failures are isolated. If every source is unavailable, the run succeeds with zero rows and a clear status message. Check RUN_SUMMARY and retry after nextFetchAt. Invalid input and dataset/state/claim write errors fail the run. Unreadable monitor state returns a successful zero-row state_unavailable summary without polling or charging recalls.
  • A detail failure leaves a feed-level row with detailsStatus: unavailable. Brand, model or GTIN filters may then miss a match. Check source warnings before acting on absence of results.
  • The Actor stops collection after 45 seconds or 45 seconds before the platform timeout, whichever is sooner, and saves a successful time_limit summary. Latency and upstream availability vary.
  • Missing labels, layout changes and automated redaction can reduce field coverage. No third-party seller pages, PDFs or private services are queried. Product image links can become unavailable.

FAQ

Why did my monitor return zero recalls?

Current matching notices may already be seen, filters may match nothing, or selected sources may be unavailable or cooling down. Inspect RUN_SUMMARY, including source status and next refresh times. Zero rows do not mean there are no relevant recalls worldwide.

Can I use it as a complete product safety check?

No. The Actor has explicit source and window limits and may lack barcodes or model fields. Read the regulator notices and use a wider compliance process before making listing or safety decisions.

Why is a brand, UPC, unit count or image missing?

Regulators do not publish every field consistently. The Actor does not guess brands from a title or derive barcodes from prose. Models inside PDFs are not extracted. CPSC often lacks a separate brand field; title keywords can help.

Can I watch the same brand in several countries?

Yes. Add the brand to watchlist, leave countries empty or select multiple markets, and enable monitor mode. Coverage is currently limited to US CPSC, the Canadian central recall feed and UK OPSS.

How do I start a fresh watch?

Choose a new monitorKey or change the filters. Reuse the same name and filters to continue an existing watch. Keep the named state store and delivery-claims queue between scheduled runs.

Support

Report reproducible issues through this Actor's Issues tab on Apify. Include the run ID and input without personal information.

Costway, Simmons, Axkid, Jasztex, Jupiter Industries, Excel, Apify, Make, Zapier and n8n are trademarks of their respective owners. Government names, including CPSC, Health Canada, GOV.UK, UK OPSS, EU Safety Gate, RAPEX, ACCC and NHTSA, and their marks belong to their respective owners. This Actor is not affiliated with, endorsed or sponsored by these companies, services, regulators or governments.