Back to how-to articles
VIIRS I-Band 375 m Active Fire Data x Global Forest Watch API
Last updated: July 3, 2025

Before you get started
If you are new to the Global Forest Watch API, it is a good idea to begin with the foundational guide. It covers essential steps like signing up, getting access token and API key. You can find it here:
Steps
- Find the version of the dataset
- Find the fields to query
- Make a query
Find the version
To receive data about the Integrated VIIRS I-Band 375 m Active Fire Data dataset, you can use a GET
request to the /dataset/nasa_viirs_fire_alerts
endpoint.
1curl -X GET 'https://data-api.globalforestwatch.org/dataset/nasa_viirs_fire_alerts'
If successful, this will return a response like this, with metadata and versions:
1{
2 "data": {
3 "created_on": "2023-07-09T16:20:31.706068",
4 "updated_on": "2025-01-30T2:32:10.794802",
5 "dataset": "nasa_viirs_fire_alerts",
6 "is_downloadable": true,
7 "metadata": {
8 ...
9 },
10 "versions": [
11 ...
12 "v20250424",
13 "v20250425"
14 ]
15 },
16 "status": "success"
17}
For the next steps you can pick a specific version of the dataset or just use /latest
for the latest version.
Find the relevant fields
Before querying the dataset, you will need to know what fields to get from the dataset. To retrieve this, you can use a GET
request to dataset/nasa_viirs_fire_alerts/latest/fields
1curl -L -X GET 'https://data-api.globalforestwatch.org/dataset/nasa_viirs_fire_alerts/latest/fields'
VIIRS I-Band 375 m Active Fire Data is a default vector asset. The response will include all Global Forest Watch vector time sets that use the same grid as the raster default asset. Common fields like latitude
, and longitude
are also included.
The other relevant fields for NASA VIRS Fire Alerts are:
- alert__date
- The date the alert was issued or detected.
- alert__count
- one alert per coordinate
- alert__time_utc
- UTC time of detection
- confidence_cat
- "l": low
- "n": nominal
- "h": high
Query dataset
In addition to the dataset identifier nasa_viirs_fire_alerts
and version, you need to construct an SQL
query. Optionally for vector data sets you can also add a geometry to limit the area of interest.
Limit data to area of interest
There are two ways to do this; using Geostore, or using GeoJson in a Post request. Both methods require geojson format. The possible geometry types available in Global Forest Watch is Polygon and MultiPolygon. To easily generate this format, visit https://geojson.io.
Using POST request with a polygon
Example using polygon:
1curl -L -X POST 'https://data-api.globalforestwatch.org/dataset/nasa_viirs_fire_alerts/latest/query/json' \
2 -H 'x-api-key: <YOUR_API_KEY>' \
3 -H 'Content-Type: application/json' \
4 --data-raw '{
5 "sql": "SELECT longitude, latitude, alert__date, alert__count, alert__time_utc, confidence__cat FROM results WHERE alert__date>= '\''2025-06-01'\'' AND alert__date <= '\''2025-06-23'\'' LIMIT 10" ,
6 "geometry": {
7 "type": "Polygon",
8 "coordinates": [[
9 [-57.390,-20.273],
10 [ -57.390,23.222],
11 [-54.446,-23.222],
12 [-54.446, 20.273],
13 [-57.390, 20.273]
14 ]]
15 }
16 }'
If successful the response will look something like this:
1{
2 "data": [
3 {
4 "longitude": "-54.97002",
5 "latitude": "-12.72423",
6 "alert__date": "2025-06-01",
7 "alert__count": 1,
8 "alert__time_utc": "436",
9 "confidence__cat": "n"
10 },
11 {
12 "longitude": "-54.96925",
13 "latitude": "-12.72007",
14 "alert__date": "2025-06-01",
15 "alert__count": 1,
16 "alert__time_utc": "436",
17 "confidence__cat": "n"
18 }
19 ],
20 "status": "success"
21}
You can read more about Geostore and constructing SQL queries from in the Global Forest Watch tutorial.