CAP Alert Extractor (OASIS CAP 1.2 emergency alerts)
Pricing
from $0.35 / 1,000 alert records
CAP Alert Extractor (OASIS CAP 1.2 emergency alerts)
Point at ANY CAP alerting authority (US NWS, UN GDACS, Canada NAAD, PH PAGASA, NZ MetService + more in the WMO Register) and extract OASIS CAP 1.2 alerts as flat rows. Auto-decodes GeoJSON, inline CAP-XML feeds and Atom/RSS-linked CAP docs. One row per alert x info-language x area, with geometry.
Pricing
from $0.35 / 1,000 alert records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
22 days ago
Last modified
Categories
Share
CAP Alert Extractor
Point at ANY CAP alerting authority and get structured emergency-alert rows.
This Actor is a generic runner over the OASIS Common Alerting Protocol (CAP) 1.2 — the international standard that national meteorological and emergency-management agencies use to publish public warnings (severe weather, floods, earthquakes, tsunamis, air-quality, civil emergencies). The WMO Register of Alerting Authorities lists ~130 authorities that publish CAP. Give this Actor any of their feeds — or a single CAP document — and get flat, analysis-ready rows. No per-country scraper needed.
Why this is one Actor, not a hundred
Every authority speaks CAP, but they serialize it three different ways on the wire. This Actor auto-detects and decodes all three, so a single input works everywhere:
| Serialization | Example authority | What it looks like |
|---|---|---|
| GeoJSON | US NWS (api.weather.gov/alerts/active) | one features[] per alert, CAP fields in properties |
| Inline CAP-XML feed | UN GDACS (gdacs_cap.xml) | an RSS feed where each <item> embeds a full <cap:alert> |
| Atom/RSS → linked CAP docs | Canada NAAD, PH PAGASA, NZ MetService | a feed whose entries link to standalone CAP XML documents (auto-followed) |
It also handles the details the CAP spec leaves to the publisher:
- the
cap:namespace prefix is optional and inconsistent — elements are matched by local-name, so<cap:alert>,<alert>, and default-namespaced documents all parse. <area>geometry can be a polygon, a circle, or a geocode (SAME / FIPS / UGC) — all three shapes are captured; alerts with only a geocode are fine.status: Test/ExerciseandmsgType: Cancel/Updateare real CAP values — thestatusfilter (defaultActual) keeps test messages out of your data, andmsgTypeis surfaced so a Cancel is never mistaken for a live warning.- multi-language alerts (Canadian EN+FR, EU 24-language) emit one row per language.
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrl | string (required) | — | A CAP feed URL (GeoJSON / CAP-XML / Atom-RSS) or a single CAP XML document URL |
mode | enum feed | alert | feed | feed lists current alerts from a feed; alert parses one CAP document |
status | enum | Actual | Only emit alerts with this CAP status (empty = any). Keeps Test/Exercise out |
severity | enum | (any) | Filter by CAP severity (Extreme / Severe / Moderate / Minor / Unknown) |
urgency | enum | (any) | Filter by CAP urgency (Immediate / Expected / Future / Past / Unknown) |
certainty | enum | (any) | Filter by CAP certainty (Observed / Likely / Possible / Unlikely / Unknown) |
maxRecords | integer | 1000 | Strict cap: never more than this many rows |
userAgent | string | (built-in) | Override the User-Agent (some authorities request a descriptive UA) |
timeoutSecs | integer | 60 | Per-request timeout |
Example inputs
{ "startUrl": "https://api.weather.gov/alerts/active", "mode": "feed", "status": "Actual" }
{ "startUrl": "https://www.gdacs.org/xml/gdacs_cap.xml", "mode": "feed", "severity": "Severe" }
{ "startUrl": "https://rss.naad-adna.pelmorex.com/", "mode": "feed" }
{ "startUrl": "https://alerts.metservice.com/cap/rss", "mode": "feed" }
Output
The natural billable row is (alert × info-language × area) — one CAP <alert>
with 2 language <info> blocks each covering 7 <area> blocks yields 14 rows. Every
row is a flat, fully-nullable superset carrying alert-level fields (identifier,
sender, sent, status, msgType, scope, references, incidents),
info-level fields (language, categories, event, responseTypes, urgency,
severity, certainty, effective, onset, expires, senderName, headline,
description, instruction, eventCodes, parameters), and area-level fields
(areaDesc, polygons, circles, geocodes, altitude, ceiling), plus
provenance (_sourceUrl, _capUrl, _mode, _rowIndex, and the lossless _raw
CAP XML when applicable).
{"identifier": "urn:oid:2.49.0.1.840...","sender": "w-nws.webmaster@noaa.gov","sent": "2026-07-09T12:26:00-04:00","status": "Actual","msgType": "Update","language": "en-US","event": "Flood Watch","severity": "Severe","urgency": "Future","certainty": "Possible","effective": "2026-07-09T12:26:00-04:00","expires": "2026-07-10T00:00:00-04:00","senderName": "NWS State College PA","headline": "Flood Watch issued July 9 ...","areaDesc": "Perry; Dauphin; Lebanon; Cumberland; Adams; York; Lancaster","geocodes": [{ "valueName": "SAME", "value": "042099" }, { "valueName": "UGC", "value": "PAZ056" }]}
Honest behavior
- A reachable feed with 0 in-window alerts is a real result (exit 0, zero rows) — not an error.
- If every source is unreachable / unparseable, the Actor fails fast rather than emitting a fabricated empty success, so you can trust a 0-row run.
- It never invents rows and never reports an error as an honest empty.
Pricing
Pay-per-event: $0.0005 per alert record (one alert × info × area row), with a volume discount across subscription tiers.
Maximum charge per run
Each row is billed in the same step that writes it, so you only pay for rows you receive. If you set a maximum total charge on the run, the Actor checks the remaining budget before the feed request and before each linked CAP document request; once one more row is unaffordable it stops and makes no further request to the alerting authority. A budget below one record returns 0 rows without contacting the source. A billing failure stops the run with an error instead of continuing unbilled. If the platform restarts a run, rows already delivered are not written or billed again.
Notes
- Metadata only — the Actor reads the alert content the authority publishes; it does not download any linked binary attachments.
- Discover more authorities and their feed URLs in the WMO Register of Alerting Authorities.