Skip to main content

Overview

What it does

Access comprehensive information about all 423 US National Parks through the official National Park Service API. Get real-time data on park details, visitor centers, campgrounds, events, and alerts.Key Features:
  • Search and discover parks by state, activities, or keywords
  • Real-time park information including hours, fees, and contacts
  • Current alerts for closures, hazards, and safety information
  • Visitor center details with operating hours and amenities
  • Campground information with reservation details
  • Upcoming events and ranger-led programs

Use Cases

Perfect for building AI-powered travel assistants and outdoor recreation planning tools.Examples:
  • Trip planning and itinerary creation across multiple parks
  • Real-time alerts and closure monitoring
  • Educational research about park history and features
  • Accessibility and facility information for visitors
  • Event discovery and ranger program scheduling
  • Campground availability and amenity comparison

Quick Start

1

Get Your API Key

Request a free NPS API key at nps.gov/subjects/developer/get-started.htmFree Tier Includes:
  • 1,000 API calls per hour
  • Access to all 423 national parks
  • Real-time alerts and park information
  • Historical and current event data
  • No credit card required
You’ll receive your API key via email within minutes after submitting the form.
2

Add to NimbleBrain Studio

In NimbleBrain Studio:
  1. Navigate to MCP Servers in the sidebar
  2. Click Add Server
  3. Search for “National Parks” in the server registry
  4. Click Configure
  5. Paste your API key in the NPS_API_KEY field
  6. Click Save & Enable
The server will automatically connect and become available in your AI assistant within seconds.
3

Test the Connection

In your Studio chat, try this prompt:
"Tell me about Yellowstone National Park"
You should see detailed park information including description, location, entrance fees, operating hours, contact information, and available activities.
Look for the 🔧 tool usage indicator in Studio to confirm the server is working correctly.

Available Tools

Search for national parks based on state, name, activities, or other criteria. Perfect for discovering parks that match specific interests or locations.Parameters:
ParameterTypeRequiredDescription
stateCodestringNoFilter parks by state code (e.g., “CA” for California). Multiple states can be comma-separated (e.g., “CA,OR,WA”)
qstringNoSearch term to filter parks by name or description
limitnumberNoMaximum number of parks to return (default: 10, max: 50)
startnumberNoStart position for results (useful for pagination)
activitiesstringNoFilter by available activities (e.g., “hiking,camping”)
Returns: JSON object containing:
  • total - Total number of matching parks
  • limit - Number of results returned
  • start - Starting position for pagination
  • parks - Array of park objects with details
Example Usage:
"Find all national parks in California"
Example Response:
{
  "total": 9,
  "limit": 10,
  "start": 0,
  "parks": [
    {
      "parkCode": "yose",
      "fullName": "Yosemite National Park",
      "description": "Not just a great valley, but a shrine to human foresight...",
      "states": "CA",
      "latitude": "37.865101",
      "longitude": "-119.538330",
      "activities": ["Hiking", "Camping", "Rock Climbing"]
    }
  ]
}
Use multiple state codes to plan multi-state road trips: “Show me parks in Utah, Arizona, and Colorado that have camping”
Get comprehensive information about a specific national park including full descriptions, operating hours, entrance fees, contact information, and available activities.Parameters:
ParameterTypeRequiredDescription
parkCodestringYesThe park code of the national park (e.g., “yose” for Yosemite, “grca” for Grand Canyon)
Returns: Detailed park information including:
  • Full name and description
  • Location (state, latitude/longitude)
  • Operating hours and seasons
  • Entrance fees and passes
  • Contact information (phone, email)
  • Available activities and amenities
  • Directions and accessibility info
  • Images and multimedia
