EU Weather Alert Monitor — KNMI + EU-METEOALARM
Pricing
from $2.00 / 1,000 eu weather alert records
EU Weather Alert Monitor — KNMI + EU-METEOALARM
Real-time weather alert aggregation for the EU from KNMI (Netherlands) and EU-METEOALARM (EU-wide Atom feeds, CC BY 4.0). Flat JSON output with region, severity, status, source attribution, and optional incremental change tracking.
EU Weather Alert Monitor
Actor name: eu-weather-alert-monitor
Category: Weather
Language: English (actor interface); output records contain region codes for EU countries.
What it does
The EU Weather Alert Monitor aggregates active, official weather alerts for the European Union from two authoritative public sources:
- KNMI Data Platform (
waarschuwingen_nederland_48h) — Netherlands national meteorological service, official open-data REST-JSON API. - EU-METEOALARM (
feeds.meteoalarm.org) — EU-wide early-warning dissemination system, Atom feeds per country under CC BY 4.0.
For each active alert, the actor produces a flat JSON record with a stable alertId, region, severity level, event description, status (actual), timestamps, source URL, and an optional raw-text excerpt for transparency. You can filter by source (KNMI, EU-METEOALARM), region code, severity, and enable incremental tracking (trackChanges) to detect new, updated, unchanged, or removed alerts compared to the previous run.
Why this actor exists
LLMs and AI agents can describe weather conditions in general terms, but they cannot maintain a reliable, real-time, geographically filtered, version-tracked alert feed with official government classifications. General weather APIs provide temperature or precipitation forecasts — not the official KNMI codes (geel / oranje / rood) or METEOALARM country-level warnings. There are zero EU-specific actors on the Apify Store for structured weather-alert monitoring; the closest category is US-only NOAA/NWS actors.
This actor fills that gap: structured, programmatic access to EU government weather alerts, designed for monitoring pipelines, risk-analysis agents, notification systems, and research workflows that need authoritative classification rather than raw forecast numbers.
Capabilities
- Live aggregation from KNMI (Netherlands) and EU-METEOALARM (EU-wide Atom feeds).
- Flat JSON output — one record per alert, easy to consume in downstream pipelines.
- Region filtering — filter by country/region code (e.g.,
NL,DE,FR,BE). - Severity filtering — include only specific severity levels (e.g.,
geel,oranje,rood,yellow,orange,red). - Incremental mode (
trackChanges) — compares with the previous run snapshot (named KV store) and reportsnew,updated,unchanged, orremoved. - Transparent attribution — each record includes the official source URL and raw text for auditability.
- Public-data safe — no scraping of private or paywalled content; all sources are official open-government APIs and feeds.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
sourceFilter | array of strings | none | Filter by source: KNMI, EU-METEOALARM, ECMWF. |
regionFilter | array of strings | [] | Region codes to include (e.g., ["NL", "DE"]). |
severityFilter | array of strings | [] | Severity levels to include. Empty = include all. |
maxResults | integer | 50 | Maximum records to return (1–500). |
trackChanges | boolean | false | Enable incremental comparison with previous run. |
includeDetailed | boolean | false | v1.1+: include KNMI detailed XML. v1 returns summary only. |
knmiApiKey | string | demo key (test only) | Your registered KNMI API key. Recommended for production. |
Output format (JSON example)
[{"alertId": "knmi-knmi_waarschuwingen_202302011329-xml","source": "KNMI","region": "NL","event": "KNMI active warning","severity": "unknown","status": "actual","startDate": "2026-09-21T13:26:00.000Z","url": "https://dataplatform.knmi.nl/datasets/waarschuwingen_nederland_48h","rawText": "KNMI dataset: knmi_waarschuwingen_202302011329.xml (2678627 bytes)","changeType": "new"},{"alertId": "meteo-nl-Orange-warnin-MTMwMD","source": "EU-METEOALARM","region": "NL","event": "Orange warning for thunderstorms","severity": "orange","status": "actual","startDate": "2026-09-21T10:00:00Z","url": "https://feeds.meteoalarm.org/feeds/meteoalarm-legacy-atom-netherlands","rawText": "Details here","changeType": "new"}]
Each record is independent and non-nullable for core fields (alertId, source, region, event, severity, status, startDate, url). Optional fields (endDate, rawText, changeType) appear only when applicable.
Use cases
1. AI-agent risk assessment
"Are there any active severe weather warnings in the Netherlands or Germany right now? Only return official government classifications."
2. Monitoring pipeline
"Run every 30 minutes, filter by
regionFilter: ["NL", "DE"], and send a Slack notification only whenchangeTypeisneworupdated(usetrackChanges: true)."
3. EU-wide severe-weather dashboard
"Aggregate all
orangeandredalerts across EU countries for a real-time risk dashboard."
4. Research / data audit
"Compare METEOALARM Atom feed output with KNMI
.txtsummary to verify consistency between EU and NL national sources."
Pricing (PPE — Pay Per Event)
eu-weather-alert-record: $0.002 per alert record. Comparable to other official government-feed monitors in the portfolio.eu-weather-alert-change: $0.003 per change-detected record (new/updated) whentrackChangesis enabled. Higher value for incremental monitoring pipelines.
When should an AI agent use this?
- When the user asks for current official weather warnings in a specific EU country or across the EU.
- When the user needs structured, machine-readable alert data (not a text summary or a weather forecast).
- When the user asks about severe weather risk based on government classifications (
geel/oranje/rood,yellow/orange/red) rather than generic temperature or precipitation. - When the user needs incremental tracking (
trackChanges) to detect changes in alert status between runs. - When the user wants to compare KNMI national alerts with EU-METEOALARM EU-wide feeds.
- When the user asks: "Which EU countries have the most severe active weather warnings today?" (use the summary aggregation).
- When the user needs a structured feed for an AI agent that can answer questions like: "Are there any active orange or red warnings in Germany?"; "What is the current KNMI warning level for the Netherlands?"; "Has a new weather alert appeared since the last run?"; "What is the source attribution and license for this alert?".
FAQ
Q: Do I need to register for an API key?
A: The actor includes a public KNMI demo key for testing. For production use (higher rate limits, dedicated quota, no shared-key 429 errors), request a free registered key at developer.dataplatform.knmi.nl/get-started. Pass it as the knmiApiKey input field.
Q: Does the actor store historical data?
A: No archive is kept by default. With trackChanges: true, a snapshot of the previous run is stored in a named KV store (eu-weather-alert-monitor-snapshot) to detect changes. This snapshot is overwritten on each run.
Q: What if the EU-METEOALARM feed changes format?
A: The Atom feed uses standard W3C Atom (application/atom+xml) with embedded CAP (urn:oasis:names:tc:emergency:cap:1.2). The parser uses regex-based extraction for robustness without external XML dependencies. If the feed structure changes materially, the parser may need an update.
Q: Is there a legal restriction on using this data commercially?
A: No. KNMI open data and METEOALARM feeds are public-government data with standard attribution requirements. The actor includes proper source attribution and does not add proprietary interpretation. See the legal section in STOREINFO.md.
Keywords
EU weather alerts, KNMI warnings, METEOALARM, severe weather monitor, weather alert aggregator, EU weather warnings, government weather data, public weather API, weather risk monitoring, AI agent weather tool, KNMI open data, EU-METEOALARM feeds, weather alert JSON, real-time weather warnings.
Related Actors
weather-alert-warning-monitor— US NOAA/NWS weather alerts. This EU actor complements it with European official sources.nl-netstoringen-monitor— Netherlands network outage monitor; similar incremental-change tracking pattern.
Technical details
- Framework: Apify SDK v3 (
apifypackage), TypeScript, Zod input validation. - Sources: KNMI Open Data REST-JSON (
api.dataplatform.knmi.nl/open-data/v1) and EU-METEOALARM Atom feeds (feeds.meteoalarm.org). - Output: Default dataset (
datasetstorage) with flat JSON items;output_schema.jsondefines the schema;dataset_schema.jsondefines the Store table views. - Dependencies:
apify,zod. No external XML parser needed for v1. - Tests:
tests/main.test.tscovers input schema defaults, KNMI mapping, Atom parsing, and METEOALARM mapping using real fixture snippets from the live probes (2026-09-21).
Legal & Attribution
- KNMI: Official open data (
developer.dataplatform.knmi.nl). Attribution: KNMI Open Data (CC-BY-like). Actor passesUser-Agentand uses user-providedAuthorizationheader. - EU-METEOALARM: Official EU early-warning system (
meteoalarm.eu). Feeds published under CC BY 4.0 (confirmed 2026-09-21:https://feeds.meteoalarm.org/links tohttps://creativecommons.org/licenses/by/4.0/). Data provided by EUMETNET members. - No personal data processed. Pure meteorological warnings and public region codes only.
Changelog
- 0.1.0 (2026-09-21): Initial build — KNMI
.txtsummary + EU-METEOALARM Atom feeds, flat JSON output, region/severity filters, incrementaltrackChanges, 5 passing tests, live source probes verified.
Built: 2026-09-21. Last verified: KNMI 200 OK (10 files, .txt + .xml) and METEOALARM 200 OK (application/atom+xml, 989 bytes, NL feed).