NPS Park Conditions, Alerts & Data Scraper
Pricing
Pay per event
NPS Park Conditions, Alerts & Data Scraper
Scrape the NPS API for parks, alerts, campgrounds, events, news, things to do, and visitor centers. Filter by state or park code. Returns unified records with coordinates, entrance fees, hours, and more. Ideal for trip planning apps and AI agents monitoring closures and danger advisories.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Scrapes the U.S. National Park Service (NPS) API across seven resource types: parks, alerts, campgrounds, events, news releases, things to do, and visitor centers. Returns unified, flat records you can use without reading NPS API documentation.
A free NPS API key is required. You can get one instantly at nps.gov/subjects/developer/get-started.htm — no waiting, no approval, just an email address.
What It Scrapes
The NPS API sits behind developer.nps.gov/api/v1. Seven endpoints, one actor. You pick which resource types to fetch.
Why alerts matter: park closures, wildfire road conditions, and danger advisories change constantly. Trip planners, travel apps, and AI agents that need to know whether a park is actually accessible have to poll this data somehow. The alerts endpoint is the recurring-monitoring use case — daily or hourly runs filtered by park code or state.
Input
| Field | Type | Default | Description |
|---|---|---|---|
apiKey | string | — | Your free NPS API key |
resourceTypes | array | ["parks", "alerts"] | Endpoints to scrape. Options: parks, alerts, campgrounds, events, newsreleases, thingstodo, visitorcenters |
parkCodes | array | (all parks) | Filter by NPS park codes (e.g. ["yose", "grca", "zion"]) |
stateCode | string | (all states) | Filter by two-letter US state code (e.g. CA, UT) |
maxItems | integer | 10 | Maximum records to return across all resource types |
Leave resourceTypes empty to fetch all seven types in one run.
Example Input
{"apiKey": "YOUR_NPS_API_KEY","resourceTypes": ["alerts", "parks"],"stateCode": "CA","maxItems": 100}
Output
Each record has a resource_type field identifying its endpoint. Fields that don't apply to a given type are returned as empty strings.
| Field | Type | Description |
|---|---|---|
resource_type | string | parks, alerts, campgrounds, events, newsreleases, thingstodo, or visitorcenters |
park_code | string | NPS unit code (e.g. yose, grca) |
park_full_name | string | Full official park name |
state_codes | string | Comma-separated state codes |
title | string | Name or title of the resource |
description | string | Description, abstract, or body text |
category | string | Alert severity (Danger/Closure/Caution/Information), event type, etc. |
url | string | NPS page URL for this resource |
latitude | string | Latitude coordinate |
longitude | string | Longitude coordinate |
activities | string | Comma-separated activities available |
topics | string | Comma-separated topics and themes |
entrance_fees | string | JSON-encoded entrance fee list (parks) |
operating_hours | string | JSON-encoded operating hours (parks, campgrounds, visitor centers) |
image_url | string | Primary image URL |
last_indexed | string | ISO timestamp of last NPS index update |
phone | string | Contact phone (visitor centers, campgrounds) |
directions_url | string | Link to directions |
reservation_url | string | Reservation link (campgrounds, events) |
is_reservation_required | string | Whether reservation required |
cost | string | Fee or cost description |
Sample Record (Alert)
{"resource_type": "alerts","park_code": "grba","title": "Winter Road Closures","description": "Wheeler Peak Scenic Drive is closed at the Wheeler Peak Summit Trailhead due to snow.","category": "Park Closure","url": "https://www.nps.gov/grba/planyourvisit/conditions.htm","last_indexed": "2026-05-19 00:00:00.0"}
Sample Record (Park)
{"resource_type": "parks","park_code": "alca","park_full_name": "Alcatraz Island","state_codes": "CA","title": "Alcatraz Island","description": "Alcatraz reveals stories of American incarceration, justice, and our common humanity...","url": "https://www.nps.gov/alca/index.htm","latitude": "37.82676234","longitude": "-122.4230206","activities": "Food, Wildlife Watching, Birdwatching, Museum Exhibits, Shopping","topics": "Colonization and Settlement, Forts, Incarceration, Maritime","operating_hours": "[{\"name\":\"Alcatraz Island\",\"standardHours\":{\"monday\":\"9:00AM - 6:30PM\",...}}]","phone": "415-561-4900","directions_url": "http://home.nps.gov/alca/planyourvisit/directions.htm"}
Use Cases
Trip planning tools — pull parks and campgrounds filtered by state. Include entrance fees and operating hours directly in destination cards.
Closure monitoring — run daily against the alerts endpoint filtered by state. Filter output for category: "Park Closure" or "Danger" and route to push notifications or a status dashboard.
AI agents and RAG pipelines — NPS data is public domain. Feed current park conditions into retrieval-augmented generation for travel queries.
Geospatial and research projects — 470+ NPS units with coordinates, activities, topics, and fees in a clean flat format.
Rate Limits
The NPS API enforces rate limits per key. The actor paginates at 50 records per request with a ~1 second delay between calls to stay within NPS's documented guidance.
The default maxItems: 10 is intentionally conservative. Raise it for production runs. Set to 0 for an unlimited full-catalog pull.
Getting Your API Key
- Go to nps.gov/subjects/developer/get-started.htm
- Enter your name, email, and a brief use description
- Key arrives by email within seconds
No approval process. No billing. Free tier is sufficient for most use cases.
Data source: U.S. National Park Service API (developer.nps.gov). NPS data is in the public domain.