Hotspots
Near-real-time satellite fire detections with full history since January 2025 — attributes, the active flag, and example queries.
deepfire:hotspots — near-real-time satellite fire detections, current and historical,
global coverage. Geometry: Point (EPSG). Feature IDs: hotspots.<uuid>.
Attributes
| Property | Type | Notes |
|---|---|---|
id |
uuid | Feature key (surfaced as hotspots.<uuid>) |
cluster_id |
uuid | Owning cluster — joins to deepfire:clusters |
observed_at |
timestamp (ISO 8601) | Detection time |
source |
string | Detecting satellite — see data sources |
confidence |
string | LOW | MEDIUM | HIGH |
fire_radiative_power |
number, nullable | FRP in MW |
country |
string, nullable | ISO 3166-1 alpha-2 country code |
active |
boolean | Live working set vs. historical — see below and how active is computed |
Current vs. historical
The collection serves the full history — detections going back to January 2025;
active = true narrows it to the current live set. An unfiltered query returns
everything — filter active = true if you only want live fires.
A hotspot’s active flag follows its owning cluster: detections are ingested
active = true and flip to false — permanently — once the cluster has gone 24 hours
without any new detection. See
how active is computed.
Examples
Live, high-confidence, energetic detections:
curl -sG -H "Authorization: Bearer $TOKEN" \
"https://api.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=active = true AND confidence = 'HIGH' AND fire_radiative_power > 50" \
--data-urlencode "f=application/geo+json"
Detections in a time window (observed_at is indexed — this is fast):
curl -sG -H "Authorization: Bearer $TOKEN" \
"https://api.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=observed_at >= TIMESTAMP('2026-07-01T00:00:00Z') AND observed_at < TIMESTAMP('2026-07-02T00:00:00Z')" \
--data-urlencode "limit=10000" \
--data-urlencode "f=application/geo+json"
Live detections in one country:
curl -sG -H "Authorization: Bearer $TOKEN" \
"https://api.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=active = true AND country = 'US'" \
--data-urlencode "limit=10000" \
--data-urlencode "f=application/geo+json"
All detections for one fire (a cluster):
curl -sG -H "Authorization: Bearer $TOKEN" \
"https://api.deepfire.co/ogc/features/v1/collections/deepfire:hotspots/items" \
--data-urlencode "filter-lang=cql2-text" \
--data-urlencode "filter=cluster_id = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'" \
--data-urlencode "f=application/geo+json"
Full parameter reference: Get hotspots.
