360° Wildfire intelligence, before it becomes wildfire damage

From active tracking and 4-week forecasts to 20+ years of historical data. Built to protect critical assets and operations.

Trusted Across Industries
GSK Logo
Bayer Logo
Sanofi Logo
Lilly Logo
HALEON Logo
Kimberly-Clark Logo
3M Logo
Electrolux logo
WPP Logo
Publicis Groupe Logo
Teads logo
The Weather Channel Logo
EDF Logo
Ambee Wildfire API background
At a glance

Ambee Wildfire

Relevant wildfire metrics

All relevant wildfire metrics

FRP, FWI, FFMC, confidence, fire category, risk, burned areas, and hotspots.

Wildfire global coverage

Global coverage

Available for any location on any landmass in the world.

Wildfire any location any format

Any location, any format

Accessible through APIs, cloud marketplaces, map tiles, flat files, and more.

Wildfire: any location, any format

Continuously refreshed

Active fire detections refreshed every hour. Risk forecast updated daily.

Wildfire 30+ years of historical data

20+ years of historical data

Deep archives for model training, exposure assessment, and trend analysis.

Wildfire forecast

4-week risk forecast

Weekly categorical wildfire risk (Low, moderate, high) forecasts.

Inside Ambee’s wildfire data

Fire Radiative Power

Measured in megawatts. FRP captures the rate at which an active fire releases energy.

Fire Radiative Power

Fire Weather Index

A composite score built from temperature, relative humidity, wind speed, and fuel moisture.

Fire Weather Index

Fine Fuel Moisture Code

FFMC measures the moisture content of surface litter and fine fuels.

Fine Fuel Moisture Code

Fire category

Ambee classifies every fire as WF (wildfire), RX (prescribed fire), or N (normal fire).

Fire category

Detection confidence

For satellite-detected fires, a confidence score indicates the likelihood that the detection is a real fire event.

Detection confidence

Burned area

Total surface area affected by a fire, measured in hectares from satellite observations.

Burned area

Smoke plumes

Satellite-detected smoke dispersion patterns showing the spread and direction of fire emissions.

Smoke plumes

Risk forecast

Ambee’s 4-week forecast classifying risk as Low, Moderate, or High, driven by FWI, FFMC, and weather data.

Risk forecast

A continuous time series from the past, present, and the future

Three time horizons, one schema.

Present — Satellite

Detected fires

Detections from satellite thermal imaging, with radiative power and confidence scoring for every event.

Present — Reported

Reported fires

Verified incident reports with fire name, burned area, and real-time status tracking as incidents evolve.

Forecast

4-week risk

Forward-looking risk classification driven by weather, fuel moisture, and historical fire seasonality.

Historical

20+ year archive

Incident-level records with discovery, containment, and fire-out timestamps, acreage, fuel model, and point of origin.

What sets Ambee’s wildfire data apart

Comprehensive. Hyperlocal. Global. Accurate.

Typical providers

Coverage

Global

Limited countries/regions

Parameters

FRP, FWI, FFMC, confidence, fire category, risk forecast, burned area, and more

FRP and basic detection attributes

Forecast horizon

4-weeks

Up to 10 days or none

Historical depth

Continuous archives from 2005

Limited or not available

Update frequency

Present conditions update hourly

12 hours

ambee in action

Ambee's wildfire forecast: January 2025, California

On December 16, 2024, three weeks before the Los Angeles wildfires broke out, Ambee's forecast model flagged multiple areas across Southern California as high-risk zones for the coming four weeks.

On January 7, 2025, a series of wildfires erupted across Los Angeles and San Diego County, forcing more than 200,000 evacuations, burning over 57,000 acres, and destroying 18,000 structures.

When the fires were mapped against Ambee's December forecast, 96% of all active fire locations fell within the areas the model had flagged a month in advance.

Wildfire forecast map

Industry leaders use Ambee’s wildfire data for

Insurance

Price wildfire exposure accurately across WUI properties, reconstruct historical fire perimeters for claims validation, and stress-test portfolios

How natural disaster forecasting helps businesses & insurance

Utility and grid protection

Monitor active fire proximity to transmission lines and substations in real time

