EU Safety Gate (RAPEX) Product Alerts
Pricing
$2.00 / 1,000 results
EU Safety Gate (RAPEX) Product Alerts
EU Safety Gate (RAPEX) product safety alerts from the Commission's weekly XML reports, one row per alert, with a brand and barcode (EAN/GTIN) watchlist filter.
Pricing
$2.00 / 1,000 results
Rating
0.0
(0)
Developer
Home Lab Mobile
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Get the EU's dangerous non-food product alerts (Safety Gate, formerly RAPEX) as clean JSON, one row per alert: product, brand, model, barcodes, risk, measures taken, countries, marketplace listings and photos. Pass a watchlist of your brands or EAN/GTIN barcodes and get back only the alerts that concern your catalogue. Data comes from the European Commission's public weekly XML reports; no login or account needed.
What it does
- Reads the latest N weekly Safety Gate reports (default 4, about a month), or an explicit report range
such as
2026-30to2026-40. The Commission publishes one report every Friday. - Watchlist: returns only alerts whose brand or barcode is on your list, and tells you which entry
matched (
watchlistMatches). Run it weekly to screen a catalogue or a marketplace listing feed. - Filters by notifying country, product category (e.g. Toys) and risk type (e.g. Chemical).
- Splits run-together barcode fields into individual EAN/GTIN codes and the measures text into structured measures (voluntary or compulsory, operator, measure, date).
- Returns one result per alert. You pay only for valid results; malformed rows are dropped and not charged.
- Fails loudly: if the Commission's files cannot be fetched or their format changes, the run fails instead of returning an empty or broken dataset. A watchlist that matches nothing ends successfully with zero results only after every report in the window was downloaded and parsed.
Input
| Field | Type | Required | Description |
|---|---|---|---|
weeksBack | integer | no | How many of the latest weekly reports to read (default 4, max 52). Ignored if a report range is set. |
reportFrom | string | no | Oldest report to include, YYYY-WW, e.g. 2026-35. |
reportTo | string | no | Newest report to include, YYYY-WW, e.g. 2026-40. |
watchBrands | string[] | no | Only alerts for these brands (case- and accent-insensitive, whole words). |
watchBarcodes | string[] | no | Only alerts listing these EAN/GTIN/UPC codes (8–14 digits; leading zeros ignored). OR-combined with watchBrands. |
notifyingCountries | string[] | no | English country names, e.g. France, Netherlands. |
productCategories | string[] | no | e.g. Toys, Electrical appliances, Cosmetics. |
riskTypes | string[] | no | e.g. Chemical, Choking, Electric shock, Fire. |
maxResults | integer | no | Stop after this many alerts (default 500, max 5,000). Caps the cost of a run. |
Examples:
{ "weeksBack": 2, "productCategories": ["Toys"], "maxResults": 100 }
{ "weeksBack": 8, "watchBrands": ["Nici", "Peugeot"], "watchBarcodes": ["5052931116324", "08719327535714"] }
{ "reportFrom": "2026-30", "reportTo": "2026-40", "notifyingCountries": ["Germany"], "riskTypes": ["Electric shock"] }
Calling from an AI agent (MCP)
This Actor works as a tool through the Apify MCP server. Example tool call:
{ "actor": "homelabmobile/eu-safety-gate-alerts", "input": { "weeksBack": 4, "watchBrands": ["Nici"], "maxResults": 20 } }
Output
One JSON object per alert (a real row from a local run on 2026-10-14; image list shortened):
{"alertNumber": "SR/02633/26","alertUrl": "https://ec.europa.eu/safety-gate-alerts/screen/webReport/alertDetail/10118555","alertId": "10118555","reportReference": "Report-2026-39","reportDate": "2026-10-02","reportYear": 2026,"reportWeek": 39,"category": "Chemical products","product": "Tattoo ink","brand": "Dynamic Platinum","productName": "Dynamic Tattoo Ink Grey 30 ml lotto 111224-DP","modelOrType": null,"batchNumber": "111224-DP","barcodeRaw": "810132830747","barcodes": ["810132830747"],"riskTypes": ["Chemical"],"riskLevel": "Serious risk","hazardDescription": "The product contains an excessive concentration of lead (measured value 0;0003% by weight). Lead is harmful to human health, accumulates in the body, can cause developmental neurotoxicity and may affect breast-fed or unborn children. The product does not comply with the REACH Regulation.","measures": [{ "measureType": "compulsory", "economicOperator": "Manufacturer", "measure": "Ban on the marketing of the product and any accompanying measures", "entryIntoForce": "2026-07-31" }],"measuresText": "Type of economic operator to whom the measure(s) were ordered: ManufacturerCategory of measure(s): Ban on the marketing of the product and any accompanying measuresDate of entry into force: 31/07/2026","recallUrl": null,"productDescription": "Grey tattoo ink, 30 ml.","notifyingCountry": "Italy","countryOfOrigin": "Spain","userType": "Professional","imageUrls": ["https://ec.europa.eu/safety-gate-alerts/public/api/notification/image/11236100"],"onlineMarketplaces": [{ "platform": "Other", "listingRef": "https://dynamiccolor.com/it" }],"companyRecallCode": null,"productionDates": null,"watchlistMatches": [],"scrapedAt": "2026-10-14T02:38:00.610Z"}
Each run also writes a RUN_SUMMARY record (status, counts) to its key-value store.
Pricing
Pay per event:
| Event | Price | Per 1,000 |
|---|---|---|
| Result (one alert row) | $0.002 | $2.00 |
Plus Apify's standard Actor start charge. A month of toy alerts (about 130 rows) costs about $0.26; a watchlist run that matches 3 alerts costs $0.006.
Data source and licence
- Source: European Commission, Safety Gate weekly reports in XML
(
https://ec.europa.eu/safety-gate-alerts/api/download/weeklyReport/list/xml/enand the per-report files it links to), listed on data.europa.eu as datasetrapex-rapid-alert-system-non-food. - Licence: the data.europa.eu catalogue lists the "Weekly Reports - XML format" distribution under Creative Commons CC0 1.0 Universal (public domain dedication).
- This Actor and its output are not endorsed by or affiliated with the European Commission. The
Commission's legal notice applies to its website: it accepts no responsibility for the information.
The authoritative version of each alert is the page in
alertUrl. - Personal data: alerts describe products, not people. As a precaution, e-mail addresses and phone numbers are removed from text fields, and links to private social-media or second-hand-marketplace profiles are removed from the marketplace field.
Known limits
- Coverage is what the Commission publishes in the weekly reports: non-food consumer and professional products notified by EU/EEA authorities (and the UK for Northern Ireland), from 2005 onward. Food alerts (RASFF) are not included.
- Fresh once a week: a new report appears on Fridays. Alerts are added, not edited, so re-running the same window returns the same alerts.
- Brand matching uses the
brandfield only. Many alerts have no brand (about a third in recent weeks), and brands are written as the authority reported them, so check spelling variants. Barcode matching also finds a code inside a run-together barcode field, so a short EAN-8 can occasionally match inside a longer code. - English only. At most 52 weekly reports per run; use several runs for longer history.
- Downloads about 0.5 MB for the report index plus 0.1–0.3 MB per weekly report; requests are limited to 30 per minute with 2 in parallel.
- Public data only. It does not log in or bypass any access control.
Support
Open an issue on the Actor's Issues tab. We reply within 2 business days.