# National Park Service API

> National Park Service returns park information, entrance fees and alerts, available as a workflow and API.

National Park Service (NPS) Get park returns visiting details, fees, hours, visitor centers and entry guidance for a named park or site. List park alerts returns alerts for a named park, optionally filtered by alert category.

- Page: https://fous.com/tools/national-park-service
- Handle: `@national-park-service`
- Category: [Travel](https://fous.com/tools/category/travel)
- Source website: https://nps.gov
- Last verified: Sep 29, 2026

## Methods

### Get park

Operation `get_park`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get visiting details for a named National Park Service site, including fees, hours, visitor centers, directions and entry booking guidance. A center address or email is blank when the park does not publish it on its public pages; check the park link for changing schedules and booking rules.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `park_name` | string | yes | `"Statue of Liberty"` | Name of the park or NPS site, for example Yellowstone or Statue of Liberty. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "park_name"
  ],
  "properties": {
    "park_name": {
      "type": "string",
      "description": "Name of the park or NPS site, for example Yellowstone or Statue of Liberty.",
      "examples": [
        "Statue of Liberty",
        "Yellowstone",
        "Grand Canyon"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "park_name": "Statue of Liberty"
    },
    {
      "park_name": "Yellowstone"
    },
    {
      "park_name": "Grand Canyon"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `url` | string | `"https://www.nps.gov/stli/index.htm"` |  |
| `email` | string or null |  |  |
| `states` | array |  |  |
| `park_code` | string | `"STLI"` |  |
| `park_name` | string | `"Statue of Liberty National Monument"` | Official park or site name. |
| `description` | string or null | `"A gift of friendship from the people of France to the United States \"Liberty Enlightening the World\" is recognized as` |  |
| `designation` | string | `"National Monument"` |  |
| `phone_number` | string or null | `"212 363-3200"` |  |
| `entrance_fees` | array |  |  |
| `entrance_fees[].price` | number | `0` |  |
| `entrance_fees[].currency` | string | `"USD"` |  |
| `entrance_fees[].pass_name` | string | `"Park entrance"` |  |
| `visitor_centers` | array |  |  |
| `visitor_centers[].url` | string | `"https://www.nps.gov/yell/planyourvisit/albright-visitor-center.htm"` | NPS page for this visitor center. |
| `visitor_centers[].name` | string | `"Albright Visitor Center"` |  |
| `visitor_centers[].address` | string or null |  |  |
| `reservation_note` | string | `"Ferry tickets are required to visit the islands; pedestal and crown visits require advance reservations."` |  |
| `directions_summary` | string or null |  |  |
| `opening_hours_and_seasons` | string or null | `"The Statue of Liberty is only accessible via ferry. Please check the ferry schedule for ferry times. Last updated: Apri` |  |
| `reservations_or_timed_entry_required` | boolean | `true` |  |

**Example input**

```json
{
  "park_name": "Statue of Liberty"
}
```

**Example output**

```json
{
  "url": "https://www.nps.gov/stli/index.htm",
  "email": null,
  "states": [
    "New York"
  ],
  "park_code": "STLI",
  "park_name": "Statue of Liberty National Monument",
  "description": "A gift of friendship from the people of France to the United States \"Liberty Enlightening the World\" is recognized as a universal symbol of freedom and democracy. It was dedicated by President Grover …",
  "designation": "National Monument",
  "phone_number": "212 363-3200",
  "entrance_fees": [
    {
      "price": 0,
      "currency": "USD",
      "pass_name": "Park entrance"
    }
  ],
  "visitor_centers": [],
  "reservation_note": "Ferry tickets are required to visit the islands; pedestal and crown visits require advance reservations.",
  "directions_summary": "One National Park, Two Islands Ferries depart from two locations: The Battery , at the southern tip of Manhattan in New York City, and Liberty State Park in Jersey City, New Jersey. Warning: Statue Ci…",
  "opening_hours_and_seasons": "The Statue of Liberty is only accessible via ferry. Please check the ferry schedule for ferry times. Last updated: April 6, 2026",
  "reservations_or_timed_entry_required": true
}
```

### List park alerts

Operation `list_park_alerts`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List current alerts for a named National Park Service park from its Current Conditions page, in the order shown. Per-alert last-updated dates are not published there; they are null when unavailable.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `type` | string | no | `"closure"` | Alert category to show, for example closure; all shows every category. |
| `park_name` | string | yes | `"Acadia"` | Park name, park code, or NPS park link, for example Yosemite. |

**Input schema**

```json
{
  "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.",
      "examples": [
        "closure",
        "danger"
      ]
    },
    "park_name": {
      "type": "string",
      "description": "Park name, park code, or NPS park link, for example Yosemite.",
      "examples": [
        "Acadia",
        "Yellowstone",
        "Yosemite"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "type": "closure",
      "park_name": "Acadia"
    },
    {
      "park_name": "Yellowstone"
    },
    {
      "type": "danger",
      "park_name": "Yosemite"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `alerts` | array |  | Current alerts in the order displayed on the park page. |
| `alerts[].type` | string | `"Closure"` | Alert type in words. |
| `alerts[].title` | string | `"Eastern Section of Beech Mountain Loop Road Closed for Repairs"` | Alert title. |
| `alerts[].page_url` | string | `"https://www.nps.gov/acad/planyourvisit/conditions.htm"` | Link to the alert information or the Current Conditions page. |
| `alerts[].description` | string | `"Starting Sept 21, the eastern section of the Beech Mountain Loop Trail will be closed for repairs from a junction just ` | Alert description. |
| `alerts[].last_updated_date` | string or null |  | Date the alert was last updated, if shown, in YYYY-MM-DD format. |
| `alerts[].more_information_url` | string or null | `"https://www.nps.gov/yell/images/Biscuit_Basin_Closure_Map_20250529_1.png"` | More information link when provided. |
| `park_code` | string | `"acad"` | NPS park code. |
| `park_name` | string | `"Acadia National Park"` | Official name of the park. |
| `conditions_page_url` | string | `"https://www.nps.gov/acad/planyourvisit/conditions.htm"` | Link to the park Current Conditions page. |

**Example input**

```json
{
  "type": "closure",
  "park_name": "Acadia"
}
```

**Example output**

```json
{
  "alerts": [
    {
      "type": "Closure",
      "title": "Eastern Section of Beech Mountain Loop Road Closed for Repairs",
      "page_url": "https://www.nps.gov/acad/planyourvisit/conditions.htm",
      "description": "Starting Sept 21, the eastern section of the Beech Mountain Loop Trail will be closed for repairs from a junction just beyond the parking lot to just below the summit at the fire tower. Three alternat…",
      "last_updated_date": null,
      "more_information_url": null
    },
    {
      "type": "Closure",
      "title": "Southern Section of Ocean Path Closed for Repairs",
      "page_url": "https://www.nps.gov/acad/planyourvisit/conditions.htm",
      "description": "Starting Aug 31, a section of Ocean Path will be closed for repairs from a trailhead across from the Otter Point parking lot to the trail's southern terminus.",
      "last_updated_date": null,
      "more_information_url": null
    },
    {
      "type": "Closure",
      "title": "Schoodic Mountain Road Closed for Repairs",
      "page_url": "https://www.nps.gov/acad/planyourvisit/conditions.htm",
      "description": "Starting Aug 31, the Schoodic Mountain Road will be closed for repairs from Schoodic Loop Road to the summit of Schoodic Head. Workers will be operating heavy equipment for resurfacing, regrading and …",
      "last_updated_date": null,
      "more_information_url": null
    }
  ],
  "park_code": "acad",
  "park_name": "Acadia National Park",
  "conditions_page_url": "https://www.nps.gov/acad/planyourvisit/conditions.htm"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@national-park-service",
  "visibility": "public",
  "operation": "get_park",
  "version": 1,
  "input": {
    "park_name": "Statue of Liberty"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@national-park-service\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_park\",\n  \"version\": 1,\n  \"input\": {\n    \"park_name\": \"Statue of Liberty\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@national-park-service",
  "visibility": "public",
  "operation": "get_park",
  "version": 1,
  "input": {
    "park_name": "Statue of Liberty"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/national-park-service`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_park`: Get park. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_park_alerts`: List park alerts. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-national-park-service https://api.fous.com/mcp/tools/national-park-service --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare entrance fees and pass options across parks
- Help visitors find park hours and directions
- Identify parks with timed-entry requirements
- Show visitors current park alerts
- Find visitor center addresses and contact details

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this National Park Service tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a National Park Service account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from nps.gov when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What are the fees and hours for a park?

Get park returns entrance fees, opening hours and seasons, and entry booking guidance for a named park or site.

### What alerts are listed for a park?

List park alerts returns alerts for a named park, optionally filtered by category.

### Does a park require timed entry?

Get park returns whether reservations or timed entry are required for a named park or site.

## Related

- [National Weather Service API](https://fous.com/tools/national-weather-service.md): National Weather Service provides U.S. day-and-night forecasts for seven days, hourly forecasts for up to 156 hours where available, active alerts, and latest nearby station observations.
- [Recreation.gov API](https://fous.com/tools/recreation-gov.md): Recreation.gov helps find and reserve campsites and other outdoor experiences on U.S. federal lands, with availability subject to change before booking and listed prices not guaranteed.
- [The Weather Channel API](https://fous.com/tools/the-weather-channel.md): The Weather Channel returns current conditions, today’s high/low, up to 15 daily forecasts (sometimes fewer), 1–48 local hourly forecasts, and active severe weather alerts.
- [NOAA Space Weather API](https://fous.com/tools/noaa-space-weather.md): NOAA Space Weather provides near-term aurora chances, current geomagnetic activity, a three-day Kp outlook, and NOAA alerts from the past 1–7 days.
- [OpenStreetMap API](https://fous.com/tools/openstreetmap.md): OpenStreetMap returns place coordinates, address details, nearby readable place information, and ordered place search results from contributor-created data; results reflect mapped features and may be incomplete or differ from landmarks.
- [NASA API](https://fous.com/tools/nasa.md): NASA provides astronomy pictures from June 16, 1995 onward, up to 100 media matches, inclusive UTC asteroid approaches, recent approximate natural events, and upcoming ISS sightings for listed cities.
- [Booking.com API](https://fous.com/tools/booking-com.md): Booking.com helps find stays, property details and public guest reviews; prices and cancellation terms depend on selected dates, and displayed prices may exclude taxes and fees.
- [NPI Registry API](https://fous.com/tools/npi-registry.md): NPI Registry returns public US provider search results with contact and taxonomy details, plus individual 10-digit NPI records with registry dates; fields may be missing.
- [All Travel tools](https://fous.com/tools/category/travel)
