EU Safety Gate Product Matcher: RAPEX vs Your Catalog
Pricing
Pay per event
EU Safety Gate Product Matcher: RAPEX vs Your Catalog
Match your product list (name, brand, model, EAN barcode) against official EU Safety Gate (RAPEX) dangerous-product alerts. Confidence score and match reason for every hit, category filter (default Toys), bilingual English/Chinese output. Not legal advice.
Pricing
Pay per event
Rating
0.0
(0)
Developer
dafei-data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Security
Limited permissionsShare
EU Safety Gate Product Matcher: RAPEX Alerts vs Your Catalog (EN/中文)
⚠️ Disclaimer: Informational only. This is not legal or compliance advice. Matches are automated and may be incomplete or wrong; always verify on the official Safety Gate alert page (
alertUrl).⚠️ 免责声明: 仅供参考,不构成法律或合规意见。匹配结果由程序自动生成,可能遗漏或有误,请以 Safety Gate 官方预警页面为准。
Check your own product list against the official EU Safety Gate (RAPEX) weekly alerts for dangerous non-food products. Every hit comes with a confidence score and the reason it matched, in English and Chinese.
Sample output · 样例输出

Real Apify cloud run (weekly report 2026-W42) with the example input below. Chinese fields are generated from a fixed glossary.
Pricing (pay per event)
| Event | Price |
|---|---|
| Alert listed (monitor mode) | $0.003 |
| Product checked (per product, per run) | $0.001 |
| Match found | $0.01 |
Bilingual Excel report (free) · 中英双语 Excel 报告(免费)
With excelReport on (default), every run saves REPORT.xlsx to the run's default key-value store. It is free and does not change the dataset or the price.
- Sheet Results 结果: two header rows (English + 中文), frozen header, filters, a clickable link to each official alert, English original and Chinese (Zh) columns side by side.
- Sheet About 说明: disclaimer, translation notice, source attribution, licence and the link to the official reuse terms.
- Download: Console → your run → Storage → Key-value store → REPORT.xlsx, or
GET https://api.apify.com/v2/key-value-stores/<defaultKeyValueStoreId>/records/REPORT.xlsx(add your API token). The exact URL is printed in the run log. It also appears in the run's Output tab.
Subscribe by country of origin and category (monitor mode + Schedule) · 按原产地和品类订阅
- Leave
productsempty (monitor mode) and set the filters, e.g.:
{ "categories": ["Toys", "Childcare articles and children's equipment"], "countriesOfOrigin": ["China"], "weeks": 1, "incremental": true, "stateStoreName": "sg-toys-china" }
- Click Save as a new task.
- In Apify Console open Schedules → Create new, add the task, and set a weekly cron such as
0 8 * * 6(Saturdays 08:00 UTC). Safety Gate publishes one weekly report every Friday. Docs: https://docs.apify.com/platform/schedules - With
incremental: trueeach run outputs only alerts it has not output before (remembered in the named key-value storestateStoreName), so you are charged only for new alerts. Use one store name per subscription. - Optional: add an email / Slack integration to the task to receive each run (https://docs.apify.com/platform/integrations).
The same works in match mode: keep
productsfilled andincrementalon to be notified only about new matches.
EAN / barcode matching details
- Your barcode is matched exactly (digits only) against every barcode in the alert. GTIN-8/12/13/14 are compared after removing leading zeros, so
02765238030004equals2765238030004. - Safety Gate often stores several barcodes concatenated without a separator (e.g.
50529311163315052931116324) or with spaces inside. The Actor splits such values into fixed-length codes only if every part has a valid GTIN check digit, and never matches on a partial / substring code. - Numbers or strings are both accepted as input;
yourProduct.barcodeValidtells you whether your own code has a valid check digit.
Reuse terms, source and licence · 再利用条款、出处与许可
Official Safety Gate disclaimer (reuse terms): https://webgate.ec.europa.eu/safety/consumers/consumers_safety_gate/menu/documents/New_disclaimer_EN.pdf
- Reuse is authorised (Commission Decision 2011/833/EU) provided the original meaning is not distorted and the source is acknowledged as: "Alerts from the Rapid Alert System for dangerous non-food products, published free of charge on the Safety Gate website (https://ec.europa.eu/safety-gate-alerts) © European Union, 2005 – 2025". Every dataset item (
attribution) and the Excel report carry this exact text. - Translations must be acknowledged; the English version prevails. All
…Zhfields are an unofficial translation generated from a fixed glossary (translationNotice/translationNoticeZhin every item). English originals are always kept next to them. - The European Commission is not liable for the accuracy of alert information provided by national authorities.
- The weekly report list XML is published as CC0 on data.europa.eu: https://data.europa.eu/data/datasets/rapex-rapid-alert-system-non-food
How matching works
| Confidence | Rule |
|---|---|
| 1.0 (high / 高) | Your barcode (EAN/GTIN) is identical to a barcode in the alert |
| 0.85 (high / 高) | Same brand and your model number appears in the alert's model / name / batch |
| 0.6 (medium / 中) | Your model number appears in the alert |
| 0.5 (medium / 中) | Same brand + similar product words |
| 0.4 (low / 低) | Same brand only (generic brands like "Unknown" / "No brand" are ignored) |
| 0.3 (low / 低) | Similar product: at least half of your product-name words appear in the alert's product/name |
Use cases
1. Toy exporter to the EU: barcode pre-check before listing
Before you list or ship a batch of toys to EU buyers, check your EAN/GTIN barcodes against the latest Safety Gate alerts. Barcodes are compared exactly (leading zeros ignored), so a hit means the same code appears in an official alert.
Input (paste into the Input tab and replace with your own SKUs; TOY-001 and TOY-002 use barcodes taken from real alerts so the demo returns hits, TOY-003 is not in any alert of the period):
{"products": [{ "sku": "TOY-001", "name": "Toy gun set", "barcode": "04250383846504" },{ "sku": "TOY-002", "name": "Key ring with soft toy", "barcode": "3760323741727" },{ "sku": "TOY-003", "name": "Wooden puzzle", "barcode": "4006381333931" }],"categories": ["Toys"],"weeks": 4,"minConfidence": 1}
Output — excerpt of one dataset item from a real run on 2026-10-28 (weekly reports 2026-39 to 2026-42: 406 alerts, 111 in Toys; 4 matches — TOY-001 once, TOY-002 three times in three separate alerts; TOY-003 no match):
{"type": "match","confidence": 1,"matchBasis": ["Barcode 04250383846504 is identical","Similar product (shared words: gun)"],"matchBasisZh": ["条码 04250383846504 完全一致","同类商品(共同词:gun)"],"yourProduct": {"name": "Toy gun set","brand": null,"model": null,"barcode": "04250383846504","sku": "TOY-001","barcodeValid": true},"alertNumber": "SR/03013/26","alertUrl": "https://ec.europa.eu/safety-gate-alerts/screen/webReport/alertDetail/10118725","reportDate": "2026-10-23","product": "Toy gun set","barcode": "4250383846504","riskLevel": "Serious risk","riskLevelZh": "严重风险","measures": ["Recall of the product from end users"],"measuresZh": ["从终端用户处召回"],"countryOfOrigin": "People's Republic of China","countryOfOriginZh": "中国","attribution": "Alerts from the Rapid Alert System for dangerous non-food pr …"}
barcodeValid tells you whether your own barcode has a correct GS1 check digit. A bilingual REPORT.xlsx is saved in the run's key-value store.
Schedule it: Save the input as a Task, set "weeks": 1, "incremental": true and a stateStoreName (e.g. my-toy-catalog) → Console → Schedules → Create → e.g. 0 9 * * 6 (Saturday 09:00; Safety Gate publishes a weekly report, usually on Friday) → add the Task and an e-mail/Slack integration. Each run then only reports alerts not seen before.
Example input
{"products": [{ "sku": "A1", "name": "Squishy slime toy", "brand": "MyBrand", "model": "SL-01" },{ "sku": "A2", "name": "Baby rattle", "barcode": "6901234567892" }],"categories": ["Toys"],"weeks": 4}
Leave products empty to simply list all alerts in the chosen categories (monitor mode). Default category: Toys.
Chinese output (中文字段)
Chinese fields (categoryZh, riskTypesZh, riskLevelZh, measuresZh, economicOperatorsZh, countryOfOriginZh, dangerKeyTermsZh, matchBasisZh …) are produced deterministically from a fixed glossary in src/glossary.js — no machine-translation API. Free text (danger, description) stays in English; dangerKeyTermsZh lists the key technical terms detected in it (e.g. 邻苯二甲酸酯, 小零件, REACH 法规). Terms not in the glossary are listed in untranslatedTerms.
Data source, licence, robots
- Official list of weekly reports:
https://ec.europa.eu/safety-gate-alerts/api/download/weeklyReport/list/xml/en(dataset "Safety Gate (the EU rapid alert system – non-food)" on data.europa.eu, XML distribution licensed CC0); each weekly report XML is linked from that list. - The Actor only downloads these official XML files (1 request per second, N+1 requests per run). It does not crawl web pages.
https://ec.europa.eu/robots.txtdoes not disallow/safety-gate-alerts/. - No personal data: alerts describe products, brands, risks and measures.
- Attribution, translation notice and licence: see Reuse terms, source and licence above (exact wording from the official disclaimer, kept in every item).
- Independent tool, not affiliated with the European Commission.
Related · 相关工具
- UK equivalent: UK Product Recall Matcher — match your Amazon ASINs, EANs and models against UK OPSS product safety reports and recalls (GOV.UK). 英国版:用 ASIN / EAN / 型号匹配英国 OPSS 召回与安全报告。
- Canada equivalent: Canada Recalls & Safety Alerts Product Matcher — match your products (brand, model, UPC/EAN, ASIN) against Health Canada, CFIA and Transport Canada recalls (Government of Canada open data). 加拿大版:用品牌 / 型号 / 条码匹配加拿大官方召回与安全警报。
- Developer news: Hacker News Monitor: Keywords, Domains, Show HN + Chinese — only-new Hacker News alerts for your keywords, domains and Show HN launches, with Chinese machine-translated titles and a bilingual Excel report.
Free plan limit & upgrade
- Apify free plan: up to 100 output items per run (the run finishes normally and the status message says when the limit was applied).
- Paid Apify plan: the full
maxItems(default 1,000, up to 100,000), same per-event prices. - Upgrade your Apify plan: https://apify.com/pricing
- Run this Actor on Apify Store: https://apify.com/dafei-data/eu-safety-gate-product-matcher