Wildfire.gov API: Get wildfire status
Gets the latest reported status and dated update for a named InciWeb wildfire, including evacuation and closure notices. Past notices may no longer apply; older fires not in InciWeb's index may not be found.
Unofficial. Not affiliated with or endorsed by Wildfire.gov.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- State optional
state US state name or two-letter code to distinguish fires of the same name, for example California or CA.
WA
Default
.- Fire Name, required
fire_name Wildfire name as shown on InciWeb, for example Park Fire.
Sinlahekin Fire
Input as JSON
{ "state": "WA", "fire_name": "Sinlahekin Fire"}Output
{ "cause": "Lightning/Natural" , "state": "Washington", "location": "12 Miles W of Tonasket, WA", "fire_name": "Sinlahekin Fire", "size_acres": 166026, "start_date": "2026-07-26", "inciweb_link": "https://inciweb.wildfire.gov/incident-information/wanes-sinlahekin-fire" , "fuels_involved": "Short Grass (1 foot), Brush (2 feet) and Timber (Litter & Understory). Below 3,000 feet elevation, the fuels contributing to fire spread are dominated by grass and sage brush. Above 3,000 feet elevation, the area is dominated by timber stands with heavy dead and down.", "total_personnel": 382, "latest_update_text": "Sinlahekin Fire Update September 25, 2026 Daily Update Quick Facts Size: 166,007 acres Start Date: July 26, 2026 Cause: Lightning/Natural Containment: 93% Personnel: 521 Location: 12 Miles W of Tonasket, WA Key Message and Operational Updates Today an incoming cold front is expected to bring colder …" , "latest_update_time": "2026-09-25T10:05:00-07:00", "containment_percent": 93, "road_or_area_closures": "Multiple roads, trails and campgrounds in and around the fire area remain closed. Do not enter closed areas for hunting, woodcutting or recreation. Entering closed areas can interfere with firefighters and heavy equipment and create additional safety hazards. Today an incoming cold front is expected…", "evacuation_information": "Last posted evacuation notice (2026-08-19; current status not confirmed): UPDATE: Sinlahekin Fire, Tonasket, WA. Evacuation Zone A150 REDUCED. Issued: 08-19-2026 at 05:34 PM Evacuation Zone A150 north of the Upper Conconully Lake has been reduced to Level 2 BE READY. View https://perimetermap.com/da…" , "official_announcements": [ { "link": "https://inciweb.wildfire.gov/incident-publication/wanes-sinlahekin-fire/blm-reduces-fire-closure-area-near-sinlahekin-fire-09-09-2026" , "title": "BLM Reduces Fire Closure Area Near Sinlahekin Fire 09-09-2026" }, { "link": "https://inciweb.wildfire.gov/incident-publication/wanes-sinlahekin-fire/colville-national-forest-moves-to-stage-1-fire-restrictions-09-04-2026" , "title": "Colville National Forest Moves to Stage 1 Fire Restrictions 09-04-2026" }, { "link": "https://inciweb.wildfire.gov/incident-publication/wanes-sinlahekin-fire/bureau-of-land-management-spokane-district-fire-prevention-order-08-31-2026" , "title": "Bureau of Land Management Spokane District Fire Prevention Order 08-31-2026" } ], "estimated_containment_date": null}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"inciweb.wildfire.gov/get_wildfire","input":{"state":"WA","fire_name":"Sinlahekin Fire"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "inciweb.wildfire.gov/get_wildfire" , "input": { "state": "WA", "fire_name": "Sinlahekin Fire" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "inciweb.wildfire.gov/get_wildfire" , "input": { "state": "WA", "fire_name": "Sinlahekin Fire" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run inciweb.wildfire.gov/get_wildfire# with {"state":"WA","fire_name":"Sinlahekin Fire"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "fire_name" ], "properties": { "state": { "type": "string", "default": "", "description": "US state name or two-letter code to distinguish fires of the same name, for example California or CA." }, "fire_name": { "type": "string", "description": "Wildfire name as shown on InciWeb, for example Park Fire." } }}Output schema
{ "type": "object", "required": [ "fire_name", "state", "location", "size_acres", "containment_percent", "total_personnel", "start_date", "cause", "fuels_involved", "estimated_containment_date", "latest_update_text", "latest_update_time", "evacuation_information", "road_or_area_closures", "inciweb_link", "official_announcements" ], "properties": { "cause": { "type": [ "string", "null" ], "description": "Reported cause." }, "state": { "type": [ "string", "null" ], "description": "US state of the wildfire." }, "location": { "type": [ "string", "null" ], "description": "Incident location in words." }, "fire_name": { "type": "string", "description": "Name of the wildfire." }, "size_acres": { "type": [ "number", "null" ], "description": "Reported incident area in acres." }, "start_date": { "type": [ "string", "null" ], "description": "Start date in YYYY-MM-DD format." }, "inciweb_link": { "type": "string", "description": "InciWeb incident information page." }, "fuels_involved": { "type": [ "string", "null" ], "description": "Fuels involved as described by InciWeb." }, "total_personnel": { "type": [ "number", "null" ], "description": "Number of personnel assigned." }, "latest_update_text": { "type": [ "string", "null" ], "description": "Text of the most recent dated incident publication." }, "latest_update_time": { "type": [ "string", "null" ], "description": "Publication date-time with UTC offset." }, "containment_percent": { "type": [ "number", "null" ], "description": "Reported perimeter containment percentage." }, "road_or_area_closures": { "type": [ "string", "null" ], "description": "Road or area closure information in plain text." }, "evacuation_information": { "type": [ "string", "null" ], "description": "Reported evacuation information in plain text." }, "official_announcements": { "type": "array", "items": { "type": "object", "required": [ "title", "link" ], "properties": { "link": { "type": "string", "description": "InciWeb announcement page." }, "title": { "type": "string", "description": "Announcement title." } }, "additionalProperties": false }, "description": "Official incident announcements shown on InciWeb." }, "estimated_containment_date": { "type": [ "string", "null" ], "description": "Estimated containment date in YYYY-MM-DD format." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
inciweb.wildfire.gov/get_wildfire- Returns
- size, containment, personnel, cause, dates, latest update, evacuation and closure notes, announcements
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method inciweb.wildfire.gov/get_wildfire with the inputs above.
Ask your agent
- How big is the Dixie Fire right now and what percent contained is it?
- Check wildfire.gov for the latest update on the Bridge Fire in California, especially any evacuation orders still in effect
- Are there any road closures or evacuation notices for the Cedar Creek Fire in Oregon?
- What's the current containment and number of personnel assigned to the Smokehouse Creek Fire in TX, and do they know what caused it?
- Pull the most recent InciWeb update from wildfire.gov for the Line Fire near San Bernardino — acreage, cause, and any announcements
See more
All Wildfire.gov methodsLists active InciWeb fire incidents in a US state, newest table updates first, with size, containment, location, cause, dates and any evacuation or closure note. Prescribed fires and other fire-related incidents can appear.
inciweb.wildfire.gov/list_active_wildfiresLists federal disaster declarations in a US state. You can narrow the list by county, declaration date and incident category. Each disaster comes back with all of its designated counties.
fema.gov/list_disaster_declarationsList EONET natural events with latest observations in the past number of days, most recent first. A country or region filter matches reported event locations against mapped boundaries; locations and ongoing status are approximate, and not all events have a reported size or strength.
nasa.gov/list_natural_eventsGets the latest water height, flow, 24-hour trend and flood-stage status at the active USGS river gauge best matching a river or town and state. Flood stage is null when not published; gauges without recent stage, flow or 24-hour history are not returned.
waterdata.usgs.gov/get_river_levelLists FBI wanted, missing-person and seeking-information notices, newest first, filtered by category, field office or name.
fbi.gov/list_most_wantedLists active US weather watches, warnings and advisories for a city, address, ZIP code or state, most severe first, then newest.
weather.gov/list_weather_alertsGets AirNow current air quality, pollutant readings and today's and tomorrow's forecasts for a US city or ZIP code, or a covered Canadian or Mexican city.
airnow.gov/get_air_qualityLists significant worldwide earthquakes for the past day, week, or month, newest first, with USGS PAGER alert levels and impact summaries when USGS provides them.
earthquake.usgs.gov/list_significant_earthquakes