National Park Service

App · Travel & Places · 29 actions

Plan trips and follow conditions across every US national park with the National Park Service's official API: look up parks, campgrounds, visitor centers, parking and things to do, watch alerts, road closures and webcams, read the events calendar, news releases and articles, pull photos, audio and video, check fees and passes, and find which parks offer an activity or cover a topic.

Actions

ActionWhat it does
Get park boundaryOne park's official boundary as a GeoJSON feature, ready to draw on a map or test a coordinate against.
List activitiesThe activity vocabulary (hiking, stargazing, paddling, snowshoeing) with the id each is referred to by.
List alertsWhat is closed, dangerous or worth knowing about right now: the closures, cautions, danger notices and information posts the parks publish.
List amenitiesThe amenity vocabulary (restrooms, drinking water, an ATM, a first aid station) with the id each is referred to by.
List amenities by placeWhich places in which parks have which amenity.
List amenities by visitor centerWhich visitor centers have which amenity.
List articlesShort articles the parks publish about their history, science, wildlife and people, each with its lead image, tags and a link to the full piece on nps.gov.
List audioAudio the parks publish (soundscapes, oral histories, narrated tours), each with its transcript, its length, and a downloadable file for every format it exists in.
List campgroundsCampgrounds, with how many sites of each kind they have, which are reservable and which are first-come, what they cost, what amenities they offer (toilets, showers, potable water, food-storage lockers), the RV and trailer limits, and where to book.
List eventsThe events calendar: ranger talks, guided walks, living history, volunteer days and everything else the parks run.
List fees and passesWhat it costs to get in, park by park: whether the park is fee-free, whether the interagency pass is accepted, every entrance fee and annual pass with its price and where to buy it, and any timed entry or paid parking on top.
List gallery photosThe individual photographs inside galleries, each with its full-size file, dimensions, alt text, credit and the terms it may be reused under.
List lesson plansClassroom lesson plans the parks publish, each with its grade level, subject, how long it takes, the essential question it answers and the Common Core and state standards it meets.
List news releasesOfficial park news releases, newest first: road openings, fire updates, seasonal announcements and everything else the parks put out.
List parking lotsParking lots, with how many spaces each has, how many are accessible, what parking costs, and, where a park reports it, how full the lot is right now and how long the wait is.
List parksBrowse the 470-odd parks, monuments, battlefields, seashores and historic sites the Park Service runs.
List parks by activityWhich parks offer which activity.
List parks by topicWhich parks cover which topic.
List passport stamp locationsWhere the Passport To Your National Parks cancellation stamps are kept, and which park each belongs to: the checklist for a passport-stamp trip.
List peopleThe historical figures the parks tell stories about, each with a biography, quick facts, portraits and the parks that interpret them.
List photo galleriesPhoto galleries the parks publish, each with how many photographs it holds, the rights granted over them, and the gallery id that 'List gallery photos' takes.
List placesThe individual places inside parks that have their own page on nps.gov (trailheads, historic buildings, overlooks, monuments), each with its coordinates, its full write-up, the amenities on site, and whether it is open to the public.
List road eventsClosures, delays and roadwork on park roads, as mapped features with the stretch of road each affects, when it starts and ends, and what it does to traffic.
List things to doThe Park Service's own suggestions of what to do in a park, each with the season and time of day it suits, how long it takes, what it costs, whether it needs a reservation, whether pets are allowed, and how accessible it is.
List topicsThe topic vocabulary (the Civil War, volcanoes, civil rights, night skies) with the id each is referred to by.
List toursSelf-guided tours, each with its ordered stops, what makes each stop worth seeing, directions from one to the next, and the narration audio and transcript where a park recorded them.
List videosVideo the parks publish, each with its transcript, its caption files, an audio-described version and an ASL version where they exist, and a downloadable file at every resolution.
List visitor centersVisitor centers and contact stations, with their standard hours and holiday exceptions, addresses, phone numbers, directions, amenities, and whether they hold a passport stamp.
List webcamsPark webcams, with the still image each publishes, whether it is a live stream, and whether it is working right now, so a workflow can post this morning's view of a summit rather than a dead link.

