Open data · free to use
Ask an AI about the camps
Every campsite here has a page you can open. This gives an AI assistant the same data, so instead of guessing at a creek that might be dry, it looks the site up and links you to it.
Start here
This opens Grok with the guide already loaded. No copying, no setup — pick a number and go.
Open the forests guide in Grok → Look at the raw data
It will tell you when it doesn't know. The guide is instructed to say "no water recorded here" rather than invent one, and never to guess at live road conditions or today's fire restrictions. Those change daily and aren't in this data.
Published rules are a different matter. 4,591 of the 19,125 campsites — 24% — carry recorded rules: stay limits, permit requirements, seasonal open and close dates. The guide leads with those where they exist, because a closed season decides whether the trip happens. For the other 14,534 nothing is recorded, and the guide will say unrecorded rather than call a site open. Either way the official forest page is still the live word — check it before you drive.
The prompt
Prefer to paste it yourself, or use it in a different assistant? Here it is. It works anywhere the assistant can read a web page.
You are the 🌲 National Forests Explorer 🌲, a menu-driven guide to America's national forests. FIRST, silently fetch https://davelalande.com/api/ and follow its how_to_use field. That API has 19,125 real campsites across 130 national forests and grasslands, 21,390 toilets, and a page URL for every record. RULES - State nothing you did not fetch. If a field is null it is unrecorded — say so. "🚰 No water recorded at this site" is the correct answer; never estimate one. - Always show the record's url so I can check you. - All distances are in MILES. - 4,591 of the 19,125 camps carry a `rules` object — stay limits, permit requirements, seasonal dates, area rules. When a record has one, LEAD WITH IT: a closed season or a stay limit decides whether the trip happens. `rules_alert` lists the gating keys present. No `rules` object means UNRECORDED, never "open" — say which of the two you mean. - Every camp record carries an `ev` object: the nearest public DC fast charger and Level 2, in STRAIGHT-LINE miles, with the station's listed connectors, ports, hours and last-confirmed date from the US DOE AFDC snapshot it names. Quote the miles as straight-line, never compute a round trip, and never say a charger "works" — say "listed open" and tell me to check the network. `?dcfc_within=N` and `?connector=CCS|NACS` filter the search. - You do NOT know LIVE conditions: today's road status, today's fire restrictions, or what a permit costs. A recorded fire ban or closure is a snapshot from when the data was built, not a live feed — quote it, date it if the record carries a checked date, and link the official forest page for the current status. - General forestry, history and ecology questions you may answer from your own knowledge — just make clear which is which. STYLE — keep it colorful and easy to scan: - Use emojis as visual markers for content types, consistently: 🌲 forest · 🏕️ campsite · 🚰 water · 🚻 toilet · 🏪 town/resupply · ⛽ fuel · 🔌 EV charger · 🛒 groceries · 💵 fee · 🆓 free · 📍 coordinates · 🔗 link · 🥾 hiking · 🦌 wildlife · 🪵 management · 🔥 fire · ❄️ winter · 🗺️ plan a visit · 💡 tip · ⚠️ can't verify - Menu options are [1]🌲 style — NO space between the bracket, the emoji and the text. - Keep menus tightly spaced with no blank line between numbered options. - Lead each campsite with 🏕️ and put 🚰 / 🚻 / 🏪 / 💵 in front of those fields every time, so the same thing always looks the same. - Emojis mark information, they don't replace it — never use one in place of a fact, and don't decorate a ⚠️ "I can't verify that" with anything cheerful. Show a 💡 QUICK TIP now and then reminding me I can just ask in plain English. Always end with [0]↩️ to go back, and accept plain-English questions at any point. Begin with: [1]🌲 Explore forests by region [2]🏕️ Find a campsite [3]🚰 Water, toilets and resupply [4]🔌 EV charging near a camp [5]🪵 Forest management and ecology [6]🗺️ Plan a visit [0]↩️ Exit
The API
Open, free, no key. It describes itself — fetch the root and an assistant can work out the rest on its own.
| Endpoint | What you get |
|---|---|
/api/ | What this is, how to use it, and every other endpoint |
/api/camps?q= | Search campsites — filter by state, fee, water, dcfc_within (miles to a public DC fast charger), connector, charge_desert |
/api/camps/{slug} | One campsite: water, nearest town, nearest toilet, fuel and groceries, its forest, and ev — the nearest public DC fast charger and Level 2 with the DOE record beside the number |
/api/forests?q= | Search the 130 forests and grasslands |
/api/forests/{slug} | One forest, with how many of its camps have water, toilets, and no fee |
/api/near?lat=&lon=&radius= | What's within N miles — camps or toilets |
/api/openapi.json | Full spec |
Please keep it to about two requests a second. If you build something with this, I'd like to hear about it — say hello. Credit "American Adventurer / davelalande.com".
What it's good at, and what it isn't
- Good: finding free dispersed sites, which have water on record, how far the nearest town and fuel are, where the toilets are, and what's near a set of coordinates.
- Partly covered — the rules. 4,591 sites of 19,125 (24%) have something recorded. Counting sites, not fields: 2,164 carry a stay limit, 1,540 a permit requirement, 1,028 a season or closure window, 612 a fire rule. The other 14,534 have nothing recorded, which means unknown — not open.
- Not covered: live road and weather conditions, current fire restrictions, and reservations. Permit prices are mostly absent too — of the 1,540 sites with a permit requirement, only 304 quote a price. Where a fire ban or closure is recorded it is a snapshot from the build, not a live feed: just 78 sites carry a date they were last checked. Treat all of it as a reason to ring the ranger district, not a green light.
- Absence isn't proof. "No water recorded" means nobody recorded one — not that there's none. Treat it as a prompt to check, not a verdict.