Integrate real-time emergency intelligence into your applications, dashboards, and mass notification systems with our REST and WebSocket APIs.
Get your API key from the Enterprise dashboard, then start receiving alerts in minutes.
# Authenticate and fetch active alerts for a location
curl -X GET "https://api.zonecastai.com/v2/alerts?lat=38.9072&lng=-77.0369" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"// 200 OK
{
"alerts": [
{
"id": "zca-2026-03-19-tornado-0847",
"type": "tornado_warning",
"severity": "extreme",
"headline": "Tornado Warning for Arlington County",
"description": "NWS confirmed tornado...",
"geometry": { "type": "Polygon", "coordinates": [...] },
"guidance": {
"action": "shelter_in_place",
"nearest_shelter": { "name": "...", "distance_m": 340 },
"evacuation_routes": [...]
},
"source": "NWS/IPAWS",
"issued_at": "2026-03-19T14:23:00Z",
"expires_at": "2026-03-19T15:00:00Z"
}
],
"meta": { "request_id": "...", "latency_ms": 12 }
}For real-time applications, connect to our WebSocket endpoint for push-based alert delivery with sub-20ms latency.
const ws = new WebSocket("wss://stream.zonecastai.com/v2/alerts");
ws.onopen = () => {
ws.send(JSON.stringify({
"type": "subscribe",
"api_key": "YOUR_API_KEY",
"geofences": [
{ "lat": 38.9072, "lng": -77.0369, "radius_m": 5000 }
]
}));
};
ws.onmessage = (event) => {
const alert = JSON.parse(event.data);
console.log("Alert received:", alert.headline);
};API rate limits scale with your Enterprise plan tier:
Full API reference, SDKs (Python, Node.js, Go), and Postman collection available in the Developer Portal.