Example Usage:
"What's the entrance fee for Grand Canyon National Park?"
Example Response:
{
  "parkCode": "grca",
  "fullName": "Grand Canyon National Park",
  "description": "Grand Canyon National Park, in Arizona...",
  "states": "AZ",
  "directionsInfo": "South Rim: Open all year, is located 60 miles...",
  "directionsUrl": "http://www.nps.gov/grca/planyourvisit/directions.htm",
  "operatingHours": [
    {
      "name": "South Rim",
      "description": "Open all year",
      "standardHours": {
        "monday": "All Day",
        "tuesday": "All Day"
      }
    }
  ],
  "entranceFees": [
    {
      "cost": "35.00",
      "description": "Admits one single, private, non-commercial vehicle...",
      "title": "Private Vehicle"
    }
  ],
  "contacts": {
    "phoneNumbers": [{"phoneNumber": "9286381500"}],
    "emailAddresses": [{"emailAddress": "[email protected]"}]
  },
  "activities": [
    {"name": "Hiking"},
    {"name": "Camping"},
    {"name": "Backpacking"}
  ]
}
Park codes are typically 4-letter abbreviations. Use the findParks tool first if you don’t know the park code. See the appendix at the bottom for popular park codes.
Get current alerts for national parks including closures, hazards, warnings, and important visitor information. Essential for trip planning to avoid unexpected closures.Parameters:
ParameterTypeRequiredDescription
parkCodestringNoFilter alerts by park code (e.g., “yose” for Yosemite). Multiple parks can be comma-separated (e.g., “yose,grca”)
limitnumberNoMaximum number of alerts to return (default: 10, max: 50)
startnumberNoStart position for results (useful for pagination)
qstringNoSearch term to filter alerts by title or description
Returns: JSON object containing:
  • total - Total number of alerts
  • alerts - Array of alert objects with:
    • title - Alert headline
    • description - Detailed alert information
    • category - Type of alert (Danger, Caution, Information, Park Closure)
    • parkCode - Associated park
    • lastIndexedDate - When alert was last updated
Example Usage:
"Are there any closures or alerts at Yosemite right now?"
Example Response:
{
  "total": 3,
  "alerts": [
    {
      "title": "Tioga Road Closed for the Season",
      "category": "Park Closure",
      "description": "Tioga Road (Highway 120 through the park) is closed...",
      "parkCode": "yose",
      "lastIndexedDate": "2025-01-15T10:30:00Z"
    },
    {
      "title": "Winter Weather Advisory",
      "category": "Caution",
      "description": "Carry tire chains and know how to install them...",
      "parkCode": "yose",
      "lastIndexedDate": "2025-01-14T08:15:00Z"
    }
  ]
}
Always check alerts before visiting, especially during winter or extreme weather conditions. Road closures can significantly impact travel plans.
Get information about visitor centers including locations, operating hours, contact details, and available amenities. Visitor centers provide orientation, educational exhibits, and ranger assistance.Parameters:
ParameterTypeRequiredDescription
parkCodestringNoFilter visitor centers by park code (e.g., “yose” for Yosemite). Multiple parks can be comma-separated (e.g., “yose,grca”)
limitnumberNoMaximum number of visitor centers to return (default: 10, max: 50)
startnumberNoStart position for results (useful for pagination)
qstringNoSearch term to filter visitor centers by name or description
Returns: JSON object containing visitor center details:
  • Name and description
  • Physical address and directions
  • Operating hours by season
  • Contact information
  • Available amenities and services
  • Accessibility information
