alerts.live developer API — free
A free, public API for developers, traders and reporters: live protests, strikes, road closures and street incidents, worldwide.
Quick start
# latest events in Paris, GeoJSON
curl "https://alerts.live/api/v1/events?city=paris&format=geojson"
# dangerous events (danger ≥ 60) in Europe since a date, with your key
curl -H "X-API-Key: alk_…" "https://alerts.live/api/v1/events?continent=EU&min_danger=60&since=2026-10-18T00:00:00Z"
# bounding box (W,S,E,N), shootings only
curl "https://alerts.live/api/v1/events?bbox=-5,41,10,51&type=shooting"
# time series: incidents per bucket in France, last week
curl "https://alerts.live/api/v1/stats?period=week&scope=country&value=FR"
# top 5 cities in the last 3 hours
curl "https://alerts.live/api/v1/top-cities?hours=3&n=5"
# one event (news, photos, videos, timeline)
curl "https://alerts.live/api/v1/events/123"
# RSS / Atom per city or country
https://alerts.live/api/v1/feed/city/paris.rss
https://alerts.live/api/v1/feed/country/FR.atom
# webhook (key required)
curl -X POST -H "X-API-Key: alk_…" -H "content-type: application/json" \
-d '{"url":"https://example.com/hook","types":["shooting","clashes"],"min_danger":50,"scope":"country","value":"FR"}' https://alerts.live/api/v1/webhooks
Get a free API key
Anonymous access: 60 requests/min. With a free key: 600 requests/min. Keys are hashed in our database; we cannot show them again.
Endpoints
GET /api/v1/events | bbox, city, country, continent, type, min_danger, min_confidence (0–100; default hides unconfirmed user reports), size, since, limit (≤200), offset, format=json|geojson |
GET /api/v1/events/{id} | |
GET /api/v1/stats | period=hour|day|week|month|year, scope=world|continent|country|city, value, types, bands, minDanger, sizes |
GET /api/v1/top-cities | hours (1–24), n |
GET /api/v1/feed/city/{slug}.rss|atom | |
GET /api/v1/feed/country/{CC}.rss|atom | |
POST /api/v1/keys | free key |
GET|POST|DELETE /api/v1/webhooks | key required |
GET /api/v1/openapi.json | OpenAPI 3 |
OpenAPI spec · CORS: Access-Control-Allow-Origin: *
Webhooks
Subscribe with POST /api/v1/webhooks (API key required). Each delivery is a JSON POST signed with HMAC-SHA256: header X-Alerts-Signature: sha256=HMAC(secret, X-Alerts-Timestamp + "." + body). HTTPS URLs only; disabled after 10 consecutive failures.
python: hmac.new(secret.encode(), (ts + "." + body).encode(), hashlib.sha256).hexdigest()
Terms of use
- Attribution is required: display “Data: alerts.live” with a link to alerts.live.
- Informational only. This is not an official source and may be wrong or delayed; never rely on it for safety-critical decisions. Follow local authorities.
- No police-position data: reports of police locations are rejected and must not be requested or redistributed from this API.
- Danger scores (1–100) and group sizes are automatic estimates. Locations are city-level approximations unless stated otherwise.
- Be fair: respect rate limits and cache responses. We may suspend abusive keys.
Need higher limits, SLAs, history exports or commercial licensing? A paid tier is available — contact us: contact us.