home / skills / openclaw / skills / ridb-search

ridb-search skill

/skills/seanrea/ridb-search

This skill helps you locate nearby campgrounds and recreation facilities by location or coordinates using RIDB data for planning trips.

npx playbooks add skill openclaw/skills --skill ridb-search

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
2.2 KB
---
name: ridb-search
description: Search the Recreation Information Database (RIDB) for campgrounds and recreation facilities near a location. Use when finding campgrounds, recreation areas, or federal facilities by location/radius. Supports geocoding (city names) and lat/lon coordinates.
---

# RIDB Search

Search recreation.gov's database for campgrounds and facilities near a location.

## Setup

Requires a free RIDB API key:
1. Go to https://ridb.recreation.gov/profile
2. Sign up and generate an API key
3. Set environment variable: `export RIDB_API_KEY=your_key_here`

## Usage

Search by location name (auto-geocodes):
```bash
python scripts/search.py --location "Bend, OR" --radius 50
python scripts/search.py -l "Yosemite Valley" -r 25 --camping-only
```

Search by coordinates:
```bash
python scripts/search.py --lat 44.0582 --lon -121.3153 --radius 50
```

### Options

| Flag | Description |
|------|-------------|
| `--location, -l` | Location name to geocode (e.g., "Bend, OR") |
| `--lat` | Latitude (use with --lon) |
| `--lon` | Longitude (use with --lat) |
| `--radius, -r` | Search radius in miles (default: 50) |
| `--limit` | Max results (default: 50) |
| `--camping-only` | Filter to camping facilities |
| `--reservable-only` | Filter to reservable facilities |
| `--json` | Output JSON (for programmatic use) |

### Output

Human-readable (default):
```
šŸ“ Geocoded 'Bend, OR' to 44.0582, -121.3153

Found 23 facilities within 50 miles
------------------------------------------------------------

šŸ•ļø  Tumalo State Park
   ID: 234567 | āœ… Reservable
   Org: Oregon State Parks
   URL: https://www.recreation.gov/camping/campgrounds/234567
```

JSON output (`--json`):
```json
{
  "query": {"latitude": 44.0582, "longitude": -121.3153, "radius_miles": 50},
  "total_count": 23,
  "facilities": [
    {
      "id": "234567",
      "name": "Tumalo State Park",
      "reservable": true,
      "url": "https://www.recreation.gov/camping/campgrounds/234567"
    }
  ]
}
```

## Notes

- RIDB contains federal recreation data; some state/private campgrounds may not be listed
- The `id` field is the campground ID used for availability checks on recreation.gov
- Radius is in miles (RIDB native unit)
- Geocoding uses OpenStreetMap/Nominatim (free, no key required)

Overview

This skill searches the Recreation Information Database (RIDB) to find campgrounds, recreation areas, and federal facilities near a given location. It supports geocoding from place names or direct latitude/longitude and returns human-readable summaries or machine-friendly JSON. Use it to locate camping options, filter for reservable or camping-only facilities, and get facility IDs for availability checks.

How this skill works

The skill accepts a location name (auto-geocoded via OpenStreetMap/Nominatim) or latitude/longitude coordinates and queries the RIDB API within a specified radius measured in miles. It can filter results for camping-only or reservable facilities, limit result counts, and output either a readable list or structured JSON with facility IDs, names, reservability, and URLs. An API key for RIDB is required and used to authenticate requests.

When to use it

  • Finding campgrounds or federal recreation facilities near a city or coordinates.
  • Filtering results to only reservable or camping-specific sites before checking availability.
  • Generating a machine-readable list of facility IDs and URLs for automation.
  • Planning trips when you need a quick list of nearby recreation areas within a radius.
  • Integrating location-based campground search into an app or workflow.

Best practices

  • Provide either a clear place name (e.g., 'Yosemite Valley') or precise lat/lon for best results.
  • Set a reasonable radius (default 50 miles) to balance result relevance and count.
  • Use --limit to avoid excessive results if you plan to post-process output.
  • Use JSON output for programmatic workflows; use human-readable output for quick checks.
  • Keep your RIDB API key secure and set it in the environment rather than embedding it.

Example use cases

  • Search campgrounds within 50 miles of 'Bend, OR' and get a readable list of options with IDs and URLs.
  • Auto-geocode 'Yosemite Valley', filter to camping-only facilities, and export JSON for trip planning.
  • Query by coordinates for a backcountry trip basecamp and limit results to the nearest 10 sites.
  • Filter to reservable facilities when you want sites that can be booked via recreation.gov.
  • Integrate into a travel app to display nearby federal recreation areas with direct links.

FAQ

Do I need an API key?

Yes. A free RIDB API key is required to query the database and must be set in your environment.

Can I use place names instead of coordinates?

Yes. Place names are geocoded automatically using OpenStreetMap/Nominatim so you can pass city or park names.