EU Safety Gate (RAPEX) Product Alerts avatar

EU Safety Gate (RAPEX) Product Alerts

Pricing

$2.00 / 1,000 results

Go to Apify Store
EU Safety Gate (RAPEX) Product Alerts

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

Home Lab Mobile

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

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-30 to 2026-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

FieldTypeRequiredDescription
weeksBackintegernoHow many of the latest weekly reports to read (default 4, max 52). Ignored if a report range is set.
reportFromstringnoOldest report to include, YYYY-WW, e.g. 2026-35.
reportTostringnoNewest report to include, YYYY-WW, e.g. 2026-40.
watchBrandsstring[]noOnly alerts for these brands (case- and accent-insensitive, whole words).
watchBarcodesstring[]noOnly alerts listing these EAN/GTIN/UPC codes (8–14 digits; leading zeros ignored). OR-combined with watchBrands.
notifyingCountriesstring[]noEnglish country names, e.g. France, Netherlands.
productCategoriesstring[]noe.g. Toys, Electrical appliances, Cosmetics.
riskTypesstring[]noe.g. Chemical, Choking, Electric shock, Fire.
maxResultsintegernoStop 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:

EventPricePer 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/en and the per-report files it links to), listed on data.europa.eu as dataset rapex-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 brand field 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.