Example Usage:
"What visitor centers are at Yellowstone and when are they open?"
Example Response:
{
  "total": 5,
  "visitorCenters": [
    {
      "name": "Old Faithful Visitor Education Center",
      "description": "Open year-round, this LEED-certified building...",
      "parkCode": "yell",
      "addresses": [
        {
          "type": "Physical",
          "line1": "Upper Geyser Basin",
          "city": "Yellowstone National Park",
          "stateCode": "WY"
        }
      ],
      "operatingHours": [
        {
          "name": "Winter Hours",
          "description": "December through March",
          "standardHours": {
            "monday": "9:00AM - 5:00PM",
            "tuesday": "9:00AM - 5:00PM"
          }
        }
      ],
      "contacts": {
        "phoneNumbers": [{"phoneNumber": "3073442751"}]
      },
      "amenities": ["Bookstore", "Exhibits", "Restrooms"]
    }
  ]
}
Visitor centers are great first stops for park orientation, trail maps, and current conditions. Many offer educational films and ranger-led programs.
Get information about available campgrounds including amenities, fees, reservation requirements, and operating seasons. Essential for planning overnight stays in national parks.Parameters:
ParameterTypeRequiredDescription
parkCodestringNoFilter campgrounds by park code (e.g., “yose” for Yosemite). Multiple parks can be comma-separated (e.g., “yose,grca”)
limitnumberNoMaximum number of campgrounds to return (default: 10, max: 50)
startnumberNoStart position for results (useful for pagination)
qstringNoSearch term to filter campgrounds by name or description
Returns: JSON object containing campground information:
  • Name and description
  • Number of campsites
  • Amenities (water, electricity, dump station, etc.)
  • Fees and reservation requirements
  • Operating seasons
  • RV size limits
  • Accessibility features
Example Usage:
"Find campgrounds in Zion National Park with electrical hookups"
Example Response:
{
  "total": 3,
  "campgrounds": [
    {
      "name": "Watchman Campground",
      "description": "Located near the South Entrance...",
      "parkCode": "zion",
      "numberOfSitesReservable": "95",
      "numberOfSitesFirstComeFirstServe": "0",
      "fees": [
        {
          "cost": "30.00",
          "description": "Per night for standard campsite",
          "title": "Standard Site"
        }
      ],
      "amenities": {
        "toilets": ["Flush Toilets"],
        "showers": ["None"],
        "potableWater": ["Yes"],
        "electricalHookups": ["Yes"]
      },
      "reservations": {
        "required": true,
        "url": "https://www.recreation.gov"
      },
      "accessibility": {
        "wheelchairAccess": "Yes",
        "rvAllowed": "Yes",
        "rvMaxLength": "40"
      }
    }
  ]
}
Popular campgrounds require reservations months in advance, especially during peak summer season. Check availability early when planning your trip.
Find upcoming events at parks including ranger-led programs, educational talks, guided hikes, and special ceremonies. Great for enriching your park visit with expert-led experiences.Parameters:
ParameterTypeRequiredDescription
parkCodestringNoFilter events by park code (e.g., “yose” for Yosemite). Multiple parks can be comma-separated (e.g., “yose,grca”)
limitnumberNoMaximum number of events to return (default: 10, max: 50)
startnumberNoStart position for results (useful for pagination)
dateStartstringNoStart date for filtering events (format: YYYY-MM-DD)
dateEndstringNoEnd date for filtering events (format: YYYY-MM-DD)
qstringNoSearch term to filter events by title or description
Returns: JSON object containing event information:
  • Event title and description
  • Date and time information
  • Location within the park
  • Duration and meeting point
  • Registration requirements
  • Cost (most are free)
  • Appropriate age groups
Example Usage:
"What ranger programs are happening at Acadia National Park this weekend?"
Example Response:
{
  "total": 8,
  "events": [
    {
      "title": "Sunrise at Cadillac Mountain",
      "description": "Join a park ranger for a guided sunrise experience...",
      "parkCode": "acad",
      "dateStart": "2025-01-20T05:30:00Z",
      "dateEnd": "2025-01-20T07:00:00Z",
      "duration": "90 minutes",
      "location": "Cadillac Mountain Summit",
      "isFree": true,
      "isRegistrationRequired": false,
      "types": ["Guided Tour", "Ranger Program"],
      "category": "Astronomy"
    },
    {
      "title": "Tidepool Exploration",
      "description": "Discover marine life in the rocky intertidal zone...",
      "parkCode": "acad",
      "dateStart": "2025-01-21T10:00:00Z",
      "dateEnd": "2025-01-21T11:30:00Z",
      "duration": "90 minutes",
      "location": "Sand Beach",
      "isFree": true,
      "isRegistrationRequired": true,
      "contactPhoneNumber": "207-288-3338"
    }
  ]
}
Ranger programs are usually free and provide incredible insights into park history, geology, and wildlife. Check for events when planning your visit to enhance the experience.

