Hotspots
deepfire:hotspots — near-real-time satellite fire detections, current and historical,
global coverage. Geometry: Point (EPSG:4326). Feature IDs: hotspots.<uuid>.
Attributes
| Property | Type | Notes |
|---|---|---|
id | uuid | Feature key (surfaced as hotspots.<uuid>) |
observed_at | timestamp (ISO 8601) | Detection time |
source | string | Detecting satellite / provider |
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 |
Current vs. historical
The collection serves the full history (~18,700,000 detections); active = true narrows
it to the current live set (~380,000). An unfiltered query returns everything — filter
active = true if you only want live fires.
Examples
Live, high-confidence, energetic detections:
curl -sG "https://ogc.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/json"
Detections in a time window (observed_at is indexed — this is fast):
curl -sG "https://ogc.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/json"
Live detections in one country:
curl -sG "https://ogc.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/json"
Full parameter reference: Get hotspots.