# EU Safety Gate RAPEX Product Alerts Scraper (`parseforge/eu-safety-gate-rapex-scraper`) Actor

Scrapes EU Safety Gate RAPEX product alerts by keyword, country, category, risk level, or date range. Returns each alert as a flat row with notifying country, product category, risk level, and alert date.

- **URL**: https://apify.com/parseforge/eu-safety-gate-rapex-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### EU Safety Gate RAPEX Product Alerts Scraper

**Scrape EU Safety Gate RAPEX product alerts by keyword, country, category, risk level, or date range, up to a million per run.** Every alert comes with its notifying country, product category, risk level, and alert date. No login or API key. Export to CSV, JSON, Excel, or XML.

The EU Safety Gate (formerly RAPEX) portal publishes rapid alerts about dangerous non-food products across Europe, but its web interface is built for manual browsing, not bulk analysis. This Actor reads the public alert feed directly, filters it by product name, notifying country, product category, risk level, and date range, and returns each match in one fixed schema. Market surveillance authorities, importers, and consumer organizations use it to monitor recalls and safety signals without writing a single line of code.

| Who uses it | What they scrape EU Safety Gate for |
|---|---|
| Market surveillance authorities | Monitor alerts for products in their jurisdiction to prioritize inspections. |
| Importers and retailers | Check whether products they source have been flagged as dangerous in the EU. |
| Consumer organizations | Track emerging safety risks across product categories to inform public warnings. |
| Compliance teams | Build a historical dataset of alerts for due diligence and reporting. |
| Data journalists | Analyze patterns in product recalls across countries and categories. |

### What it does

This Actor collects EU Safety Gate RAPEX product alerts by keyword, country, category, risk level, or date range, and returns each one as a flat row.

- 🔍 **Keyword search:** free-text search across product name, brand, and description, for example "drone" or "baby carrier".
- 🌍 **Country filter:** narrow alerts to those issued by a specific EU/EEA member state or the UK.
- 📦 **Category filter:** select from 31 product categories, from Toys to Motor vehicles to Chemical products.
- ⚠️ **Risk level filter:** choose Serious risk, Other risk levels, or Other types of alerts.
- 📅 **Date range filter:** set a start and end date to collect alerts from a specific period.
- 📊 **Flat output:** each alert is returned as a single row with its notifying country, category, risk level, and date, ready for spreadsheets or databases.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with EU Safety Gate data

**🚨 Monitor dangerous products in your market.**

A national market surveillance authority runs the Actor daily with country set to their member state and riskLevel set to Serious risk, then reviews new alerts to plan inspections.

**📦 Screen imported goods before purchase.**

An importer searches for the product name or brand of a potential supplier's items and checks whether any alerts exist for that product category in the last 12 months.

**📈 Track recall trends across Europe.**

A consumer organization collects all alerts for Toys and Childcare articles over a year, then analyzes which countries and risk types are most common to publish a safety report.

**🧾 Build a compliance dataset.**

A compliance team runs the Actor weekly with no filters, stores the results in a database, and uses the historical data for due diligence when onboarding new suppliers.

**📰 Investigate product safety stories.**

A data journalist scrapes alerts for a specific product category, such as Electrical appliances, and cross-references the notifying countries to find patterns of under-reporting.

### Why choose this scraper

|  | What you get |
|---|---|
| **No API key** | The public Safety Gate feed is read directly, no registration or token needed. |
| **Bulk export** | Collect up to a million alerts per run and export to CSV, JSON, Excel, or XML. |
| **Structured data** | Every alert is returned in a flat, consistent schema for easy analysis. |
| **Flexible filters** | Combine keyword, country, category, risk level, and date range to target exactly what you need. |

### How it compares

No other Store actor targets EU Safety Gate the same way, so the honest comparison is with the alternatives teams actually weigh.

| | EU Safety Gate RAPEX Product Alerts Scraper | Build it in-house | By hand |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When EU Safety Gate changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |

### Configure the run