Authentication

API Key Required: This server requires a National Park Service API key to function.

Getting Your API Key

  1. Visit nps.gov/subjects/developer/get-started.htm
  2. Fill out the API key request form with your name and email
  3. Agree to the terms of service
  4. Receive your API key via email (usually within 5-10 minutes)
  5. Add it to your Studio server configuration

Rate Limits

PlanRequests/HourMonthly LimitPrice
Free1,000Unlimited$0
The NPS API uses hourly rate limits. If you exceed 1,000 requests per hour, you’ll receive a 429 error. Monitor your usage in Studio’s server settings and adjust your query frequency if needed.

Managing Your API Key in Studio

Your API key is securely stored in NimbleBrain Studio. To update it:
  1. Go to SettingsMCP Servers
  2. Find “National Parks” in your server list
  3. Click Edit Configuration
  4. Update your API key in the NPS_API_KEY field
  5. Click Save
Studio automatically manages server connections - no manual restarts required. Changes take effect immediately.

Example Workflows

  • Trip Planning
  • Park Discovery
  • Current Conditions
  • Educational Research
  • Visitor Planning
  • Campground Comparison
  • Event Discovery
Scenario: Plan a family vacation to national parksPrompt:
"I want to visit national parks in California next summer. Show me a list with their main attractions and best times to visit."
What happens:
  • Searches for parks in California
  • Retrieves park details for each result
  • Provides descriptions, activities, and operating hours
  • Includes seasonal information and best visit times
Time: ~5 seconds API calls: 1 search + 1 per park
Studio’s AI can help narrow down options based on your specific interests: “Show me California parks with hiking and waterfalls”
All examples work in NimbleBrain Studio’s natural language interface - no code or configuration required!

Troubleshooting

Error Message:
429 Too Many Requests - API rate limit exceeded
Cause: You’ve exceeded 1,000 requests per hourSolutions:
  • Wait until the next hour for your limit to reset (hourly rate limits)
  • Space out your requests over time in Studio conversations
  • Batch related requests in single prompts: “Tell me about Yosemite and check for alerts”
  • Reduce the number of parks you’re querying simultaneously
To check your usage:
  1. Go to Studio Settings → MCP Servers
  2. Click on National Parks
  3. View API usage metrics
Studio shows real-time API usage. The 1,000 requests/hour limit is generous for most use cases.
Error Message:
401 Unauthorized - Invalid API key
Cause: API key is missing, incorrect, expired, or revokedSolutions:
  • Verify your API key in Studio server settings (no extra spaces)
  • Ensure you copied the entire API key from the email
  • Request a new API key from nps.gov/subjects/developer/get-started.htm
  • Check your email for any revocation notices
To update in Studio:
  1. Settings → MCP Servers → National Parks
  2. Click Edit Configuration
  3. Paste new API key in NPS_API_KEY field
  4. Click Save
  5. Test with: “Tell me about Yellowstone”
Common Mistakes:
  • Extra spaces before/after the API key when pasting
  • Copying only part of the API key from the email
  • Using an API key from a different NPS account
Studio validates your API key automatically when you save. You’ll see a success message if it’s correct.
Error Message:
Park not found or invalid park code
Cause: Invalid or non-existent park code providedSolutions:
  • Use findParks tool to search for the correct park code by name
  • Verify the park code format (usually 4 lowercase letters, e.g., “yose”, “grca”)
  • Check if the location is actually a National Park (not a state park or other designation)
  • Try searching by full park name instead of abbreviation
  • Refer to the park code appendix at the bottom of this page