Wildfire utility sector

Real estate and mortgage risk

Assess wildfire exposure at the property level across WUI zones using present detections, forecast risk categories, and 30+ years of historical fire activity

Wildfire real estate

Infrastructure

Identify physical assets like pipelines, towers, facilities within active fire corridors or elevated forecast zones, and prioritize resilience

Wildfire on infrastructure

ESG reporting

Quantify historical wildfire exposure across asset portfolios and model physical climate risk to meet TCFD, SEC, and other regulatory disclosure requirements at the portfolio level

Wildfire ESG reporting

Enterprise-grade wildfire data delivered your way

Instantly integrate Ambee wildfire data into any workflow, available in any format, including NetCDF, GRIB, CSV, Parquet, and more.

APIs

Access present, and forecast wildfire endpoints via a RESTful API

View documentation

Marketplace integrations

Direct access through Databricks, Snowflake, Datarade, The Trade Desk, Google Cloud, and more.

See partners

Map tiles & visualizations

Heatmaps compatible with Mapbox, ESRI, CARTO, Leaflet, and OpenLayers

See visual layers

Flat files

CSV, NetCDF, GRIB, and parquet formats for analytical workflows and modeling pipelines

Talk to us

Getting started with Ambee’s widlfire API

Content copy iconCheck icon
import http.client

conn = http.client.HTTPSConnection("api.ambeedata.com")

headers = {
    'x-api-key': "API_KEY",
    'Content-type': "application/json"
}

conn.request("GET", "/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263',
	headers: {
		'x-api-key': 'API_KEY',
		'Content-type': 'application/json'
	}
};

const req = http.request(options, function (res) {
	const chunks = [];

	res.on('data', function (chunk) {
		chunks.push(chunk);
	});

	res.on('end', function () {
		const body = Buffer.concat(chunks);
		console.log(body.toString());
	});
});

