Recreation.gov Scraper [$5/1K💰] | Campsites | Availability avatar

Recreation.gov Scraper [$5/1K💰] | Campsites | Availability

Pricing

from $4.80 / 1,000 results

Go to Apify Store
Recreation.gov Scraper [$5/1K💰] | Campsites | Availability

Recreation.gov Scraper [$5/1K💰] | Campsites | Availability

Scrape recreation.gov campgrounds and campsites with nightly fees, amenities, occupancy limits and month-by-month availability calendars. Power campsite alerts, trip planners and camping research.

Pricing

from $4.80 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

Share

Recreation Scraper

Scrape recreation.gov campgrounds and campsites — nightly fees, amenities, occupancy limits and month-by-month availability calendars — for national parks, forests, BLM land and Army Corps facilities across the United States.

Power Campsite Alerts, Trip Planners And Camping Market Research

  • Power campsite-alert services with real available / reserved / closed calendars
  • Build trip-planning and van-life apps on federal campground inventory
  • Compare nightly fees, hookups and rig limits across parks and states
  • Monitor cancellations and released sites for high-demand campgrounds
  • Build a camping market dataset for travel research or resale

How It Works

How the Recreation Scraper turns a park, state or campground ID into a dataset of campsites with fees, amenities and monthly availability.

The Actor collects publicly available recreation.gov campground, campsite and permit data and normalizes it into one schema. Provide a search term, state or campground ID; it reads the published facility pages and availability calendars, then writes one row per campsite or permit division.

  • searchQuery, state or campgroundIds starts the run.
  • includeAvailability adds month-by-month available, reserved and closed dates.
  • entityType selects campgrounds, permits or both.

Each row is one campsite (or one permit division in permit mode) with park, agency, location, site type, occupancy, rig limits, amenities, fee range, rate seasons, availability dates and booking links. Export as JSON, CSV or Excel, or read it through the Apify API.

Scrape recreation.gov Campsites And Nightly Fees

Discovery accepts three input styles, and at least one is required:

  • searchQuery — a keyword such as Acadia, Yosemite or beach camping
  • state — a two-letter code (CA) or full name (California)
  • campgroundIds — facility IDs such as 232508 or full recreation.gov URLs; this skips discovery entirely

entityType selects what to scrape: campground (default), permit for wilderness permits and entry-quota availability, or both. maxCampgrounds defaults to 10 and caps at 500; maxCampsitesPerCampground defaults to 300 and caps at 2,000.

Track Campsite Availability Calendars

includeAvailability is on by default. monthsAhead controls how many calendar months are fetched, from 1 to 12, starting with the current month.

  • availableDates — days the site can be booked
  • reservedDates — days already booked
  • closedDates — days that are not bookable: seasonal closure, outside the reservation window, or not yet released. recreation.gov does not distinguish these cases in its published calendar.
  • quotaAvailability — permit mode only: per division and quota type, remaining and total quota per day

Availability is fetched once per campground per month and then mapped onto every site, so a 1,000-campsite run stays cheap.

Input

FieldTypeRequiredDefaultNotes
campgroundIdsarray of stringsNo—Facility IDs (232508) or recreation.gov URLs. Skips discovery.
searchQuerystringNo—Keyword discovery, e.g. Acadia, Yosemite, beach camping.
statestringNo—Two-letter code (CA) or full name (California).
entityTypestringNocampgroundcampground, permit or both.
includeAvailabilitybooleanNotrueFetch day-by-day calendars for every campsite.
monthsAheadintegerNo1Calendar months to fetch, starting with the current month. 1–12.
maxCampgroundsintegerNo10Maximum campgrounds (or permits) per run. 1–500.
maxCampsitesPerCampgroundintegerNo300Cap on campsites returned per campground. 1–2,000.
proxyobjectNo—Standard Apify proxy configuration. Off by default.

At least one of campgroundIds, searchQuery or state must be provided.

Output

One row per campsite, or one row per permit division in permit mode.

FieldDescription
recordTypecampsite or permit division record.
campgroundId, campgroundNamerecreation.gov facility ID and name.
parkParent recreation area or park, e.g. Acadia National Park.
agencyManaging agency, e.g. National Park Service or USDA Forest Service.
state, city, latitude, longitudeLocation of the campground or site.
campsiteId, siteNumber, loopSite identity and loop.
siteType, siteTypeCategoryRaw type (TENT ONLY NONELECTRIC) and normalized category (Tent / RV / Cabin / Group / Standard).
maxOccupancy, minOccupancy, maxVehiclesOccupancy limits.
maxVehicleLengthFt, permittedEquipmentRig length per equipment type.
amenities, attributesSite amenities and the full attribute map.
nightlyFeemin, max, currency, perUnit from the published price range.
rateSeasonsSeason types and date ranges attached to the rate table.
availabilityPer month: availableDates, reservedDates, closedDates plus counts.
quotaAvailabilityPermit mode: per-division, per-quota-type remaining and total quota per day.
bookingUrl, campgroundUrlDirect recreation.gov links.

Example Input

{
"searchQuery": "Acadia",
"state": "ME",
"includeAvailability": true,
"monthsAhead": 2,
"maxCampgrounds": 3,
"maxCampsitesPerCampground": 50
}

