Recreation.gov Permit & Campsite Live Tracker avatar

Recreation.gov Permit & Campsite Live Tracker

Pricing

from $2.50 / 1,000 permit / facility month checks

Go to Apify Store
Recreation.gov Permit & Campsite Live Tracker

Recreation.gov Permit & Campsite Live Tracker

Get real-time booking and permit availability for highly sought-after campsites and wilderness routes on Recreation.gov. Build your own notification bots, automated booking triggers, or availability dashboards without dealing with complex browser scrapers.

Pricing

from $2.50 / 1,000 permit / facility month checks

Rating

0.0

(0)

Developer

Wouter Peters

Wouter Peters

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Recreation.gov Campsite & Permit Live Availability Tracker

Get real-time booking and permit availability for highly sought-after campsites and wilderness routes on Recreation.gov. Build your own notification bots, automated booking triggers, or availability dashboards without dealing with complex browser scrapers.


๐Ÿš€ Key Features

  • Campground Availability: Scrapes month-by-month occupancy status for any campground facility by its ID (e.g., Watchman Campground in Zion, Yosemite campgrounds). This is the fully verified core of the actor.
  • Wilderness Permit Tracking (Experimental / Beta): Checks availability for Inyo-style permit zones (e.g., Mount Whitney, Inyo National Forest). Field mapping for the permit feed is provisional and not yet confirmed against every live permit endpoint โ€” treat permit output as beta and validate against your target zone before relying on it.
  • Zero Browser Overhead: Directly queries the public JSON API endpoints. Fast, lightweight, and uses minimal compute memory (runs comfortably on 128MB).
  • 100% Public Data & Privacy First: Requires no login credentials, cookies, proxies, or account creation. Your personal data is never requested.

๐Ÿ’ณ Pay-Per-Event (PPE) Pricing

This actor is monetized using Apify's Pay-Per-Event (PPE) pricing plan. You are charged only for the actual data checked, not for idle execution time.

Event NamePrice (USD)Charged UnitNotes
apify-actor-start$0.00005Per actor run startSynthetic start fee, managed by Apify
permit-month-check$0.0025Per facility/permit check for a single calendar monthOnly $2.50 per 1,000 checks

[!NOTE] If you query 1 campground for 2 different months, it counts as 2 check events ($0.0050 total). The default Apify dataset items are unpriced to avoid double charging.


๐Ÿ”’ Security & Compliance

We take platform compliance and security seriously:

  • No Login Walls: The actor strictly accesses open public availability feeds. We never bypass authentication screens, Captchas, or account dashboards.
  • Credential Safe: The actor will automatically reject inputs containing fields like cookie, session, password, or proxy to prevent accidental credential leakage.
  • Takedown Enforcement: Includes a hardcoded compliance switch. In the event of a platform takedown request or maintenance, the actor can be set offline immediately by setting disableForTakedown: true or the environment variable RECREATION_GOV_ACTOR_OFFLINE=1.

๐Ÿ“ฅ Input Schema

Configure the actor by listing the campgrounds or permit zones you wish to scan.

{
"targets": [
{
"checkType": "campground-month",
"facilityId": "232447",
"name": "Watchman Campground",
"months": [
"2026-08"
]
}
],
"disableForTakedown": false
}

Input Fields:

  • targets (Array, Required): List of target locations to check.
    • checkType (String, Required): Either campground-month or permit-inyo-month.
    • facilityId (String): The campground facility ID (e.g., "232447"). Required if checkType is campground-month.
    • permitId (String): The permit zone ID. Required if checkType is permit-inyo-month.
    • name (String, Optional): A friendly name for logging and output identification.
    • months (Array of Strings, Required): Months to check in YYYY-MM format (e.g., ["2026-08"]).
  • disableForTakedown (Boolean, Optional): Emergency override flag. Defaults to false.

๐Ÿ“ค Output Format

Each calendar month check produces a detailed dataset record. Below is an example:

{
"targetId": "232447",
"targetName": "Watchman Campground",
"checkType": "campground-month",
"month": "2026-08",
"checkedAt": "2026-07-05T00:00:00.000Z",
"success": true,
"source": "recreation.gov-public-api",
"sourceUrl": "https://www.recreation.gov/api/camps/availability/campground/232447/month?start_date=2026-08-01T00%3A00%3A00.000Z",
"totalDateCount": 31,
"availableDateCount": 3,
"bookableDateCount": 3,
"availability": [
{
"date": "2026-08-01",
"statuses": ["Available"],
"available": true,
"bookable": true,
"availableCampsiteCount": 3,
"bookableCampsiteCount": 3,
"availableCampsites": [
{
"campsiteId": "9876",
"name": "B-12",
"status": "Available"
}
]
}
],
"ppeEventName": "permit-month-check",
"compliance": {
"publicDataOnly": true,
"noLoginBypass": true,
"takedownPolicy": "direct-offline"
}
}

[!NOTE] The availability array is abbreviated above for readability. It contains one entry per date returned by the Recreation.gov feed for that month, and totalDateCount equals the number of those dated entries โ€” not necessarily every calendar day (a facility may not publish data for every day). availableDateCount / bookableDateCount count the dated entries where at least one site is available / bookable.


๐Ÿ› ๏ธ Developer & Integration

Integrate this actor directly into your notification webhooks (Discord, Slack, SMS via Twilio) or database ingest systems using the Apify API. Since the output JSON is standardized, mapping availability changes is straightforward.