Methodology and sources

Two kinds of content live here: arithmetic on numbers you type, and numbers quoted from official pages. This page covers both, and says plainly what is missing.

1. What a campground record contains

Each record in facilities.json holds the facility name, park, the published length limits, the hookup sentence, dump station, loops, site types, season and reservation window. Every field has a companion *Source key naming which fetched page it came from, and the file's _meta.sources block holds each source's title, URL and, where the page prints one, its own last-updated date. A field the official page does not state is null and renders as "not stated". There are no estimates and no interpolation between sources.

SourceUsed forPage last updatedRetrieved
National Park Service, Yosemite: CampgroundsUpper Pines Campground lengths. North Pines Campground lengths. Lower Pines Campground lengths. Lower Pines Campground hookups. 2026-09-282026-10-16
Recreation.gov: Upper Pines CampgroundUpper Pines Campground hookups. not printed2026-10-16
Recreation.gov: North Pines CampgroundNorth Pines Campground hookups. not printed2026-10-16
Recreation.gov: Watchman CampgroundWatchman Campground lengths. Watchman Campground hookups. not printed2026-10-16
Recreation.gov: Mather CampgroundMather Campground lengths. Mather Campground hookups. not printed2026-10-16
Recreation.gov: Site 214, Loop Upper Pinesnot printed2026-10-16
Recreation.gov: Site A024, Watchman Campgroundnot printed2026-10-16
National Park Service, Zion: Camping2026-06-172026-10-16
National Park Service, Grand Canyon: Trailer Village RV CampgroundTrailer Village RV Campground lengths. Trailer Village RV Campground hookups. 2024-09-052026-10-16
National Park Service, Yellowstone: Fishing Bridge RV Park2025-04-182026-10-16
Yellowstone National Park Lodges (Xanterra, authorized concessioner): Fishing Bridge RV ParkFishing Bridge RV Park lengths. Fishing Bridge RV Park hookups. not printed2026-10-16

Federal pages (nps.gov, recreation.gov) are U.S. Government works. Concessioner pages are quoted briefly with attribution and a link, for the facts they state about their own facility. Where a concessioner and the National Park Service disagree, both are shown.

2. Which campgrounds get a page

A campground page is built only when an official page states a maximum length for the facility as a whole: a maximum RV length, a maximum trailer length, or a maximum combined length. 6 of the 7 campgrounds checked qualify. The others are listed with the reason they do not, so the gap is visible rather than filled. One worked example: Zion's Watchman Campground publishes amperages, loop layout, a dump station and a 19-foot restriction on specific non-electric loops, but no campground-wide maximum RV length on the National Park Service page or the Recreation.gov facility page. A single campsite's 39-foot figure is not a facility limit, so there is no Watchman page.

3. The fit calculator's arithmetic

The fit calculator computes only what you type. The rules, in full:

Our editorial assumptions, each editable in the tool and in no source: a 5 ft safety margin, a 3 ft hitch gap, a 4 ft fifth-wheel bed overlap, a 3 ft tow-bar gap, a 8.5 ft body width and a 3 ft slide depth. They are defaults to replace with your own measurements, not specifications. The 14-foot driveway width in the diagram is a drawing convention so the rig reads as a plan view; almost no official page publishes site width, so width is reported and never judged.

The same module, /js/rigfit.js, runs the build-time diagrams and the browser tool, so a page and the tool can never disagree.

4. What is missing: the RIDB API

Site-level data — the per-site driveway length, max vehicle length, permitted equipment, hookup flags and accessibility attributes that make a real fit finder — comes from the Recreation Information Database (RIDB) API, which requires a personal API key. This site does not have one configured, so no campsite records are published here. Nothing on this site was generated from the RIDB API, and nothing was scraped from Recreation.gov's internal endpoints.

When a key exists it goes in the RIDB_API_KEY environment variable, never in the repository. The plan, written down so it can be checked:

RequestPurposeFields to store
GET /facilities/{facilityId}Confirm the facility a page is about (for example 232447, Upper Pines)FacilityID, FacilityName, FacilityTypeDescription, FacilityLatitude, FacilityLongitude, FacilityPhone, Reservable, LastUpdatedDate
GET /facilities/{facilityId}/campsitesEvery site in the facility, paged with limit and offsetCampsiteID, CampsiteName, CampsiteType, TypeOfUse, Loop, CampsiteAccessible, CampsiteReservable
GET /campsites/{campsiteId}One site's attributes and permitted equipmentATTRIBUTES[].AttributeName / AttributeValue (Driveway Length, Driveway Entry, Driveway Surface, Max Num of Vehicles, Max Vehicle Length, Electricity Hookup, Water Hookup, Sewer Hookup, Site Length, Site Width, Picnic Table, Fire Pit, Shade, Pets Allowed), PERMITTEDEQUIPMENT[].EquipmentName with MaxLength
GET /facilities/{facilityId}/facilityaddressesState and county for regional hubsAddressStateCode, City, PostalCode
GET /facilities with query, activity, limit, offset, lastupdatedDiscover candidate facilities and detect changed records on refreshMETADATA.RESULTS.TOTAL_COUNT for paging; LastUpdatedDate per record

Authentication and base URL are whatever the RIDB documentation specifies at the time the key is issued; the key is sent as RIDB requires rather than being hard-coded in a template here. Registration is at ridb.recreation.gov. Two rules survive the key arriving: per-site figures are stored with the API's own LastUpdatedDate and never averaged into a facility figure, and a Driveway Length of 0 means unmeasured, not zero feet, so it renders as "not measured" and the site gets no verdict.

RIDB does not publish availability. This site will not add an availability feed, because a cached availability number is wrong the moment it is cached.

5. What this site does not do

6. Corrections

If a number here does not match the source quoted beside it, that is a bug. Each record carries its source and retrieval date (2026-10-16, data version 2026-10-16) so any discrepancy can be traced to the page it came from.