⚠️ Now covering all 50 states — real-time alerts powered by our latest AI model. Get the app →

Quick Start

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"

Response

// 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 } }

WebSocket Streaming

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); };

Rate Limits

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.