EU Safety Gate Scraper (RAPEX Product Alerts) avatar

EU Safety Gate Scraper (RAPEX Product Alerts)

Pricing

from $3.00 / 1,000 alert delivereds

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

EU Safety Gate Scraper (RAPEX Product Alerts)

Official EU Safety Gate (RAPEX) weekly reports as JSON: one item per dangerous non-food alert - caseNumber, category, product, riskType, danger, measures, country, report week. Filters: weeksBack, since, categories. Dedup is within-run only: overlapping reports can re-deliver alerts, each charged.

Pricing

from $3.00 / 1,000 alert delivereds

Rating

0.0

(0)

Developer

Steadfetch

Steadfetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Categories

Share

Monitor the European Union's Safety Gate rapid alert system for dangerous non-food products. This Actor reads the official European Commission XML API and returns one structured item per product safety alert, ready for compliance, recall and market-surveillance workflows.

What it does

  • Downloads the official weekly report list from https://ec.europa.eu/safety-gate-alerts/api/download/weeklyReport/list/xml/en.
  • Reads the newest weeksBack weekly reports (1-52) and maps every alert to a stable JSON item.
  • Optionally filters by report publication date (since) and product category (categories, case-insensitive).
  • Deduplicates alerts by caseNumber + reference within the run, and across runs per Apify user: the Actor remembers every alert it delivered to your account (for the same categories filter) in a named key-value store and never re-delivers or re-charges it.
  • Validates every item against the published output schema before saving it.
  • Uses only the public XML API: no browser, no login, no CAPTCHA and no proxy. Requests are spaced at least 2 seconds apart and send an honest User-Agent.

