EU Safety Gate (RAPEX) Scraper - Product Recalls & Alerts
Pricing
from $4.00 / 1,000 result scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | No | Free-text keyword, e.g. toy, lithium battery, or a brand name. Empty = most recent alerts across all products |
maxResults | Integer | No | Maximum alerts to return (default: 100) |
language | String | No | Two-letter EU language code for alert texts (default: en) |
includeDetails | Boolean | No | Fetch full detail per alert: risk description, measures, countries, barcode (default: true) |
proxyConfiguration | Object | No | Proxy 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:
| Field | Type | Example |
|---|---|---|
reference | String | "SR/01963/26" |
alertType | String | "ARTICLE_12" (serious risk) |
productName | String | "Sand-filled toy" |
productSpecificName | String | "Fredhezza naturale plus" |
productCategory | String | "TOYS" |
productDescription | String | "Stretching sand-filled toy in the shape of a carrot." |
brand | String | "Trendhaus" |
riskType | String | "CHEMICAL" |
riskDescription | String | "The sand inside contains asbestos. Asbestos could cause cancer." |
legalProvision | String | "This product does not comply with the Toy Safety Directive." |
notifyingCountry | String | "Germany" |
countryOfOrigin | String | "People's Republic of China" |
measures | Array | ["PRODUCT_RECALL_FROM_CONSUMERS (VOLUNTARY)"] |
barcode | String | "4032722967176" |
modelType | String | "967176" |
soldOnline | String | "NO" |
publicationDate | String | "2026-07-02T14:04:09.009+00:00" |
url | String | Link to the alert on the Safety Gate portal |
imageUrl | String | Main product photo URL |
reportCode | String | "Report-2026-26" |
scrapedAt | String | ISO 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
- Open the actor on Apify and click Try for free
- Optionally set a
searchQuery(product keyword, brand, or barcode) andmaxResults - 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
- 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"withsearchQuery: "Spielzeug"works the same as English - To pull the full historical database, leave
searchQueryempty and setmaxResultshigh. Expect roughly one request per 50 alerts plus one per alert whenincludeDetailsis 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.