Examples of Correct Park Codes:
  • Yosemite: yose (not YOSE or yosemite)
  • Grand Canyon: grca (not grand-canyon)
  • Yellowstone: yell (not yellow)
  • Great Smoky Mountains: grsm (not smoky-mountains)
Tip: When in doubt, use findParks with a search term: “Find parks matching Yosemite”
Error Message:
Invalid state code(s): XY
Cause: Invalid US state code provided in search filtersSolutions:
  • Use standard two-letter US state codes (e.g., “CA”, “NY”, “TX”)
  • Ensure state codes are uppercase (though the server converts them)
  • Verify comma-separated format for multiple states: “CA,OR,WA” (no spaces)
  • Check for typos in state abbreviations
Valid State Code Examples:
  • California: CA
  • New York: NY
  • Texas: TX
  • Multiple states: CA,OR,WA or UT,AZ,CO
Error Message:
Server is not responding
or
Failed to connect to MCP server
Cause: Network connectivity issue or server temporarily unavailableSolutions:
  • Check your internet connection
  • Verify the server is enabled in Studio (Settings → MCP Servers)
  • Try disabling and re-enabling the server in Studio
Quick Fix in Studio:
  1. Go to SettingsMCP Servers
  2. Find “National Parks” in the list
  3. Toggle it Off, wait 5 seconds
  4. Toggle it On again
Studio manages all server infrastructure automatically - there’s no local setup or Docker containers to troubleshoot. If issues persist, check your API key validity at https://www.nps.gov/subjects/developer/get-started.htm
Error Message:
No data available
or fields return null/empty arraysCause: Data not available for the requested resourcePossible Reasons:
  • Park doesn’t have any current alerts (this is good!)
  • No upcoming events scheduled in the specified date range
  • Visitor centers or campgrounds closed for the season
  • Park code is valid but specific resource type not available
  • Search query too restrictive (no matches found)
Solutions:
  • Verify the park code is correct using getParkDetails
  • Expand date range for event searches
  • Check if facilities are seasonal (many close in winter)
  • Remove or adjust search filters (q parameter)
  • Try a different, more established park as a test
  • Use broader search criteria or remove activity filters
Note: Empty results are normal for some queries (e.g., parks with no current alerts is expected and positive)
Symptoms:
  • Requests taking longer than 5-10 seconds
  • Timeouts when fetching data
  • Intermittent slow responses
Cause: Network latency, NPS API delays, or high server loadSolutions:
  • Check your internet connection speed and stability
  • Verify NPS API status (check status.nps.gov for outages)
  • Reduce number of simultaneous requests
  • Use smaller limit values for initial queries (e.g., limit=5 instead of 50)
  • Try again in a few moments (may be temporary API congestion)
  • Implement local caching for frequently accessed data
Expected Response Times:
  • Single park search: 1-2 seconds
  • Park details: 1-2 seconds
  • Alerts: <1 second
  • Visitor centers: 1-2 seconds
  • Campgrounds: 1-2 seconds
  • Events: 1-2 seconds
  • Multiple park queries: 3-5 seconds

Park NamePark CodeState(s)
YosemiteyoseCA
Grand CanyongrcaAZ
YellowstoneyellWY, MT, ID
ZionzionUT
Great Smoky MountainsgrsmTN, NC
AcadiaacadME
OlympicolymWA
Rocky MountainromoCO
Joshua TreejotrCA
Sequoia & Kings CanyonsekiCA
GlacierglacMT
Grand TetongrteWY
Bryce CanyonbrcaUT
ArchesarchUT
Mount RainiermoraWA
ShenandoahshenVA
Crater LakecrlaOR
DenalidenaAK
EvergladeseverFL
Death ValleydevaCA, NV
For a complete list of all 423 national parks and their codes, visit nps.gov/findapark or use the findParks tool with no filters.
Need help? Join the NimbleBrain Discord or email [email protected]