Legal and data reuse. The XML distribution used here is published on data.europa.eu as part of the dataset Safety Gate (the EU rapid alert system - non-food) and is licensed CC0 1.0 Universal (public domain dedication, https://creativecommons.org/publicdomain/zero/1.0/), with access right PUBLIC. The robots.txt of ec.europa.eu does not disallow /safety-gate-alerts/. Source attribution: European Commission, Safety Gate.

Privacy. Alerts describe products, risks, countries and authorities. The Actor reads no person names and emits no contact fields.

Input

FieldTypeDefaultDescription
weeksBackinteger 1-524Number of weekly reports to download, newest first.
sincestring YYYY-MM-DDnoneSkip reports published before this date.
categoriesstring[][]Case-insensitive product category filter.
maxResultsinteger 1-50001000Maximum alerts saved to the dataset.

Example:

{
"weeksBack": 1,
"categories": ["Jewellery"],
"maxResults": 50
}

Example output

{
"caseNumber": "SR/02869/26",
"reference": "https://ec.europa.eu/safety-gate-alerts/screen/webReport/alertDetail/10097467",
"category": "Jewellery",
"product": "Necklace",
"name": "Squid game necklace",
"brand": null,
"type_numberOfModel": "RM-JL-6641",
"barcode": null,
"batchNumber": null,
"riskType": "Chemical",
"danger": "The product has an excessive concentration of cadmium (measured value: 6.4% by weight). Cadmium is harmful to human health because it accumulates in the body, can damage the kidneys and bones and it may cause cancer. The product does not comply with the REACH Regulation.",
"measures": "Type of economic operator taking notified measure(s): DistributorCategory of measure(s): Withdrawal of the product from the marketDate of entry into force: 14/11/2025",
"description": "Necklace with a cross-shaped pendant featuring a hidden compartment.",
"notifyingCountry": "Sweden",
"countryOfOrigin": "Unknown",
"type": "Consumer",
"level": "Serious risk",
"onlineTrader": "Other(Fyndiq.se) / ",
"urlrecall": null,
"companyRecallCode": null,
"productionDates": null,
"pictures": [
"https://ec.europa.eu/safety-gate-alerts/public/api/notification/image/11238213",
"https://ec.europa.eu/safety-gate-alerts/public/api/notification/image/11238214"
],
"report": {
"reference": "Report-2026-41",
"publicationDate": "2026-10-16",
"week": 41,
"year": 2026
},
"source_url": "https://ec.europa.eu/safety-gate-alerts/api/download/weeklyReport/detail/xml/10000327?language=en",
"url": "https://ec.europa.eu/safety-gate-alerts/screen/webReport/alertDetail/10097467",
"title": "SR/02869/26 \u00b7 Jewellery \u00b7 Squid game necklace",
"scrapedAt": "2026-10-20T16:05:00.000Z"
}

Fields the source publishes as xsi:nil are returned as null; values are never invented.

Pricing

This Actor uses Apify pay-per-event pricing:

  • apify-actor-start: 0.00005 USD per run, the Apify-recommended default (includes the first 5 seconds of compute).
  • apify-default-dataset-item: 3.00 USD per 1,000 alerts (0.003 USD per alert), charged only for new, validated alerts saved to the dataset. Alerts already delivered to your Apify account are skipped before they reach the dataset, so they are never charged. Duplicated or filtered alerts, empty results, retries and errors are not charged.

Cost per 1,000 alerts (measured locally, no Apify credit spent). On 2026-10-20 a local run with {"weeksBack":1,"maxResults":50} used 2 HTTP requests, downloaded 602,567 bytes (0.60 MB) and finished in 3.30 s at 256 MB, emitting 50 alerts with 0 schema rejections. One weekly report holds about 90 alerts, so 1,000 alerts need 12 reports plus the list:

MeasurementValue
HTTP requests for 1,000 alerts13 (1 list + 12 reports)
Bytes downloaded for 1,000 alerts~2.9 MB (measured report sizes)
Wall time for 1,000 alerts at 256 MB~25 s (2 s request spacing)
Compute cost (0.25 GB x 25 s x 0.20 USD/GB-hour)~0.00035 USD
Data transfer (0.0029 GB x 0.20 USD/GB)~0.00058 USD
Measured platform cost per 1,000 alerts~0.001 USD (< 0.01 USD)

Rates: https://apify.com/pricing (compute 0.20 USD per GB-hour, external data transfer 0.20 USD/GB). The 3.00 USD per 1,000 price leaves a wide margin over the measured cost and sits inside the direct-competitor band of 0.001-0.012 USD per alert observed in the Apify Store on 2026-10-19.

FAQ

Does it need an API key or login? No. The European Commission XML API is public and keyless.

How fresh is the data? Safety Gate publishes a new weekly report every Friday. With weeksBack: 1 you get the latest report; increase it to include more history on your first run. Later runs only add alerts you have not received before.

How are duplicates handled? Within a run, alerts are deduplicated by caseNumber + reference: the same alert appearing in two reports is emitted and charged once. Across runs, the Actor keeps a per-user memory in a named key-value store (eu-safety-gate-monitor-state, one key per Apify user) of the alerts it actually pushed, for the same categories filter. A repeat run with the same input delivers 0 alerts and is not charged per alert - only the fixed run-start event applies. A new alert published after your last run is delivered exactly once. There is no backfill switch: no mode re-delivers alerts you already received, so every charged alert is new for your account.

Are personal data included? No. The Actor reads product, risk, country and authority fields only.

Can I filter by category? Yes. categories is a case-insensitive exact match on the alert category, for example ["Jewellery", "Toys"].

Why fewer alerts than expected? maxResults caps emitted alerts, and categories/since filter the window. Alerts you already received in an earlier run are skipped: the run log reports them as alreadyDelivered. Check the run log for reportsFetched, totalNotifications, pushed and skipped.

Maintenance

Maintenance status: tested daily. Steadfetch runs the schema and a live minimum run as part of its daily QA. The Actor validates every item against the published schema on every run; a schema violation fails the run instead of saving partial data. Source and license notes are reviewed when the upstream distribution changes.