Example Output

{
"recordType": "campsite",
"campgroundId": "272299",
"campgroundName": "Cottonwood Campground",
"park": "Joshua Tree National Park",
"agency": "National Park Service",
"state": "CA",
"city": "Indio",
"latitude": 33.75,
"longitude": -115.825,
"campsiteId": "103759",
"siteNumber": "B27",
"siteType": "STANDARD NONELECTRIC",
"siteTypeCategory": "Standard",
"maxOccupancy": 6,
"maxVehicles": 2,
"maxVehicleLengthFt": 45,
"amenities": ["Picnic Table", "Fire Ring", "BBQ"],
"nightlyFee": { "min": 35, "max": 35, "currency": "USD", "perUnit": "night" },
"availability": {
"2026-11": {
"availableCount": 6,
"reservedCount": 24,
"closedCount": 0
}
},
"bookingUrl": "https://www.recreation.gov/camping/campsites/103759",
"campgroundUrl": "https://www.recreation.gov/camping/campgrounds/272299"
}

Schedule Campsite Monitoring And Integrations

  • Cancellation alerts — run hourly or daily for a shortlist of campground IDs and diff availableDates between runs.
  • Season opening — run monthly with monthsAhead: 12 to catch newly released inventory.
  • Webhooks — send new availability to Slack, email, a dashboard or a booking workflow through the Apify API, webhooks, Zapier or Make.
  • Scheduling — availability changes constantly in peak season; a scheduled run is more useful than a one-off export.

FAQ

Why use this Actor instead of the official recreation.gov API?

The official RIDB API is keyed, rate-limited and focused on facility reference data; it does not return the live day-by-day campsite calendar shown on recreation.gov. This Actor collects the public campground and availability data that the site shows to any visitor, normalizes the statuses and maps the calendar onto every campsite in one run.

What are the alternatives to this Actor?

lexis-solutions/recreation-gov-scraper covers listings and facilities, lulzasaur/recreation-gov-scraper focuses on availability by date, hikemetrics/recreation-gov-permit-tracker targets permits, and steadfetch/recreation-gov-campground-extractor returns campground records. This Actor combines campsite inventory, fees and multi-month calendars in one dataset.

What does closedDates mean?

A closed day is not bookable. It can be a seasonal closure, a date outside the reservation window, or inventory that has not been released yet. recreation.gov does not distinguish those cases in its published calendar, so the Actor reports them all as closed rather than guessing.

Can I scrape permits and timed entry?

Yes. Set entityType to permit or both. Permit mode returns one record per division with quotaAvailability: remaining and total quota per quota type per day.

Why do some campsites show every day as closed?

Seasonal campgrounds and sites that are not yet released come back with the whole month closed. That is the source's real state, not an error.

Does this need a login or proxy?

No. The public pages used here require no account, cookie or CAPTCHA. A proxy is optional and only useful if you run very high volume from one IP.

For AI Agents & LLM Apps

Returns recreation.gov campsites with fees, amenities and monthly availability calendars as one row per campsite.

Minimal input:

{ "searchQuery": "Acadia", "state": "ME", "maxCampgrounds": 1 }

Direct facility lookup:

{ "campgroundIds": ["232508"], "monthsAhead": 2 }

Permit availability:

{ "searchQuery": "Half Dome", "entityType": "permit", "monthsAhead": 2 }

Output fields: recordType, campgroundId, campgroundName, park, agency, state, city, latitude, longitude, campsiteId, siteNumber, loop, siteType, siteTypeCategory, maxOccupancy, minOccupancy, maxVehicles, maxVehicleLengthFt, permittedEquipment, amenities, attributes, nightlyFee, rateSeasons, availability, quotaAvailability, bookingUrl, campgroundUrl.

Behaviors an agent should know:

  • At least one of campgroundIds, searchQuery or state must be set; otherwise the run has nothing to discover.
  • campgroundIds skips search entirely and is the most predictable mode.
  • includeAvailability: false returns inventory and fees without calendars and is much cheaper.
  • closedDates includes seasonal closures, dates outside the booking window and unreleased inventory.
  • maxCampsitesPerCampground caps rows per campground, not per run.
  • Billing: $0.005 per campsite record plus the one-time Actor start event; free users receive the first 10 records.

This Actor is independent and is not affiliated with, endorsed by, or sponsored by recreation.gov, the National Park Service, the USDA Forest Service, the Bureau of Land Management or the US Army Corps of Engineers. It collects only publicly visible recreation.gov pages and availability data and does not log in, hold a reservation, bypass a CAPTCHA or modify any booking. The data describes public federal facilities and does not contain personal information. You are responsible for complying with recreation.gov's Terms of Use and with applicable law when you republish or commercialize the data.

SEO Keywords

recreation.gov scraper, campsite availability api, recreation.gov campsites, campground availability data, campsite alert data, national park campgrounds, recreation.gov api, campsite fees, campground dataset, camping market research, rv campground data, tent campsite data, recreation.gov permits, timed entry availability, campsite booking data, federal campgrounds, campsite monitoring, campground scraper, recreation.gov campground ids