Drive the Actor from a keyword, notifying country, product category, risk level, and date range, alone or together, and filters run as each alert is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "keyword": "drone",
  "maxItems": 10
}
```

A larger pull:

```json
{
  "keyword": "drone",
  "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.009 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.90 |
| 1,000 results | $9.00 |
| 10,000 results | $90.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [EU Safety Gate RAPEX Product Alerts Scraper](https://apify.com/parseforge/eu-safety-gate-rapex-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to EU Safety Gate through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/eu-safety-gate-rapex-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check your filters. If you set a keyword, country, category, risk level, or date range that does not match any alerts, the Actor returns an empty dataset. Try removing filters one by one to see which one is too restrictive.

**Why are my date filters not working?**

Make sure dateFrom and dateTo are in YYYY-MM-DD format, for example 2024-01-01. If dateFrom is after dateTo, no alerts will be returned.

**Why did the run stop before reaching maxItems?**

The Actor stops when it has collected maxItems alerts or when there are no more alerts matching your filters. If you need more results, remove some filters or increase maxItems.

**Why is the keyword search not finding a product I know exists?**

The keyword search matches product name, brand, and description as they appear in the Safety Gate feed. Try a shorter or more general keyword, or check the spelling. Some alerts may use different product names.

**Can I get alerts for a specific brand?**

Yes. Enter the brand name in the keyword field. The search covers the brand field in the alert data, so it will return alerts where that brand is listed.

### FAQ

| Question | Answer |
|---|---|
| What is EU Safety Gate RAPEX? | EU Safety Gate, formerly known as RAPEX, is the European Commission's rapid alert system for dangerous non-food products. It publishes alerts submitted by national authorities across the EU/EEA and the UK. |
| Do I need an API key or login? | No. This Actor reads the public Safety Gate alert feed directly, so no registration, API key, or authentication is required. |
| What data does each alert include? | Each alert is returned as a flat row with the notifying country, product category, risk level, alert date, and other fields available in the public feed. The exact fields are shown in the sample output. |
| Can I filter by product name? | Yes. Use the keyword input to search across product name, brand, and description. For example, entering "drone" returns alerts where the product name, brand, or description contains that word. |
| Can I filter by country? | Yes. Select a notifying country from the dropdown, such as Germany or France, to return only alerts issued by that country. |
| Can I filter by product category? | Yes. Choose from 31 categories, including Toys, Cosmetics, Motor vehicles, Electrical appliances and equipment, and Chemical products. |
| Can I filter by risk level? | Yes. Select Serious risk, Other risk levels, or Other types of alerts to narrow the results. |
| Can I filter by date range? | Yes. Set dateFrom and dateTo in YYYY-MM-DD format to include only alerts within that period. |
| How many alerts can I collect? | You can set maxItems to any number from 1 to 1,000,000 per run. The Actor will stop after collecting that many matching alerts. |
| What output formats are supported? | The Actor returns data in JSON, and you can export the results to CSV, JSON, Excel, or XML from the Apify platform. |
| Is this the same as the EU Safety Gate website? | Yes. The Actor reads the same public data that is available on the Safety Gate portal, but structures it for bulk download and analysis. |
| Can I schedule this Actor to run automatically? | Yes. On Apify, you can set up a schedule to run the Actor daily, weekly, or at any interval, and receive notifications when new alerts are found. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by European Commission. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `keyword` (type: `string`):

Free-text search across product name, brand, and description (for example "drone", "baby carrier", "USB charger"). Leave empty to return all alerts.

## `maxItems` (type: `integer`):

How many product safety alerts to collect per run.

## `country` (type: `string`):

Filter by the country that issued the alert.

## `category` (type: `string`):

Filter by product category as classified in Safety Gate.

## `riskLevel` (type: `string`):

Filter by the alert risk level.

## `dateFrom` (type: `string`):

Only include alerts on or after this date (YYYY-MM-DD).

## `dateTo` (type: `string`):

Only include alerts on or before this date (YYYY-MM-DD).

## Actor input object example

```json
{
  "keyword": "drone",
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "drone",
    "maxItems": 10,
    "dateFrom": "",
    "dateTo": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/eu-safety-gate-rapex-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": "drone",
    "maxItems": 10,
    "dateFrom": "",
    "dateTo": "",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/eu-safety-gate-rapex-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": "drone",
  "maxItems": 10,
  "dateFrom": "",
  "dateTo": ""
}' |
apify call parseforge/eu-safety-gate-rapex-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/eu-safety-gate-rapex-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/DnfjD6DXndIZg5WHR/builds/lCu0kOAjlKtRc2tNa/openapi.json
