REST API для молний в реальном времени и истории вокруг ваших мест. Ниже — планируемый контракт; продакшен появится вместе с бэкендом.
https://api.zappollo.appv1Все эндпоинты под /v1. Несовместимые изменения выходят новой версией с периодом устаревания.
Передавайте API-ключ как bearer-токен:
Authorization: Bearer zpk_live_…
curl -H "Authorization: Bearer zpk_live_…" \ "https://api.zappollo.app/v1/lightning?lat=48.2&lon=11.6&radius_km=50&since=2026-06-03T13:00:00Z"
/v1/lightning?bbox={w,s,e,n}&since={iso}&limit=1000Recent strikes in a bounding box.
/v1/lightning?lat={lat}&lon={lon}&radius_km=50&since={iso}Recent strikes within a radius.
/v1/lightning/queryQuery by GeoJSON polygon, type (CG/IC), polarity and min peak current (kA).
/v1/lightning/history?lat=&lon=&radius_km=&from=&to=Historical strikes for a point, radius and time range.
/v1/lightning/{id}Full detail: kA, polarity, error ellipse, stations, confidence.
/v1/lightning/density?bbox=&cell=h3:7&since=Gridded strike counts (H3/geohash) for heatmaps.
/v1/cells?bbox=Active storm cells with centroid, intensity, heading and speed.
/v1/cells/{id}/forecast?minutes=600–60 min nowcast track + ETA to a point.
/v1/risk?lat=&lon=Combined storm-risk score (lightning + precipitation + wind).
wss://stream.zappollo.app/v1/lightning?bbox=Live strike stream over WebSocket.
/v1/stream/sse?bbox=Live strike stream over Server-Sent Events.
/v1/alerts/subscribeGeofence webhook subscription (signed deliveries).
/v1/safety?lat=&lon=&radius_km=13Safety status: watch / warning / all-clear (30-30 rule).
/v1/tiles/density/{z}/{x}/{y}.pngRaster density tiles.
/v1/tiles/strikes/{z}/{x}/{y}.mvtVector tiles (MVT) of strikes and cells.
/v1/static?lat=&lon=&zoom=&w=800&h=600Static map PNG snapshot (embeddable in reports).
/v1/weather?lat=&lon=Current conditions + short-term precipitation nowcast.
/v1/reports/verifyWas there a strike within R km of a point between T1–T2? Returns JSON + signed PDF.
/v1/reports/{id}Fetch a generated report or strike certificate.
/v1/stats?region=DE-BY&from=&to=&interval=hourAggregated counts and trends.
/v1/export?from=&to=&format=ndjsonBulk export (enterprise).
{
"data": [
{
"id": "a1b2c3",
"t": "2026-06-03T14:02:11.482Z",
"lat": 48.214, "lon": 11.553,
"type": "CG", "polarity": "-", "peak_kA": 14.2,
"ellipse_km": 0.4, "stations": 9, "confidence": 0.97,
"source": "certified-net"
}
],
"next": "c2Vfb2Zmc2V0PTEwMDA",
"count": 1
}Единый problem+json (RFC 7807) с type, status и request_id.
По курсору — передавайте "next" из ответа как ?cursor.
Квоты на ключ; смотрите заголовки X-RateLimit-*.
Отправляйте заголовок Idempotency-Key при записи, чтобы повторы были безопасны.
{
"type": "https://docs.zappollo.app/errors/rate-limit",
"title": "Rate limit exceeded",
"status": 429,
"detail": "60 req/min exceeded. Retry after 12s.",
"request_id": "req_8f2a91c4"
}Подпишите геозону и получайте подписанные POST. Проверяйте HMAC X-Zappollo-Signature.
POST https://your-app.com/hooks/zappollo
X-Zappollo-Signature: t=1717423331,v1=5e1b…
{ "event": "strike.near", "place_id": "venue-12",
"strike": { "id": "a1b2c3", "distance_km": 7, "t": "…" } }Официальные SDK для JavaScript/TypeScript и Python, коллекция Postman и спецификация OpenAPI 3.
Что-то создаёте? Получите API-ключ для вашего мероприятия или платформы.
Запросить доступ к APIZapollo · OpenStreetMap · OpenWeather · Blitzortung.org