EU Safety Gate (RAPEX) Scraper - Product Recalls & Alerts avatar

EU Safety Gate (RAPEX) Scraper - Product Recalls & Alerts

Pricing

from $4.00 / 1,000 result scrapeds

Go to Apify Store
EU Safety Gate (RAPEX) Scraper - Product Recalls & Alerts

EU Safety Gate (RAPEX) Scraper - Product Recalls & Alerts

Scrape product recall and safety alerts from the EU Safety Gate (ex-RAPEX) portal: product names, brands, risk types and descriptions, notifying country, measures taken, barcodes and categories. 46,000+ official EU alerts back to 2005. No cookies, no login.

Pricing

from $4.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

EU Safety Gate (RAPEX) Scraper

Scrape product recall and safety alerts from the EU Safety Gate portal (formerly RAPEX), the European Commission's rapid alert system for dangerous non-food products. The portal holds 46,000+ alerts going back to 2005, and new alerts are published weekly.

Why use this actor?

Product recalls are a compliance problem before they are a news story. E-commerce sellers, marketplaces, importers, insurers, and product-safety teams need to know when a product they sell (or a competitor's product) gets flagged in the EU. This actor turns the official Safety Gate database into structured JSON you can feed into monitoring, compliance checks, or market research.

Typical uses:

  • Marketplace compliance: check listed products (by brand, barcode, or model number) against active EU recalls
  • Brand monitoring: get alerted when a brand you distribute or compete with is recalled
  • Risk research: analyze which product categories, countries of origin, and risk types drive recalls
  • Insurance and legal: pull the official risk description, legal provision, and measures taken for a specific alert

No cookies, no login, no browser. The data comes straight from the portal's public JSON API.

Input

FieldTypeRequiredDescription
searchQueryStringNoFree-text keyword, e.g. toy, lithium battery, or a brand name. Empty = most recent alerts across all products
maxResultsIntegerNoMaximum alerts to return (default: 100)
languageStringNoTwo-letter EU language code for alert texts (default: en)
includeDetailsBooleanNoFetch full detail per alert: risk description, measures, countries, barcode (default: true)
proxyConfigurationObjectNoProxy settings. Public EU data, low anti-bot; residential is the safe default for large runs

An empty input {} works and returns the 100 most recent alerts.

Output

Each alert contains:

FieldTypeExample
referenceString"SR/01963/26"
alertTypeString"ARTICLE_12" (serious risk)
productNameString"Sand-filled toy"
productSpecificNameString"Fredhezza naturale plus"
productCategoryString"TOYS"
productDescriptionString"Stretching sand-filled toy in the shape of a carrot."
brandString"Trendhaus"
riskTypeString"CHEMICAL"
riskDescriptionString"The sand inside contains asbestos. Asbestos could cause cancer."
legalProvisionString"This product does not comply with the Toy Safety Directive."
notifyingCountryString"Germany"
countryOfOriginString"People's Republic of China"
measuresArray["PRODUCT_RECALL_FROM_CONSUMERS (VOLUNTARY)"]
barcodeString"4032722967176"
modelTypeString"967176"
soldOnlineString"NO"
publicationDateString"2026-07-02T14:04:09.009+00:00"
urlStringLink to the alert on the Safety Gate portal
imageUrlStringMain product photo URL
reportCodeString"Report-2026-26"
scrapedAtStringISO timestamp

Fields marked with includeDetails in the schema are empty when includeDetails is false.

Example output

{
"reference": "SR/01963/26",
"alertType": "ARTICLE_12",
"productName": "Sand-filled toy",
"productSpecificName": "",
"productCategory": "TOYS",
"productDescription": "Stretching sand-filled toy in the shape of a carrot.",
"brand": "Trendhaus",
"riskType": "HEALTH_RISK_OTHER",
"riskDescription": "The toy could rupture and the filling of the inside could come out. The sand inside contains asbestos. Asbestos could cause cancer.",
"legalProvision": "This product does not comply with the requirements of the Toy Safety Directive.",
"notifyingCountry": "Germany",
"countryOfOrigin": "People's Republic of China",
"measures": ["PRODUCT_RECALL_FROM_CONSUMERS (VOLUNTARY)"],
"barcode": "4032722967176",
"modelType": "967176",
"soldOnline": "NO",
"publicationDate": "2026-07-02T14:04:09.009+00:00",
"url": "https://ec.europa.eu/safety-gate-alerts/screen/webReport/alertDetail/10099442",
"imageUrl": "https://ec.europa.eu/safety-gate-alerts/public/api/notification/image/11012389",
"reportCode": "",
"scrapedAt": "2026-07-05T18:30:00.000Z"
}

How to scrape Safety Gate data

  1. Open the actor on Apify and click Try for free
  2. Optionally set a searchQuery (product keyword, brand, or barcode) and maxResults
  3. Click Start. The actor queries the official Safety Gate JSON API, walks the paginated results, and (by default) fetches the full detail record per alert
  4. Download the results from the Dataset tab as JSON, CSV, or Excel, or pull them via the Apify API

To monitor new recalls continuously, run the actor on a schedule (e.g. daily) and diff on the reference field. Alerts are sorted newest first, so a small maxResults (50 to 100) is enough for a daily check.

Search tips

  • The free-text search covers product names, brands, model numbers, and alert references
  • Search in the language you set: language: "de" with searchQuery: "Spielzeug" works the same as English
  • To pull the full historical database, leave searchQuery empty and set maxResults high. Expect roughly one request per 50 alerts plus one per alert when includeDetails is on

Performance and cost

  • Listing-only runs (includeDetails: false) fetch 50 alerts per request and are very fast
  • Detail runs add one lightweight JSON request per alert, paced at ~5 requests/second
  • 100 alerts with full details typically completes in under a minute on default memory

What is the Safety Gate?

Safety Gate (previously called RAPEX) is the EU's rapid alert system for dangerous non-food consumer products. National authorities of EU/EEA countries notify the European Commission when they find a product presenting a serious risk, and the Commission publishes the alerts weekly. Alerts cover toys, electronics, cosmetics, vehicles, childcare articles, clothing, and more.

This actor scrapes only the public data published by the European Commission at ec.europa.eu. Attribution: European Union, Safety Gate.

FAQ

Do I need an account on the Safety Gate portal? No. The data is public and the actor needs no cookies or login.

Is this legal? The actor reads the same public JSON API the official portal website uses. The data is published by the European Commission for public use; reuse is covered by the Commission's reuse policy (CC BY 4.0 in most cases). Check the legal notice for your specific use.

Which languages are supported? All official EU languages. Set language to the two-letter code (en, de, fr, es, it, nl, pl, ...). Risk descriptions fall back to English when a translation is missing.

How fresh is the data? The Commission publishes new alerts weekly, plus daily additions. Each run pulls live data.

Can I get the product photos? Yes. imageUrl points to the official image endpoint and can be downloaded directly.

Support

Found an issue or need an extra field (for example the full measures detail or reacting countries)? Open an issue on the actor page and it gets fixed quickly.