EU Food & Feed Safety Alerts (RASFF)
Every EU food, feed and food-contact-material safety alert from 1979 to 2020 in one clean table - the cross-border early-warning record importers, QA teams and food-safety researchers want but can't get from the portal. The live RASFF Window is presentation-only with no reuse licence; the Commission (DG SANTE) instead published the full pre-2021 back-catalogue as an OPEN CC-BY-4.0 distribution on data.europa.eu (the 'restored_rasff' dataset). One tidy row per notification-line: reference and date, notifying and origin country, notification type (Food/Feed/Food-contact) and class, the notification basis, product / subject / product category, hazard category + substance + full hazard text, any analytical result, the action taken and the market-distribution status. Keyed by (reference, line_no). No complainant or company-contact personal data. CC-BY-4.0 ((c) European Union).
- Source
- RASFF
- Licence
- Redistributable open data
- Quality
- QC clean · 0 failures
- Format
- Apache Parquet + dictionary
Safe to train on
Built only from a named, redistributable official source under a documented open licence - not scraped web data. No copyright grey zone, no personal data. Ships machine-readable Croissant metadata (ML Commons - loads in Hugging Face / Kaggle / Google), an AI training-licence manifest documenting source, licence and provenance for your model's data governance, and a machine-readable data dictionary (drop it into an agent / RAG prompt so the model knows every column) - all inspectable before you buy.
What's included
- Every EU food/feed/food-contact safety notification 1979-2020 - ~76k lines, one clean table
- Notifying & origin country, notification type & class, notification basis
- Hazard category + substance + full hazard text; product, subject & product category
- Action taken and market-distribution status; analytical result where measured
- 42 product categories, 29 hazard categories - filter, aggregate or join by country/product
- Built ONLY from the OPEN restored_rasff CC-BY-4.0 distribution (data.europa.eu), NOT the portal
- No complainant/company-contact personal data (public extract; no_pii enforced)
- CC-BY-4.0 - commercial reuse & redistribution with attribution
- Source: (c) European Union, RASFF (Rapid Alert System for Food and Feed), DG SANTE / data.europa.eu
Schema
| Column | Type | Description | Filled | Distinct |
|---|---|---|---|---|
| reference | str | RASFF notification reference (e.g. 1979.01) | 100.0% | 61,313 |
| line_no | int | 0-based line index within a notification (with reference, the primary key) | 100.0% | 33 |
| notification_date | str | Notification date (YYYY-MM-DD) | 100.0% | 5,865 |
| notifying_country | str | Country/authority that filed the notification | 100.0% | 36 |
| origin_country | str | Country of origin of the product | 100.0% | 189 |
| notification_type | str | Food, Feed or Food Contact Material | 100.0% | 3 |
| notification_class | str | alert / information / border rejection / for attention | 100.0% | 5 |
| notification_basis | str | How the issue was found (official control, border control) | 94.5% | 11 |
| subject | str | Free-text notification subject | 100.0% | 56,120 |
| product | str | Product name | 100.0% | 22,993 |
| product_category | str | RASFF product category | 100.0% | 42 |
| hazard_category | str | RASFF hazard category | 100.0% | 29 |
| hazard_substance | str | Substance / finding | 100.0% | 1,308 |
| hazard_full | str | Full hazard description text | 100.0% | 2,210 |
| action_taken | str | Action taken (recall/withdrawal, import not authorised, destruction) | 93.4% | 48 |
| distribution_status | str | Market-distribution status of the product | 88.9% | 16 |
| result | str | Analytical result value (where measured) | 76.4% | 24,402 |
| result_unit | str | Unit of the analytical result | 68.5% | 55 |
Sample & preview
Every purchase ships as Apache Parquet with a data dictionary and the full QC report. A free sample (first rows + schema) is downloadable here - confirm fit before you buy. Source: RASFF (redistributable open data; attribution passes through - see our Licence).
Don't trust screenshots - drop the sample into your notebook right now.
import pandas as pd df = pd.read_parquet("eu-food-safety-alerts_sample.parquet") df.info() # typed columns, gap-aware, ready to join⬇ Download free Parquet sample or CSV for Excel
Related datasets
Agri Positioning Matrix (crop condition × COT)
Physical crop reality vs paper positioning: USDA Good+Excellent condition momentum joined to CFTC speculative-positioning z-score per crop, weekly, across 8 crops - corn, soybeans, wheat, cotton, rice, oats (all with both condition and the dominant CFTC futures market) plus barley and sorghum (condition only, no listed futures). Crops deteriorating while funds are net-short flags short-squeeze setups in food commodities.
EU CAP Subsidy Flows
Common Agricultural Policy expenditure, cleaned to analysis-ready Parquet: EUR paid per EU member state x CAP instrument (direct payments, market measures, rural development) x year, 2003-2022. Fully aggregated (member-state level, no beneficiary individuals) - the GDPR-safe view of where CAP money goes. Source: DG AGRI 'Financing the CAP' indicators.
European Agricultural Output Prices
The real output-price index of Europe's major crops - cereals, wheat, barley, grain maize, industrial crops and oilseeds - deflated to 2020=100, per country, annual. Cleaned from Eurostat's agricultural price statistics into one tidy panel: the farm-gate price signal, in real terms, that agri-commodity traders, food manufacturers and ag-lenders track. Distinct from our global crop-production volumes - this is PRICE, not tonnage.