lightningmaps.org APIlightningmaps.org ↗
Access real-time lightning strike coordinates, timestamps, deviation, and Blitzortung detector station data across Europe, Oceania, and America.
curl -X GET 'https://api.parse.bot/scraper/5531a089-8e7e-4e66-bee0-269b40850b30/get_strikes' \ -H 'X-API-Key: $PARSE_API_KEY'
Get real-time lightning strikes via WebSocket connection. Connects to the live data feed and collects strikes for a configurable duration (1-60 seconds). Supports geographic bounding box filtering. Returns strike locations with latitude, longitude, timestamps, deviation, and metadata.
| Param | Type | Description |
|---|---|---|
| east | number | Eastern longitude bound for filtering |
| west | number | Western longitude bound for filtering |
| north | number | Northern latitude bound for filtering |
| south | number | Southern latitude bound for filtering |
| duration | integer | Duration in seconds to collect strikes (1-60) |
| src_mask | integer | Source bitmask for lightning networks (4=Blitzortung default, 7=all) |
{
"type": "object",
"fields": {
"count": "integer - total strikes collected",
"bounds": "object with north/south/east/west",
"strikes": "array of strike objects",
"copyright": "string",
"source_mask": "integer - active source bitmask",
"duration_seconds": "integer - collection duration"
},
"sample": {
"count": 73,
"bounds": {
"east": 180,
"west": -180,
"north": 90,
"south": -90
},
"strikes": [
{
"id": 8167918,
"server": 1,
"source": 2,
"altitude": null,
"delay_ms": 1823,
"latitude": 46.941415,
"longitude": -27.376728,
"deviation_m": 1480,
"timestamp_ms": 1772102690730
}
],
"copyright": "Lightning data by Blitzortung.org contributors via LightningMaps.org",
"source_mask": 4,
"duration_seconds": 10
}
}About the lightningmaps.org API
The LightningMaps.org API exposes 3 endpoints for real-time lightning strike data sourced from the Blitzortung.org sensor network. The get_strikes endpoint streams live strike events with latitude, longitude, Unix timestamps, and deviation values, and supports bounding-box filtering by north, south, east, and west coordinates. A companion endpoint returns detector station metadata for three global regions, and a polling endpoint provides the same strike data with per-detection station participation records.
Strike Data Endpoints
The get_strikes endpoint collects live lightning events over a configurable window of 1 to 60 seconds (the duration parameter). Each strike object includes geographic coordinates, a timestamp, deviation, and a meta field. You can scope results to a bounding box using east, west, north, and south parameters. The src_mask parameter selects which lightning networks contribute: 4 targets the Blitzortung network by default; 7 combines all available sources. The response also returns count, bounds, source_mask, duration_seconds, and a copyright attribution string.
HTTP Polling Alternative
get_strikes_xhr delivers the same strike data over a standard HTTP request instead of a streaming connection. It adds fields not present in the streaming endpoint: deviation_m (deviation in meters), delay_ms (latency from strike to detection), per-strike station participation arrays, and wait_ms — a server-recommended polling interval. The size_marker field acts as a cursor, letting clients request only data newer than the last response. Use include_stations=true to attach station participation records to each strike.
Detector Station Metadata
get_stations returns the list of active Blitzortung network detectors for a named region. The region parameter accepts europe, oceania, or america. Each station object includes numeric id, latitude, longitude, altitude, city, country, and status. The response also includes a timeid field representing the 15-minute time bucket used server-side, station_count, and a copyright string. Station data is useful for understanding network density and correlating detection quality with sensor coverage in a given area.
- Map live lightning strike density over a custom geographic bounding box using the north/south/east/west filter params in
get_strikes. - Build a weather alert dashboard that polls
get_strikes_xhron the server-recommendedwait_msinterval and surfaces strikes with lowdeviation_m. - Correlate strike
delay_msvalues fromget_strikes_xhragainst station participation counts to assess detection latency by region. - Visualize Blitzortung detector coverage gaps by plotting station
latitude,longitude, andaltitudefromget_stationsfor Europe, Oceania, and America. - Filter strikes to a country or state boundary by post-processing bounding-box results from
get_strikesagainst a polygon dataset. - Log high-frequency strike intervals using the
size_markercursor inget_strikes_xhrto build a continuous time-series without duplicate records. - Estimate sensor network reliability by joining
get_stationsstatus fields with strike participation arrays returned byget_strikes_xhr.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does LightningMaps.org have an official developer API?+
What does the `get_strikes_xhr` endpoint return that `get_strikes` does not?+
get_strikes_xhr adds deviation_m (deviation in meters), delay_ms (detection latency), per-strike station participation arrays, wait_ms (recommended polling interval), server_time, and a size_marker cursor for incremental polling. The streaming get_strikes endpoint does not include those fields.Which geographic regions does `get_stations` cover?+
region parameter accepts exactly three values: europe, oceania, and america. Stations outside those three named regions are not currently returned. You can fork the API on Parse and revise it to add coverage for additional regions if the underlying data becomes available.Does the API return historical lightning data?+
get_strikes collects a short live window (up to 60 seconds), and get_strikes_xhr returns the most recent batch with a size_marker for incremental polling. No endpoint accepts a date range or queries archived strike history. You can fork the API on Parse and revise it to add a historical endpoint if a suitable data source is identified.