NPS API: List park alerts
Lists current alerts for a named National Park Service park from its Current Conditions page, in the order shown on the page.
Unofficial. Not affiliated with or endorsed by NPS.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Type optional
type Alert category to show, for example closure; all shows every category.
all (default)
One of
all,closure,caution,danger,information.- Park Name, required
park_name Park name, park code, or NPS park link, for example Yosemite.
Yellowstone
Input as JSON
{ "park_name": "Yellowstone"}Output
{ "alerts": [ { "type": "Closure", "title": "Biscuit Basin Closed Due to Hydrothermal Explosion", "page_url": "https://www.nps.gov/yell/images/Biscuit_Basin_Closure_Map_20250529_1.png" , "description": "The parking lot, boardwalk, and Firehole River at Biscuit Basin, located north of Old Faithful, is closed to all travel until further notice due to the possibility of another event at the site of a hydrothermal explosion that occurred July 23, 2024.", "last_updated_date": null, "more_information_url": "https://www.nps.gov/yell/images/Biscuit_Basin_Closure_Map_20250529_1.png" }, { "type": "Caution", "title": "Stay Away From Bull Elk", "page_url": "https://www.nps.gov/yell/planyourvisit/safety.htm#elk" , "description": "Bull elk are fast and unpredictable this time of year and can seriously injure people. If an elk charges, run. In addition to staying at least 25 yards (23 m) away from elk and bison, always stay at least 100 yards (91 m) away from bears and wolves.", "last_updated_date": null, "more_information_url": "https://www.nps.gov/yell/planyourvisit/safety.htm#elk" }, { "type": "Information", "title": "Traffic Delays - Gardner River High Bridge", "page_url": "https://www.nps.gov/yell/planyourvisit/parkroads.htm" , "description": "Expect a single lane of traffic with up to 15-minute delays, 24 hours a day, seven days a week, from April 1 through late October 2026. Oversized/overweight vehicles (8'6\"+ wide, 75'+ long, 80,000 lbs+ gross vehicle weight) will not be able to cross the bridge during this time." , "last_updated_date": null, "more_information_url": "https://www.nps.gov/yell/planyourvisit/parkroads.htm" } ], "park_code": "yell", "park_name": "Yellowstone National Park", "conditions_page_url": "https://www.nps.gov/yell/planyourvisit/conditions.htm" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"nps.gov/list_park_alerts","input":{"park_name":"Yellowstone"}}' # 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": "nps.gov/list_park_alerts" , "input": { "park_name": "Yellowstone" }})# 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": "nps.gov/list_park_alerts" , "input": { "park_name": "Yellowstone" } }), 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 nps.gov/list_park_alerts# with {"park_name":"Yellowstone"}"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": [ "park_name" ], "properties": { "type": { "enum": [ "all", "closure", "caution", "danger", "information" ], "type": "string", "default": "all", "description": "Alert category to show, for example closure; all shows every category." }, "park_name": { "type": "string", "description": "Park name, park code, or NPS park link, for example Yosemite." } }, "additionalProperties": false}Output schema
{ "type": "object", "required": [ "park_name", "conditions_page_url", "park_code", "alerts" ], "properties": { "alerts": { "type": "array", "items": { "type": "object", "required": [ "type", "title", "description", "last_updated_date", "more_information_url", "page_url" ], "properties": { "type": { "type": "string", "description": "Alert type in words." }, "title": { "type": "string", "description": "Alert title." }, "page_url": { "type": "string", "description": "Link to the alert information or the Current Conditions page." }, "description": { "type": "string", "description": "Alert description." }, "last_updated_date": { "type": [ "string", "null" ], "description": "Date the alert was last updated, if shown, in YYYY-MM-DD format." }, "more_information_url": { "type": [ "string", "null" ], "description": "More information link when provided." } }, "additionalProperties": false }, "description": "Current alerts in the order displayed on the park page." }, "park_code": { "type": "string", "description": "NPS park code.", "x-fous-developer": true }, "park_name": { "type": "string", "description": "Official name of the park." }, "conditions_page_url": { "type": "string", "description": "Link to the park Current Conditions page." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
nps.gov/list_park_alerts- Returns
- park name, conditions page URL, park code, alerts (type, title, description, links)
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 nps.gov/list_park_alerts with the inputs above.
Ask your agent
- Are there any road or trail closures at Zion right now?
- Show me all current alerts posted on nps.gov for Yellowstone National Park.
- What danger warnings are active for Grand Canyon (grca) today?
- I'm heading to Acadia this weekend — list any caution notices I should know about.
- Pull the informational alerts from the NPS current conditions page for Great Smoky Mountains.
See more
All NPS methodsFinds a National Park Service site by name in the NPS state directories and returns its fees, hours, visitor centers, contacts, directions and entry booking guidance.
nps.gov/get_parkLists active US weather watches, warnings and advisories for a city, address, ZIP code or state, most severe first, then newest.
weather.gov/list_weather_alertsLists active severe weather alerts for a city, address, ZIP or postcode on The Weather Channel, most severe first. An empty list means no active alerts.
weather.com/list_weather_alertsFinds campgrounds, cabins, permits, tours, timed entries and day-use experiences near a place or within a park or forest on Recreation.gov. Distances and nightly prices are included when listed; prices are not availability quotes.
recreation.gov/search_campgroundsLists NOAA space weather alerts, warnings, watches and summaries issued in the last 1 to 7 days, newest first, with validity times and NOAA scale levels when the message gives them.
swpc.noaa.gov/list_space_weather_alertsList 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_eventsLists current CDC Travelers' Health notices, newest first, with destinations, levels, posted dates, travel advice and notice links. Filtering by country also matches destinations named in multi-country notices.
cdc.gov/list_travel_health_noticesLists active tropical cyclones in the selected basin, strongest first, with current conditions, advisory and forecast cone.
nhc.noaa.gov/list_active_storms