Get park boundary

One park's official boundary as a GeoJSON feature, ready to draw on a map or test a coordinate against. A unit whose boundary the Park Service does not publish comes back with 'found' false rather than failing the step.

Inputs

Parkpark_codetextRequired
The park whose boundary to fetch.

Outputs

boundaryobject
The park's outline as a GeoJSON feature
foundtrue/false
Whether a boundary is published for this park
park_codetext
The park code that was asked for
Example output
{
  "boundary": {
    "geometry": {
      "coordinates": [
        [
          [
            [
              -111.056,
              44.5
            ],
            [
              -109.83,
              44.5
            ]
          ]
        ]
      ],
      "type": "MultiPolygon"
    },
    "id": "yell",
    "type": "Feature"
  },
  "found": true,
  "park_code": "yell"
}

List activities

The activity vocabulary (hiking, stargazing, paddling, snowshoeing) with the id each is referred to by. These are the ids the activity filters elsewhere take.

Inputs

Activitiesidslist
Narrow the results to these activities. Leave empty for all of them.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to name, A-Z.One of: name (Name (A-Z)), -name (Name (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

activitieslist
Activities, each with its id and name
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "activities": [
    {
      "id": "09DF0950-D319-4557-A57E-04CD2F63FF42",
      "name": "Hiking"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List alerts

What is closed, dangerous or worth knowing about right now: the closures, cautions, danger notices and information posts the parks publish. This is the action a scheduled workflow runs to notice a road closing or a trail reopening.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

alertslist
Alerts, each with its category, title and the park it applies to
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "alerts": [
    {
      "category": "Park Closure",
      "description": "The Northeast Entrance Road is closed for the season.",
      "id": "1A70B4E6-1DD8-B71B-0B3A9F2B8D8A5C21",
      "lastIndexedDate": "2026-08-01 09:15:03.0",
      "parkCode": "yell",
      "title": "Northeast Entrance Road closed",
      "url": "https://www.nps.gov/yell/planyourvisit/parkroads.htm"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List amenities

The amenity vocabulary (restrooms, drinking water, an ATM, a first aid station) with the id each is referred to by. These are the ids the two amenity cross-reference actions take.

Inputs

Amenitiesidslist
Narrow the results to these amenities. Leave empty for all of them.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

amenitieslist
Amenities, each with its id, name and categories
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "amenities": [
    {
      "categories": [
        "Services"
      ],
      "id": "A1B0AD01-740C-41E7-8412-FBBEDD5F1443",
      "name": "ATM/Cash Machine"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List amenities by place

Which places in which parks have which amenity. Each record is one amenity with the parks that have it and, inside each park, the individual places offering it, so 'which parks have somewhere with drinking water' is a single step.

Inputs

Amenitiesidslist
Narrow the results to these amenities. Leave empty for all of them.
Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to name, A-Z.One of: name (Name (A-Z)), -name (Name (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

amenitieslist
Amenities, each with the parks and places that have it
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "amenities": [
    {
      "id": "A1B0AD01-740C-41E7-8412-FBBEDD5F1443",
      "name": "ATM/Cash Machine",
      "parks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "places": [
            {
              "id": "5C566C36-F3C7-4CFA-A35C-9086329851B9",
              "title": "Old Faithful Lodge",
              "url": "https://www.nps.gov/places/old-faithful-lodge.htm"
            }
          ],
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ]
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List amenities by visitor center

Which visitor centers have which amenity. The same cross-reference as 'List amenities by place', over visitor centers rather than places.

Inputs

Amenitiesidslist
Narrow the results to these amenities. Leave empty for all of them.
Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to name, A-Z.One of: name (Name (A-Z)), -name (Name (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

amenitieslist
Amenities, each with the parks and visitor centers that have it
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "amenities": [
    {
      "id": "A1B0AD01-740C-41E7-8412-FBBEDD5F1443",
      "name": "ATM/Cash Machine",
      "parks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/",
          "visitorcenters": [
            {
              "id": "B0F1D24C-1DD8-B71B-0B67B0F2C1E2A3D4",
              "name": "Old Faithful Visitor Education Center",
              "url": "https://www.nps.gov/yell/planyourvisit/visitorcenters.htm"
            }
          ]
        }
      ]
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List articles

Short articles the parks publish about their history, science, wildlife and people, each with its lead image, tags and a link to the full piece on nps.gov.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

articleslist
Articles, each with its lead image, tags and link
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "articles": [
    {
      "id": "4D3E2F19-0887-7665-5E4F-3A2B1C0D9E8F",
      "listingDescription": "How wolves changed the northern range.",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "tags": [
        "wolves",
        "wildlife"
      ],
      "title": "The Wolves of Yellowstone",
      "url": "https://www.nps.gov/articles/wolves-of-yellowstone.htm"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List audio

Audio the parks publish (soundscapes, oral histories, narrated tours), each with its transcript, its length, and a downloadable file for every format it exists in.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

audiolist
Audio items, each with its transcript, length and files
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "audio": [
    {
      "description": "A recording of an eruption, start to finish.",
      "durationMs": 245000,
      "id": "08877665-5140-3221-1C0D-9E8F7A6B5C4D",
      "permalinkUrl": "https://www.nps.gov/media/audio/old-faithful.htm",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "title": "Sounds of Yellowstone: Old Faithful",
      "versions": [
        {
          "fileSize": 3900000,
          "fileType": "audio/mpeg",
          "url": "https://www.nps.gov/media/audio/old-faithful.mp3"
        }
      ]
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List campgrounds

Campgrounds, with how many sites of each kind they have, which are reservable and which are first-come, what they cost, what amenities they offer (toilets, showers, potable water, food-storage lockers), the RV and trailer limits, and where to book.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to the order the parks display them in. 'Best match' only means anything alongside a search term.One of: name (Name (A-Z)), -name (Name (Z-A)), parkCode (Park code (A-Z)), -parkCode (Park code (Z-A)), -relevanceScore (Best match for the search term first).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

campgroundslist
Campgrounds, each with its sites, amenities, fees and reservation details
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "campgrounds": [
    {
      "campsites": {
        "group": "0",
        "tentOnly": "0",
        "totalSites": "278"
      },
      "description": "Madison Campground sits along the Madison River.",
      "id": "AC5C6D24-1DD8-B71B-0B0C3F1D1E4F6A11",
      "name": "Madison Campground",
      "parkCode": "yell",
      "reservationUrl": "https://www.yellowstonenationalparklodges.com/",
      "url": "https://www.nps.gov/yell/planyourvisit/madisoncg.htm"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List events

The events calendar: ranger talks, guided walks, living history, volunteer days and everything else the parks run. Filter by date range, park, state or programme type. Turn on 'Expand recurring events' to get one record per occurrence rather than one per series.

Inputs

Parkspark_codeslist
Narrow the calendar to these parks. Leave empty for events across the whole Park Service.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
On or afterdate_startdate
Only include events on or after this date. Leave empty for no lower bound.
On or beforedate_enddate
Only include events on or before this date. Leave empty for no upper bound.
Programme typesevent_typeslist
Narrow to these kinds of programme: guided tours, talks, living history. The list is read from the calendar itself, so it is whatever the parks are actually tagging events with. Leave empty for every kind.
Expand recurring eventsexpand_recurringtrue/false
Return one record per date a recurring event runs, instead of one record for the whole series. Off by default.Default: false.
Event IDsidslist
Look up specific events by id. Leave empty for every event that passes the other filters.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Organizationsorganizationslist
Narrow to events run by these partner organizations, by their nps.gov site code. Leave empty for all of them.
Subject sitessubjectslist
Narrow to events tied to these nps.gov subject sites, by site code. Leave empty for all of them.
Portalsportalslist
Narrow to events tied to these nps.gov portals, by site code. Leave empty for all of them.
Has all of these tagstags_alllist
Only include events carrying every one of these tags.
Has any of these tagstags_anylist
Only include events carrying at least one of these tags.
Has none of these tagstags_nonelist
Leave out events carrying any of these tags.
Events per pagepage_sizenumber
How many events to return, 1-500. Defaults to 10.From 1 to 500. Default: 10.
Pagepage_numbernumber
Which page of events to return. The calendar numbers its pages from 1; use the 'next_page_number' from a previous run to read the next one.From 1 to 100000. Default: 1.

Outputs

countnumber
Events on this page
errorslist
Anything the calendar reported about the request
eventslist
Events, each with its dates, times, location and programme types
has_moretrue/false
Whether another page follows
next_page_numbernumber
Page that reads the next set, or null at the end
page_numbernumber
The page that was returned
page_sizenumber
Page size that was requested
total_countnumber
Events matching in all, across every page
Example output
{
  "count": 1,
  "errors": [],
  "events": [
    {
      "category": "Regular Program",
      "dateend": "2026-09-01",
      "dates": [
        "2026-07-04"
      ],
      "datestart": "2026-07-04",
      "description": "Join a ranger for a walk through the Upper Geyser Basin.",
      "eventid": "9C1D2E3F-4A5B-6C7D-8E9F-0A1B2C3D4E5F",
      "id": "9C1D2E3F-4A5B-6C7D-8E9F-0A1B2C3D4E5F",
      "infourl": "https://www.nps.gov/yell/planyourvisit/rangerprograms.htm",
      "isallday": "false",
      "isfree": "true",
      "location": "Old Faithful Visitor Education Center",
      "parkfullname": "Yellowstone National Park",
      "sitecode": "yell",
      "title": "Ranger-led Geyser Basin Walk",
      "types": [
        "Guided Tour",
        "Walk"
      ]
    }
  ],
  "has_more": true,
  "next_page_number": 2,
  "page_number": 1,
  "page_size": 10,
  "total_count": 2840
}

List fees and passes

What it costs to get in, park by park: whether the park is fee-free, whether the interagency pass is accepted, every entrance fee and annual pass with its price and where to buy it, and any timed entry or paid parking on top.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
fees_and_passeslist
One fee summary per park, with its fees, passes and timed entry
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "fees_and_passes": [
    {
      "entranceFeeDescription": "Fees are charged per vehicle and valid for seven days.",
      "fees": [
        {
          "cost": "35.00",
          "description": "Admits one private, non-commercial vehicle.",
          "entranceFeeType": "Entrance - Private Vehicle",
          "id": "A1"
        }
      ],
      "isFeeFreePark": false,
      "isInteragencyPassAccepted": true,
      "parkCode": "yell",
      "passes": [
        {
          "category": "Annual Pass",
          "cost": "70.00",
          "description": "Admits the pass holder for a year.",
          "id": "P1"
        }
      ]
    }
  ],
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

The individual photographs inside galleries, each with its full-size file, dimensions, alt text, credit and the terms it may be reused under. Give it a gallery id (the one 'List photo galleries' returns) to walk a single gallery's photographs in order.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Gallery IDgallery_idtext
Only return photographs from this gallery. 'List photo galleries' returns the id for every gallery, and a step chained off it fills this in. Leave it empty for photographs from every gallery.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Photo IDsidslist
Look up specific photographs by id. Leave empty for every photograph that passes the other filters.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

assetslist
Photographs, each with its file, credit and usage constraints
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "assets": [
    {
      "altText": "A bison stands in deep snow beside a steaming thermal feature.",
      "credit": "NPS / Jacob W. Frank",
      "fileInfo": {
        "fileSizeKb": 843,
        "fileType": "image/jpeg",
        "heightPixels": 1365,
        "url": "https://www.nps.gov/common/uploads/gallery/bison-in-snow.jpg",
        "widthPixels": 2048
      },
      "id": "66551403-2211-0098-8F7A-6B5C4D3E2F19",
      "ordinal": 1,
      "title": "Bison in snow"
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List lesson plans

Classroom lesson plans the parks publish, each with its grade level, subject, how long it takes, the essential question it answers and the Common Core and state standards it meets.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to title, A-Z.One of: title (Title (A-Z)), -title (Title (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
lesson_planslist
Lesson plans, each with its grade level, subject and standards
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "lesson_plans": [
    {
      "duration": "60 Minutes",
      "gradeLevel": "Middle School: Sixth Grade through Eighth Grade",
      "id": "19088776-6551-4032-2B1C-0D9E8F7A6B5C",
      "parks": [
        "yell"
      ],
      "questionObjective": "What drives Yellowstone's hydrothermal features?",
      "subject": [
        "Science"
      ],
      "title": "Geothermal Features and Plate Tectonics",
      "url": "https://www.nps.gov/teachers/classrooms/geothermal-features.htm"
    }
  ],
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List news releases

Official park news releases, newest first: road openings, fire updates, seasonal announcements and everything else the parks put out. The date sort turns this into a feed.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return releases in. Defaults to newest first.One of: -releaseDate (Newest first), releaseDate (Oldest first), title (Title (A-Z)), -title (Title (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
news_releaseslist
News releases, each with its abstract, date and link
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "news_releases": [
    {
      "abstract": "Roads to Old Faithful open to oversnow travel on 15 December.",
      "id": "3E2F1908-8776-6551-4F3A-2B1C0D9E8F7A",
      "parkCode": "yell",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "releaseDate": "2026-11-12",
      "title": "Yellowstone announces winter road opening dates",
      "url": "https://www.nps.gov/yell/learn/news/winter-roads.htm"
    }
  ],
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List parking lots

Parking lots, with how many spaces each has, how many are accessible, what parking costs, and, where a park reports it, how full the lot is right now and how long the wait is.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
parking_lotslist
Parking lots, each with its capacity, fees and live status
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "parking_lots": [
    {
      "accessibility": {
        "numberofAdaSpaces": 24,
        "totalSpaces": 1200
      },
      "description": "The main lot beside the Old Faithful Visitor Education Center.",
      "id": "6C0F2A1B-3D4E-4F50-9A1B-2C3D4E5F6071",
      "name": "Old Faithful Parking Area",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ]
    }
  ],
  "start": 0,
  "total_count": 42
}

List parks

Browse the 470-odd parks, monuments, battlefields, seashores and historic sites the Park Service runs. Returns each one's description, hours, entrance fees, contacts, directions, photos, weather notes, and the activities and topics it is tagged with. Picking one park is how a single park is looked up; the API has no separate 'get park' endpoint.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return parks in. Defaults to name, A-Z. 'Best match' only means anything alongside a search term.One of: fullName (Name (A-Z)), -fullName (Name (Z-A)), parkCode (Park code (A-Z)), -parkCode (Park code (Z-A)), -relevanceScore (Best match for the search term first).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
parkslist
Parks, each with its code, description, hours and fees
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "parks": [
    {
      "activities": [
        {
          "id": "09DF0950-D319-4557-A57E-04CD2F63FF42",
          "name": "Hiking"
        }
      ],
      "description": "On March 1, 1872, Yellowstone became the first national park for all to enjoy the unique hydrothermal wonders.",
      "designation": "National Park",
      "fullName": "Yellowstone National Park",
      "id": "F58C6D24-8D10-4573-9826-65D42B8B83AD",
      "images": [
        {
          "altText": "Grand Prismatic Spring from above",
          "caption": "Grand Prismatic Spring",
          "credit": "NPS / Jacob W. Frank",
          "title": "Grand Prismatic Spring",
          "url": "https://www.nps.gov/common/uploads/structured_data/grand-prismatic.jpg"
        }
      ],
      "latLong": "lat:44.59824417, long:-110.5471695",
      "latitude": "44.59824417",
      "longitude": "-110.5471695",
      "name": "Yellowstone",
      "parkCode": "yell",
      "states": "ID,MT,WY",
      "topics": [
        {
          "id": "0D00073E-CE33-42B5-9E09-C24F5A15C1DC",
          "name": "Geology"
        }
      ],
      "url": "https://www.nps.gov/yell/",
      "weatherInfo": "Yellowstone's weather can vary quite a bit, even in a single day."
    }
  ],
  "start": 0,
  "total_count": 42
}

List parks by activity

Which parks offer which activity. Each record is one activity with every park that offers it: the answer to 'where can I go stargazing', which filtering the park list cannot give.

Inputs

Activitiesidslist
Narrow the results to these activities. Leave empty for all of them.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to name, A-Z.One of: name (Name (A-Z)), -name (Name (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

activitieslist
Activities, each with the parks that offer it
countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "activities": [
    {
      "id": "09DF0950-D319-4557-A57E-04CD2F63FF42",
      "name": "Hiking",
      "parks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ]
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List parks by topic

Which parks cover which topic. Each record is one topic with every park that interprets it: the answer to 'which parks tell the story of the Civil War'.

Inputs

Topicsidslist
Narrow the results to these topics. Leave empty for all of them.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to name, A-Z.One of: name (Name (A-Z)), -name (Name (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
topicslist
Topics, each with the parks that interpret it
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "topics": [
    {
      "id": "0D00073E-CE33-42B5-9E09-C24F5A15C1DC",
      "name": "Geology",
      "parks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ]
    }
  ],
  "total_count": 42
}

List passport stamp locations

Where the Passport To Your National Parks cancellation stamps are kept, and which park each belongs to: the checklist for a passport-stamp trip.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
stamp_locationslist
Stamp locations, each with the parks it belongs to
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "stamp_locations": [
    {
      "id": "9E8D7C6B-5A49-4837-2615-04F3E2D1C0B9",
      "label": "Old Faithful Visitor Education Center",
      "parks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "type": "Visitor Center"
    }
  ],
  "start": 0,
  "total_count": 42
}

List people

The historical figures the parks tell stories about, each with a biography, quick facts, portraits and the parks that interpret them.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
peoplelist
People, each with their biography, quick facts and portraits
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "people": [
    {
      "firstName": "Harry",
      "id": "2F190887-7665-5140-3A2B-1C0D9E8F7A6B",
      "lastName": "Yount",
      "listingDescription": "Yellowstone's first gamekeeper, often called the first park ranger.",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "title": "Harry Yount",
      "url": "https://www.nps.gov/people/harry-yount.htm"
    }
  ],
  "start": 0,
  "total_count": 42
}

List photo galleries

Photo galleries the parks publish, each with how many photographs it holds, the rights granted over them, and the gallery id that 'List gallery photos' takes.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
gallerieslist
Galleries, each with its photo count and usage constraints
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "galleries": [
    {
      "assetCount": 24,
      "description": "Photographs from the park's winter season.",
      "id": "77665514-0322-1100-9E8F-7A6B5C4D3E2F",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "title": "Yellowstone in Winter",
      "url": "https://www.nps.gov/media/photo/gallery.htm?id=77665514"
    }
  ],
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42
}

List places

The individual places inside parks that have their own page on nps.gov (trailheads, historic buildings, overlooks, monuments), each with its coordinates, its full write-up, the amenities on site, and whether it is open to the public.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
placeslist
Places, each with its coordinates, description and amenities
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "places": [
    {
      "id": "5DA1B2C3-4E5F-6071-8293-A4B5C6D7E8F9",
      "latitude": "44.5251",
      "listingDescription": "The largest hot spring in the United States.",
      "longitude": "-110.8382",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "title": "Grand Prismatic Spring",
      "url": "https://www.nps.gov/places/grand-prismatic-spring.htm"
    }
  ],
  "start": 0,
  "total_count": 42
}

List road events

Closures, delays and roadwork on park roads, as mapped features with the stretch of road each affects, when it starts and ends, and what it does to traffic. Choose incidents for unplanned trouble, work zones for planned roadwork, or leave the type empty for both. This endpoint returns the whole feed for the parks asked for, so it does not page.

Inputs

Parkspark_codeslist
Which parks' roads to report on. Leave empty for every park that publishes a road feed.
Kind of eventroad_event_typetext
Narrow to unplanned incidents or to planned work zones. Leave empty for both.One of: incident (Incidents (unplanned closures and delays)), workzone (Work zones (planned roadwork)).

Outputs

countnumber
How many road events were returned
feed_infoobject
Who publishes the feed and when it was updated
road_eventslist
Road closures, delays and work zones as GeoJSON features
Example output
{
  "count": 1,
  "feed_info": {
    "publisher": "National Park Service",
    "update_date": "2026-08-26T14:02:00Z",
    "update_frequency": 300,
    "version": "4.2"
  },
  "road_events": [
    {
      "geometry": {
        "coordinates": [
          [
            -110.6969,
            44.9766
          ],
          [
            -110.6832,
            44.9701
          ]
        ],
        "type": "LineString"
      },
      "properties": {
        "Id": "36856bd9-bccd-34b6-452c-4384c3dc9277",
        "core_details": {
          "description": "Expect a single lane of traffic with delays.",
          "direction": "westbound",
          "event_type": "work-zone",
          "name": "Traffic Delays - Gardner River High Bridge"
        },
        "end_date": "2026-11-01T05:59:59Z",
        "start_date": "2026-04-01T06:00:00Z",
        "types_of_work": [
          {
            "type_name": "barrier-work"
          }
        ],
        "vehicle_impact": "alternating-one-way"
      },
      "type": "Feature"
    }
  ]
}

List things to do

The Park Service's own suggestions of what to do in a park, each with the season and time of day it suits, how long it takes, what it costs, whether it needs a reservation, whether pets are allowed, and how accessible it is.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Thing-to-do IDsidslist
Look up specific suggestions by id. Leave empty for every one that passes the other filters.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return things to do in. Defaults to most recently updated first; 'best match' only means anything alongside a search term.One of: -relevanceScore (Best match for the search term first).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
things_to_dolist
Suggested activities, each with its season, duration and fees
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "things_to_do": [
    {
      "duration": "2-4 Hours",
      "id": "7A6B5C4D-3E2F-1908-8776-6D5E4F3A2B1C",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "shortDescription": "A level walk to a 200-foot waterfall.",
      "title": "Hike the Fairy Falls Trail",
      "url": "https://www.nps.gov/thingstodo/hike-fairy-falls.htm"
    }
  ],
  "total_count": 42
}

List topics

The topic vocabulary (the Civil War, volcanoes, civil rights, night skies) with the id each is referred to by. These are the ids the topic filters elsewhere take.

Inputs

Topicsidslist
Narrow the results to these topics. Leave empty for all of them.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to name, A-Z.One of: name (Name (A-Z)), -name (Name (Z-A)).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
topicslist
Topics, each with its id and name
total_countnumber
Records matching in all, across every page
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "topics": [
    {
      "id": "0D00073E-CE33-42B5-9E09-C24F5A15C1DC",
      "name": "Geology"
    }
  ],
  "total_count": 42
}

List tours

Self-guided tours, each with its ordered stops, what makes each stop worth seeing, directions from one to the next, and the narration audio and transcript where a park recorded them.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Tour IDsidslist
Look up specific tours by id. Leave empty for every tour that passes the other filters.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to the order the parks display them in. 'Best match' only means anything alongside a search term.One of: name (Name (A-Z)), -name (Name (Z-A)), parkCode (Park code (A-Z)), -parkCode (Park code (Z-A)), -relevanceScore (Best match for the search term first).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
tourslist
Tours, each with its ordered stops and narration
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42,
  "tours": [
    {
      "description": "A walking tour of the world's densest geyser field.",
      "durationMax": "120",
      "durationMin": "60",
      "durationUnit": "minutes",
      "id": "6B5C4D3E-2F19-0887-7665-5E4F3A2B1C0D",
      "park": {
        "designation": "National Park",
        "fullName": "Yellowstone National Park",
        "name": "Yellowstone",
        "parkCode": "yell",
        "states": "ID,MT,WY",
        "url": "https://www.nps.gov/yell/"
      },
      "stops": [
        {
          "assetName": "Old Faithful",
          "assetType": "Place",
          "id": "1",
          "ordinal": "1",
          "significance": "The park's most predictable large geyser."
        }
      ],
      "title": "Upper Geyser Basin Tour"
    }
  ]
}

List videos

Video the parks publish, each with its transcript, its caption files, an audio-described version and an ASL version where they exist, and a downloadable file at every resolution.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
videoslist
Videos, each with its transcript, captions and files
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42,
  "videos": [
    {
      "description": "A short film about the park's quietest season.",
      "durationMs": 187000,
      "hasOpenCaptions": true,
      "id": "87766551-4032-2110-0D9E-8F7A6B5C4D3E",
      "permalinkUrl": "https://www.nps.gov/media/video/winter-in-yellowstone.htm",
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "title": "Winter in Yellowstone"
    }
  ]
}

List visitor centers

Visitor centers and contact stations, with their standard hours and holiday exceptions, addresses, phone numbers, directions, amenities, and whether they hold a passport stamp.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Sort bysorttext
The order to return records in. Defaults to the order the parks display them in. 'Best match' only means anything alongside a search term.One of: name (Name (A-Z)), -name (Name (Z-A)), parkCode (Park code (A-Z)), -parkCode (Park code (Z-A)), -relevanceScore (Best match for the search term first).
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
visitor_centerslist
Visitor centers, each with its hours, contacts and directions
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42,
  "visitor_centers": [
    {
      "description": "Exhibits explain the hydrothermal features of Yellowstone.",
      "id": "B0F1D24C-1DD8-B71B-0B67B0F2C1E2A3D4",
      "name": "Old Faithful Visitor Education Center",
      "parkCode": "yell",
      "url": "https://www.nps.gov/yell/planyourvisit/visitorcenters.htm"
    }
  ]
}

List webcams

Park webcams, with the still image each publishes, whether it is a live stream, and whether it is working right now, so a workflow can post this morning's view of a summit rather than a dead link.

Inputs

Parkspark_codeslist
Narrow the results to these parks. Pick as many as you like, or leave empty for every park the Park Service runs.
Statesstate_codeslist
Narrow the results to parks in these states, districts or territories. Leave empty for all of them.One or more of: AL (Alabama), AK (Alaska), AZ (Arizona), AR (Arkansas), CA (California), CO (Colorado), CT (Connecticut), DE (Delaware), DC (District of Columbia), FL (Florida), and 46 more.
Webcam IDsidslist
Look up specific webcams by id. Leave empty for every webcam that passes the other filters.
Search forquerytext
Only return records matching this term. Leave empty to browse everything that passes the other filters.
Number of recordslimitnumber
How many records to return, 1-500. Defaults to 50.From 1 to 500. Default: 50.
Skipstartnumber
How many records to skip before the first one returned; use the 'next_start' from a previous run to read the next page. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
Records on this page
has_moretrue/false
Whether another page follows
limitnumber
Page size that was requested
next_startnumber
Value of 'start' that reads the next page, or null at the end
startnumber
Records skipped before this page
total_countnumber
Records matching in all, across every page
webcamslist
Webcams, each with its images, status and the parks it watches
Example output
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_start": 50,
  "start": 0,
  "total_count": 42,
  "webcams": [
    {
      "description": "A live view of Old Faithful.",
      "id": "8F7E6D5C-4B3A-2918-0716-5E4D3C2B1A09",
      "isStreaming": true,
      "relatedParks": [
        {
          "designation": "National Park",
          "fullName": "Yellowstone National Park",
          "name": "Yellowstone",
          "parkCode": "yell",
          "states": "ID,MT,WY",
          "url": "https://www.nps.gov/yell/"
        }
      ],
      "status": "Active",
      "title": "Old Faithful Geyser Streaming Webcam",
      "url": "https://www.nps.gov/yell/learn/photosmultimedia/webcams.htm"
    }
  ]
}

On this page