Retrieve the last 20 missile and rocket alerts.
GET /public/alerts
Returns the most recent 20 missile and rocket alerts from Pikud HaOref (Israel Home Front Command). These are real-time civil defense alerts for incoming rockets, missiles, and hostile UAVs.
Request
GET https://api.hydra.fast/public/alerts
Headers: None required
Query Parameters: None
Response
Status: 200 OK
Content-Type: application/json
{
"data": [
{
"id": "cm5alert001",
"title": "Rocket alert — Sderot, Ibim, Nir Am",
"severity": "CRITICAL",
"region": "Gaza Envelope",
"countries": ["IL"],
"latitude": 31.52,
"longitude": 34.59,
"createdAt": "2026-03-21T06:45:12.000Z"
},
{
"id": "cm5alert002",
"title": "Hostile UAV alert — Metula, Kiryat Shmona",
"severity": "HIGH",
"region": "Northern Israel",
"countries": ["IL"],
"latitude": 33.28,
"longitude": 35.57,
"createdAt": "2026-03-21T05:30:00.000Z"
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
id |
string | Unique alert identifier |
title |
string | Alert description including affected cities |
severity |
string | CRITICAL or HIGH |
region |
string | null | Geographic region within Israel |
countries |
string[] | Always ["IL"] |
latitude |
number | null | Alert centroid latitude |
longitude |
number | null | Alert centroid longitude |
createdAt |
string | ISO 8601 timestamp of alert |
Code Examples
cURL
curl https://api.hydra.fast/public/alerts
JavaScript (fetch)
const response = await fetch('https://api.hydra.fast/public/alerts');
const { data } = await response.json();
data.forEach(alert => {
const time = new Date(alert.createdAt).toLocaleTimeString();
console.log(`[${time}] ${alert.severity}: ${alert.title}`);
});
Python (requests)
import requests
from datetime import datetime
response = requests.get("https://api.hydra.fast/public/alerts")
alerts = response.json()["data"]
for alert in alerts:
dt = datetime.fromisoformat(alert["createdAt"].replace("Z", "+00:00"))
print(f"[{dt.strftime('%H:%M:%S')}] {alert['severity']}: {alert['title']}")
print(f" Region: {alert.get('region', 'N/A')}")
Polling for new alerts
let lastSeen = null;
async function checkAlerts() {
const response = await fetch('https://api.hydra.fast/public/alerts');
const { data } = await response.json();
const newAlerts = lastSeen
? data.filter(a => new Date(a.createdAt) > lastSeen)
: data;
if (newAlerts.length > 0) {
console.log(`${newAlerts.length} new alert(s)!`);
newAlerts.forEach(a => console.log(` ${a.severity}: ${a.title}`));
lastSeen = new Date(data[0].createdAt);
}
}
// Poll every 10 seconds
setInterval(checkAlerts, 10_000);
checkAlerts();
Notes
- Returns a maximum of 20 alerts
- Alerts are sourced from Pikud HaOref (Israel Home Front Command) via 3-second polling
- For real-time alerts with zero delay, use the WebSocket Stream instead
- Coordinates represent the centroid of the alert area, not individual city locations