Table · active-fires
Active fires (US and Canada)
Satellite fire detections from the last 7 days over the United States and Canada, grouped into fire events and linked to the official incident (name, acres, containment, IRWIN id) where one exists. Detections in the same or adjacent 1 km grid cells within 48 hours of each other form one event; repeat views of the same spot by a second satellite on the same overpass are counted once. Built from NASA FIRMS VIIRS near-real-time detections (S-NPP, NOAA-20 and NOAA-21), NIFC WFIGS current incidents and perimeters, and Natural Earth state and province boundaries.
- Updates
- Hourly
- Coverage
- —
- Current version
- —
- Last published
- —
- Validation
- —
- License
- US Government work
- Commercial use
- Allowed
Preview
Use the API
The examples follow the rows picked above. See the docs for versions, caching and errors.
curl
# All rows (.json or .csv)
curl -s "https://api.wildfiredata.dev/v1/active-fires/table/all.json"
# The whole table in one file
curl -sO "https://api.wildfiredata.dev/v1/active-fires/download/active-fires.csv" Python (polars)
import polars as pl
# All rows
df = pl.read_csv("https://api.wildfiredata.dev/v1/active-fires/table/all.csv")
# The whole table
everything = pl.read_parquet("https://api.wildfiredata.dev/v1/active-fires/download/active-fires.parquet") JavaScript
const res = await fetch("https://api.wildfiredata.dev/v1/active-fires/table/all.json");
if (!res.ok) throw new Error((await res.json()).detail); // errors are problem+json
const { meta, rows } = await res.json();
console.log(meta.rows, rows[0]); Downloads
The whole dataset in one file. Parquet keeps the column types and is much smaller.
- active-fires.csv CSV
- active-fires.parquet Parquet
Schema
Rows are identified by event_id.
The rows are also split into one file per value of country.
Tables up to 50,000 rows also have a single table/all file.
| Column | Type | Unit | Can be empty | Description |
|---|---|---|---|---|
| event_id key | text | — | no | Stable while the event's earliest detection stays in the 7-day window |
| country partition | text | — | no | usa or can (ISO 3166-1 alpha-3, lowercase) |
| region | text | — | no | State (us-ca) or province/territory (ca-bc, ISO 3166-2) of the event centroid |
| region_name | text | — | no | — |
| first_detection | datetime (ISO 8601, UTC) | — | no | Earliest detection (satellite acquisition time) |
| last_detection | datetime (ISO 8601, UTC) | — | no | Latest detection |
| detections | integer | — | no | Fire pixels after removing cross-satellite repeats (same 0.5 km cell, same ~75 min overpass sequence) |
| raw_detections | integer | — | no | All distinct FIRMS detections in the event |
| low_confidence_detections | integer | — | no | Detections FIRMS rates low confidence |
| satellites | text | — | no | Satellites with detections, e.g. S-NPP,NOAA-20,NOAA-21 |
| latitude | number | degrees | no | Centroid of the deduplicated detections |
| longitude | number | degrees | no | — |
| min_latitude | number | degrees | no | Bounding box of the detection centres |
| max_latitude | number | degrees | no | — |
| min_longitude | number | degrees | no | Greater than max_longitude for a fire across the 180th meridian |
| max_longitude | number | degrees | no | — |
| max_frp | number | MW | no | Highest fire radiative power of any detection |
| days_detected | integer | — | no | Distinct UTC dates with detections |
| likely_static_source | true / false | — | no | Seen on 5+ days within 4 km and no incident: probably industrial (steel mill, refinery, flare), not a wildfire |
| incident_irwin_id | text | — | yes | IRWIN id of the linked WFIGS incident (braces removed) |
| incident_name | text | — | yes | — |
| incident_type | text | — | yes | WF wildfire, RX prescribed fire, CX complex |
| incident_acres | number | acres | yes | Incident size reported to IRWIN |
| incident_percent_contained | number | percent | yes | — |
| incident_discovered | datetime (ISO 8601, UTC) | — | yes | — |
| incident_link | text | — | yes | perimeter (detections inside a current perimeter), near-perimeter (within 2 km of one), origin (near the reported origin point) |
| incident_distance_km | number | km | yes | 0 inside a perimeter; else the nearest detection's distance to the perimeter or origin |
Source and license
- Source
- NASA LANCE FIRMS VIIRS 375 m Active Fire NRT (VNP14IMGTDL_NRT, VJ114IMGTDL_NRT, VJ214IMGTDL_NRT); incidents and perimeters from NIFC WFIGS; boundaries from Natural Earth
- Publisher
- NASA LANCE FIRMS
- License
- US Government work (public domain in the United States) (
LicenseRef-US-Government-Work) - Commercial use
- Allowed
Credit the source with this exact text:
We acknowledge the use of imagery from the NASA LANCE FIRMS (https://earthdata.nasa.gov/firms), part of the NASA Earth Science Data and Information System (ESDIS). VIIRS 375 m active fire NRT products: S-NPP doi:10.5067/FIRMS/VIIRS/VNP14IMGT_NRT.002, NOAA-20 doi:10.5067/FIRMS/VIIRS/VJ114IMGT_NRT.002, NOAA-21 doi:10.5067/FIRMS/VIIRS/VJ214IMGT_NRT.002. Incident data: National Interagency Fire Center, Wildland Fire Interagency Geospatial Services (WFIGS). Boundaries: Made with Natural Earth.
Checked every 3 hours. If the source hasn't changed in 12 hours, the status page flags it as stale.
Endpoints
Every URL for this dataset. To pin the current version, put it after the id:
/v1/active-fires@<version>.
The API reference describes each response.
| What | URL |
|---|---|
| Metadata: version, coverage, downloads, validation | /v1/active-fires |
| Versions and monthly snapshots | /v1/active-fires/versions |
| Partitions | /v1/active-fires/locations |
| Rows for one country (JSON) | /v1/active-fires/table/{country}.json |
| Rows for one country (CSV) | /v1/active-fires/table/{country}.csv |
| All rows in one file (tables up to 50,000 rows) | /v1/active-fires/table/all.json |
| Whole dataset (CSV) | /v1/active-fires/download/active-fires.csv |
| Whole dataset (Parquet) | /v1/active-fires/download/active-fires.parquet |