req.end();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
	Method = HttpMethod.Get,
	RequestUri = new Uri("https://api.ambeedata.com/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "API_KEY")
	req.Header.Add("Content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263",
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_ENCODING => "",
	CURLOPT_MAXREDIRS => 10,
	CURLOPT_TIMEOUT => 30,
	CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	CURLOPT_CUSTOMREQUEST => "GET",
	CURLOPT_HTTPHEADER => [
		"Content-type: application/json",
		"x-api-key: API_KEY"
	],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
	echo "cURL Error #:" . $err;
} else {
	echo $response;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/fire/latest/by-lat-lng?lat=36.51051&lng=-96.26263")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = 'API_KEY'
request["Content-type"] = 'application/json'

response = http.request(request)
puts response.read_body
Content copy iconCheck icon
import http.client

conn = http.client.HTTPSConnection("api.ambeedata.com")

headers = {
    'x-api-key': "API_KEY",
    'Content-type': "application/json"
}

conn.request("GET", "/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
Content copy iconCheck icon
const http = require('https');

const options = {
	method: 'GET',
	hostname: 'api.ambeedata.com',
	port: null,
	path: '/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951',
	headers: {
		'x-api-key': 'API_KEY',
		'Content-type': 'application/json'
	}
};

const req = http.request(options, function (res) {
	const chunks = [];

	res.on('data', function (chunk) {
		chunks.push(chunk);
	});

	res.on('end', function () {
		const body = Buffer.concat(chunks);
		console.log(body.toString());
	});
});

req.end();
Content copy iconCheck icon
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
	.url("https://api.ambeedata.com/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951")
	.get()
	.addHeader("x-api-key", "API_KEY")
	.addHeader("Content-type", "application/json")
	.build();

Response response = client.newCall(request).execute();
Content copy iconCheck icon
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
	Method = HttpMethod.Get,
	RequestUri = new Uri("https://api.ambeedata.com/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951"),
	Headers =
	{
		{ "x-api-key", "API_KEY" },
	},
};
using (var response = await client.SendAsync(request))
{
	response.EnsureSuccessStatusCode();
	var body = await response.Content.ReadAsStringAsync();
	Console.WriteLine(body);
}
Content copy iconCheck icon
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ambeedata.com/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "API_KEY")
	req.Header.Add("Content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
Content copy iconCheck icon
<?php

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://api.ambeedata.com/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951",
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_ENCODING => "",
	CURLOPT_MAXREDIRS => 10,
	CURLOPT_TIMEOUT => 30,
	CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	CURLOPT_CUSTOMREQUEST => "GET",
	CURLOPT_HTTPHEADER => [
		"Content-type: application/json",
		"x-api-key: API_KEY"
	],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
	echo "cURL Error #:" . $err;
} else {
	echo $response;
}
Content copy iconCheck icon
curl --request GET \
	--url 'https://api.ambeedata.com/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951' \
	--header 'Content-type: application/json' \
	--header 'x-api-key: API_KEY'
Content copy iconCheck icon
require 'uri'
require 'net/http'

url = URI("https://api.ambeedata.com/fire/risk/by-lat-lng?lat=22.948819&lng=101.495951")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = 'API_KEY'
request["Content-type"] = 'application/json'

response = http.request(request)
puts response.read_body
Content copy iconCheck icon
 {
    "message": "success",
    "data": [
      {
        "lat": 36.58732,
        "lng": -119.34142,
        "detectedAt": "2024-07-05T09:31:00.000Z",
        "confidence": "nominal",
        "frp": 7.39,
        "fwi": 61.65739822387695,
        "fireType": "detected",
        "fireCategory": "N"
      },
      {
        "lat": 36.793185048266906,
        "lng": -119.70205068315111,
        "detectedAt": "2024-07-03T07:25:28.000Z",
        "modifiedAt": "2024-07-03T07:37:38.093Z",
        "fireName": "HAM",
        "areaBurnt": 0.01,
        "fwi": 62.980899810791016,
        "fireType": "reported"
      }
   ]
 }
Content copy iconCheck icon
{
    "message": "success",
    "data": [
        {
            "week": 9,
            "fwi_today": 0,
            "ffmc_today": 0,
            "weekly_seasonality": 0.1429,
            "temperature": 28.7,
            "precipitation": 0,
            "days_since_last_fire": 1,
            "predicted_risk": 1,
            "predicted_risk_category": "moderate",
            "created_time": "2025-02-28T01:08:55.126Z"
        },
        {
            "week": 10,
            "fwi_today": 0,
            "ffmc_today": 0,
            "weekly_seasonality": 0.09320000000000002,
            "temperature": 22.6,
            "precipitation": 0.1,
            "days_since_last_fire": 1,
            "predicted_risk": 1,
            "predicted_risk_category": "moderate",
            "created_time": "2025-02-28T01:08:55.126Z"
        },
        {
            "week": 11,
            "fwi_today": 0,
            "ffmc_today": 0,
            "weekly_seasonality": 0.09320000000000002,
            "temperature": 28.5,
            "precipitation": 0,
            "days_since_last_fire": 1,
            "predicted_risk": 1,
            "predicted_risk_category": "moderate",
            "created_time": "2025-02-28T01:08:55.126Z"
        },
        {
            "week": 12,
            "fwi_today": 0,
            "ffmc_today": 0,
            "weekly_seasonality": 0.1242,
            "temperature": 28,
            "precipitation": 0,
            "days_since_last_fire": 1,
            "predicted_risk": 1,
            "predicted_risk_category": "moderate",
            "created_time": "2025-02-28T01:08:55.126Z"
        }
    ]
}
01

Get your API key

Sign up for an Ambee account and generate your API key from the dashboard.

02

Choose your endpoint

Select based on what you need: present conditions or a 4-week risk forecast.

03

Add your location

Specify using latitude/longitude coordinates or a place name string.

04

Make your request

Include your API key in the request header. Receive a structured JSON response.

Insights

Stay informed with research, case studies, and product deep-dives on wildfire intelligence

BLOG

Ambee’s historical wildfire data: Everything you need to know

Ambee’s historical wildfire data Everything you need to know
blog

Meet Ambee’s wildfire risk forecast: A breakthrough in disaster prevention

Ambee’s breakthrough in wildfire risk forecast
blog

Ambee’s fire data for early fire detection and rapid response

Ambee’s fire data for early fire detection and rapid response

Enhance your project with more from Ambee’s Climate Data Suite

Pollen

30+ pollen allergens categorized into trees, grasses, and weeds

Pollen API

Air quality

All major pollutants with location-specific air quality indices

Ambee Air Quality API

Weather

All core meteorological and atmospheric parameters, including many derived fields

Ambee Weather API

Astronomy

Local sunrise, sunset, azimuth, and elevation data for any location

Ambee Astronomy API

Influenza-like Illness

30-day risk forecasts for respiratory illness, including cold and cough

Ambee ILI API

Natural disasters

All major disasters in a geospatial format with severity levels and event metadata

Ambee natural disaster API

Why leading teams build with Ambee

Real feedback from real innovators

Innovid Testimonial
Delivering personalized, relevant experiences is critical for advertisers trying to increase the performance of their messaging. The beauty of DCO is when you have a high-quality API like Ambee’s pollen count - you can turn that into creative experiences directly tuned to the real-world circumstances of your audience.
Simeon Powers
Product Marketing, Ad Management, Innovid
navia life care testimonial
We tried out Ambee’s Weather and Pollen API for our healthcare app. I must say our users were certainly pleased with the results. The data was comprehensive, accurate, and valuable, which helped with the user's decision-making process. Ambee’s team was really supportive during integration and for regular maintenance as well. Would definitely recommend working with them.
Kunal Kishore Dhawan
Co-founder and CEO of Navia Life Care
WPP Testimonial
In an ever-changing world, it’s imperative that we understand the environmental changes and act upon these in the right way. Ambee keeps us in tune with our environment and is key to creating better outcomes for people.
Vipul Parmar
Global Head of Data Management
VitalFlo Testimonial
We monitor the impacts of AQ on the health outcomes of asthma and COPD patients. Ambee gives great access to hyperlocal data to help us monitor acute respiratory health events.
Luke Marshall
CEO and Founder of VitalFlo
ADYLIC Testimonial
It has helped Adylic showcase the power of utilizing API in personalizing ads. In this case, we were able to target users' needs at the right time based on the user's location.
Stefanie Wong
DCO Specialist, Adylic
Razor Testimonial
Solving climate change requires collaboration across industries. Hence, Razor partnered with Ambee to make reliable, real-time, and accurate data available to the blockchain.
Hrishikesh Huilgolkar
CEO
NASA Testimonial
The PACE Science and Applications Team is thrilled to be working with partners like Ambee, who bring a fresh perspective to our work and ensure that the PACE mission will provide societal benefit.
Lorraine Remer
Atmospheric Scientist, University of Maryland, Baltimore County
Allegra Testimonial
Ambee has been a tremendous partner for Allegra. The quality of their air quality data, combined with their end-to-end development solutions and customer-oriented mindset, has made them the right partner for us.
Jordana Barish
North America Zone Head for Allegra
Datarade Testimonial
We’re happy to have Ambee’s AI-ready datasets listed on Datarade…Ambee is meeting increased global demand for environmental intelligence with its suite of data products. Now that these data products are available on Datarade, organizations worldwide will be able to access, sample, and ingest them for a range of crucial use cases.
Richard Hoffmann
Co-founder of Datarade
Seek Testimonial
Ambee's proprietary climate data, brought to life through apps on Insight Cloud, makes forecasting faster, smarter, and simpler than ever. Teams can now instantly access Ambee's world-class climate expertise in minutes on Insight Cloud...answering tomorrow's questions, today.
Erik Mitchell
CEO of Seek

Frequently asked questions

Common questions about Ambee's wildfire data

  • How are wildfire data collected?

    Wildfire data are collected from different on-ground sensors and earth observation satellites.

  • Advantages of Ambee's fire API over others?

    Ambee's forest fire dataset is available in near real-time and at high spatial resolution.

  • Who can use fire data?

    Fire datasets can be used by anyone from disaster planning to construction.

  • What is forest fire data?

    Forest fire data is a bundle of information that can be used to identify active forest fires worldwide.

  • Does API provides real time forest fire data?

    The forest fire API provides near-real-time forest fire data across the globe.

Turn climate from a risk to an opportunity
Talk to us
Footer background