EU RASFF Food Safety Alerts Scraper
Pricing
Pay per event
EU RASFF Food Safety Alerts Scraper
Export EU RASFF food/feed safety alerts with products, hazards, countries, risks, measures, and official details URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Share
Export structured EU RASFF food and feed safety notifications from the public RASFF Window. This actor turns the EU portal into clean datasets for compliance monitoring, supplier-risk screening, food recall workflows, and recurring alert exports.
What does EU RASFF Food Safety Alerts Scraper do?
EU RASFF Food Safety Alerts Scraper searches the Rapid Alert System for Food and Feed (RASFF) public database and saves each matching notification as a structured dataset item. It can fetch list records only or enrich every notification with the detail API.
The actor extracts the RASFF reference, validation date, product category, product type, risk decision, notification classification, countries, hazards, measures taken, follow-up count, raw metadata, and source links.
Who is it for?
- ๐งช Food safety and quality assurance teams that need recurring exports of EU alerts.
- ๐ข Importers and distributors that monitor supplier-country risks.
- ๐ Retail compliance teams that track products, hazards, and withdrawals.
- ๐ Consultants and data teams that build dashboards from RASFF records.
- โ๏ธ Regulatory intelligence teams that need auditable source URLs and raw metadata.
Why use this scraper?
The RASFF portal is useful for manual searches, but repeated monitoring is easier with API-ready records. This actor gives you repeatable Apify runs, datasets, webhooks, exports, schedules, and integrations.
Data you can extract
| Field | Description |
|---|---|
reference | RASFF notification reference such as 2026.5919 |
ecValidationDate | EC validation date from RASFF |
subject | Notification subject text |
productCategory | Food/feed category |
productType | Product type such as food or feed |
notificationClassification | Alert / information classification |
riskDecision | RASFF risk decision |
notifyingCountry | Country or organization that notified |
originCountries | Product origin countries when available |
hazards | Detailed hazard records when detail enrichment is enabled |
measuresTaken | Measures and country taking action |
detailsUrl | Direct RASFF detail page |
How much does it cost to scrape EU RASFF food safety alerts?
The actor uses pay-per-event pricing with a small $0.005 run-start fee plus a per-alert charge. Current per-alert pricing is tiered by Apify plan: FREE about $0.00010, BRONZE about $0.000087, SILVER about $0.000068, GOLD about $0.000052, PLATINUM about $0.000035, and DIAMOND about $0.000024 per saved RASFF notification.
Concrete examples:
- Export 100 recent RASFF alerts on the FREE tier: about
$0.015total ($0.005start + ~$0.010per-alert charges). - Export 1,000 alerts on BRONZE: about
$0.092total ($0.005start + ~$0.087per-alert charges). - Export 10,000 alerts on GOLD: about
$0.529total ($0.005start + ~$0.524per-alert charges).
The input prefill is intentionally modest and the actor uses the public EU RASFF API, so no paid proxy is required. A small first run of 25 alerts on the FREE plan is roughly $0.0075, making it inexpensive to verify the dataset before scheduling larger monitoring jobs.
How to use it
- Open the actor on Apify.
- Set a date range or keyword.
- Keep
includeDetailsenabled if you need hazards and measures. - Choose
maxItems. - Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.
Input options
maxItemscontrols how many notifications are saved.dateFromanddateToacceptYYYY-MM-DDorDD-MM-YYYY.keywordsearches notification subjects through the official RASFF API.referencefetches an exact reference when you know it.productCategory,hazard,country, andnotificationTypeare human-readable text filters.includeDetailsadds hazards, measures, flagged countries, and follow-up counts.
Output example
{"notificationId": 856316,"reference": "2026.5919","subject": "Presence of Vibrio cholerae in raw Black Tiger shrimps from Bangladesh","productCategory": "crustaceans and products thereof","productType": "food","riskDecision": "potentially serious","notifyingCountry": { "name": "Romania", "isoCode": "RO" },"originCountries": [{ "name": "Bangladesh", "isoCode": "BD" }],"detailsUrl": "https://webgate.ec.europa.eu/rasff-window/screen/notification/856316"}
Tips for better results
Use a date range for monitoring runs. Use exact references for incident investigations. Use keyword searches for hazards such as Listeria, Salmonella, aflatoxin, or pesticide. Enable details for compliance exports and disable details only when you need a very fast list feed.
Common workflows
- Daily alert monitor for the latest food/feed notifications.
- Country-risk export for origin-country screening.
- Product-category export for fish, tea, feed, nuts, or other categories.
- Hazard-specific monitor for pathogens, allergens, residues, or contaminants.
- Audit packet with raw RASFF metadata and details URLs.
Integrations
Send datasets to Google Sheets, BigQuery, Snowflake, S3, Zapier, Make, n8n, Slack, or your own webhook. You can schedule the actor and trigger downstream workflows when new alerts are found.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/eu-rasff-food-safety-alerts-scraper').call({maxItems: 100,dateFrom: '2026-07-01',dateTo: '2026-07-06',includeDetails: true});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/eu-rasff-food-safety-alerts-scraper').call(run_input={'maxItems': 100,'keyword': 'Listeria','includeDetails': True,})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~eu-rasff-food-safety-alerts-scraper/runs?token=MY-APIFY-TOKEN' \-H 'Content-Type: application/json' \-d '{"maxItems":100,"keyword":"Listeria","includeDetails":true}'
MCP for Claude Desktop and Claude Code
Use Apify MCP with this actor as a tool:
https://mcp.apify.com/?tools=automation-lab/eu-rasff-food-safety-alerts-scraper
Claude Code command:
$claude mcp add apify-rasff --transport http "https://mcp.apify.com/?tools=automation-lab/eu-rasff-food-safety-alerts-scraper"
Claude Desktop JSON configuration:
{"mcpServers": {"apify-rasff": {"url": "https://mcp.apify.com/?tools=automation-lab/eu-rasff-food-safety-alerts-scraper"}}}
Example prompts:
- "Run the EU RASFF scraper for the last week and summarize serious fish-product alerts."
- "Export RASFF notifications mentioning Listeria and group them by country."
- "Find recent feed-related RASFF notifications and list measures taken."
Scheduling
For monitoring, schedule a daily run with a recent date range. Connect the dataset to a webhook, Google Sheet, or BI pipeline.
Legality
The actor reads publicly available RASFF Window data from the European Commission portal. Users are responsible for complying with Apify Terms of Service, the source website's terms, and applicable data-use rules.
Troubleshooting
If a keyword returns no results, widen the date range or remove optional post-filters. If you need hazard details, keep includeDetails enabled because hazards live on the notification detail endpoint.
Related scrapers
- https://apify.com/automation-lab/fda-food-recalls-scraper
- https://apify.com/automation-lab/eu-safety-gate-product-recalls-scraper
- https://apify.com/automation-lab/website-contact-finder
FAQ
Does it need a proxy?
No. The actor uses the public EU RASFF API and does not require Apify Proxy for normal runs.
Can I search by country?
Yes. The country input is a text filter matched against notifying, origin, distribution, and flagged countries.
Can I get hazards and measures?
Yes. Enable includeDetails to fetch detailed records with hazards, analytical results, measures, and follow-up counts.
Monitoring examples
Use keyword=Salmonella for pathogen monitoring.
Use productCategory=fish for fish and seafood workflows.
Use country=CN or country=China for origin-country screening.
Use reference=2026.5919 for an exact notification investigation.
Dataset quality
Each item includes a raw object with the original RASFF API response. This helps with auditing and lets advanced users map fields that are not displayed in the default table view.
Performance
The actor fetches search pages of up to 100 records. Detail mode adds one request per notification and includes a small delay to be respectful to the government portal.
Changelog
- Initial private build: public RASFF search and detail export.
Support
If you need another filter exposed as a first-class input, open an Apify issue with an example RASFF search and the expected field.
Source transparency
Every result keeps the official RASFF detail URL. Every enriched result keeps the raw API payload. This makes exports easier to audit. It also helps analysts map new fields when RASFF changes.