Overview

The Recreation Information Database (RIDB) is a comprehensive data platform maintained by the U.S. federal government, designed to centralize and disseminate information about outdoor recreation opportunities across federal lands. Established in 1999, RIDB provides a standardized way to access data on recreation sites, facilities, activities, events, and permits. This includes details from various agencies such as the National Park Service, U.S. Forest Service, and Bureau of Land Management, among others. The primary interface for developers is the RIDB API, which offers programmatic access to this extensive dataset.

The RIDB API is built for developers and technical users who need to integrate public land recreation data into their own applications, websites, or research projects. It is particularly well-suited for building specialized recreation-focused applications, such as trail finders, camp reservation systems, or outdoor activity planners. Academic researchers can utilize the data for studies on outdoor recreation trends, land use, and public engagement with natural resources. Government agencies also leverage RIDB for data sharing and to enhance their own public-facing services.

RIDB's data model encompasses a broad spectrum of recreation information. Users can query for specific sites, such as national parks or campgrounds, and retrieve detailed information including amenities, operating hours, contact details, and geographical coordinates. The API also allows for filtering by activities (e.g., hiking, fishing, camping), ensuring that developers can tailor data retrieval to specific user interests. All access to the RIDB API is provided free of charge, making it an accessible resource for a wide range of projects, from independent development to large-scale government initiatives.

For geographical data presentation, developers often combine RIDB data with mapping APIs. For example, a mapping service like ArcGIS Online can be used to visualize recreation sites retrieved from RIDB on an interactive map. This combination allows for the creation of rich user experiences that blend detailed recreation information with spatial context. The API requires an API key for access, which helps manage usage and ensures data integrity, while maintaining its status as a public good for the benefit of developers and the public alike.

Key features

  • Comprehensive Recreation Data: Access information on over 20,000 U.S. federal recreation sites, facilities, and activities from multiple agencies (RIDB API documentation).
  • RESTful API Endpoints: Utilize standard HTTP methods (GET) for querying data, making it compatible with various programming languages and environments.
  • Geospatial Querying: Filter recreation sites and facilities by geographic coordinates, enabling location-based application development.
  • Activity-Based Filtering: Search for recreation opportunities based on specific activities such as hiking, camping, boating, or fishing.
  • Facility and Site Details: Retrieve detailed information including amenities, operating hours, directions, and contact information for individual recreation locations.
  • Event Data: Access data on scheduled events at recreation sites, allowing for dynamic content in applications.
  • Permit Information: Query information related to permits and reservations, useful for building booking or planning tools.
  • Free Public Access: All API access is provided without cost, supporting public and commercial initiatives.

Pricing

The Recreation Information Database API provides free access to all its data and functionalities. There are no charges for API calls, data retrieval, or any usage tiers. Users are required to obtain an API key for access, but this key is provided without cost.

Service Level Cost Notes As Of (2026-05-28)
All API Access Free Requires an API key, no usage limits specified. RIDB API Documentation

Common integrations

  • Mapping Services: Integrate with mapping platforms like ArcGIS Online or Mapbox to visualize recreation sites and activities on interactive maps.
  • Geocoding APIs: Combine with geocoding services, such as the Google Maps Geocoding API, to convert addresses or place names into geographic coordinates for spatial queries.
  • Weather Data APIs: Enhance recreation planning applications by integrating current and forecast weather conditions relevant to recreation sites.
  • Booking and Reservation Systems: Connect with third-party booking platforms or build custom reservation features for sites requiring permits or reservations.
  • Data Visualization Tools: Export and visualize RIDB data using business intelligence or data visualization software for analytical purposes.

Alternatives

  • Mapbox: A platform for custom maps, location search, and navigation. While not a direct recreation data source, it provides foundational mapping capabilities often used in conjunction with RIDB.
  • OpenStreetMap: A collaborative project to create a free editable map of the world. It contains a wealth of geographical data, including trails and points of interest, contributed by a global community.
  • ArcGIS Online: A cloud-based mapping and analytics platform from Esri, offering extensive geospatial data, tools, and APIs for building location-aware applications.

Getting started

To begin using the Recreation Information Database API, you first need to obtain an API key from the official RIDB website. Once you have your key, you can make HTTP GET requests to the various endpoints provided in the RIDB API reference. The following Python example demonstrates how to retrieve a list of recreation areas.

import requests
import json

# Replace with your actual RIDB API key
API_KEY = "YOUR_RIDB_API_KEY"
BASE_URL = "https://ridb.recreation.gov/api/v1/"

headers = {
    "apikey": API_KEY,
    "Accept": "application/json"
}

def get_recreation_areas(query=None, limit=5):
    endpoint = f"{BASE_URL}recareas"
    params = {
        "limit": limit
    }
    if query:
        params["query"] = query
    
    try:
        response = requests.get(endpoint, headers=headers, params=params)
        response.raise_for_status()  # Raise an HTTPError for bad responses (4xx or 5xx)
        data = response.json()
        return data
    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {e}")
        return None

# Example usage: Get 3 recreation areas containing "National Park"
print("Fetching recreation areas containing 'National Park'...")
areas_data = get_recreation_areas(query="National Park", limit=3)

if areas_data and areas_data.get("RECDATA"):
    for area in areas_data["RECDATA"]:
        print(f"  Name: {area.get('RecAreaName')}")
        print(f"  ID: {area.get('RecAreaID')}")
        print(f"  Description: {area.get('RecAreaDescription', '')[:100]}...")
        print("  ---")
else:
    print("No recreation areas found or an error occurred.")

# Example usage: Get 2 general recreation areas
print("\nFetching 2 general recreation areas...")
general_areas = get_recreation_areas(limit=2)

if general_areas and general_areas.get("RECDATA"):
    for area in general_areas["RECDATA"]:
        print(f"  Name: {area.get('RecAreaName')}")
        print(f"  ID: {area.get('RecAreaID')}")
        print("  ---")
else:
    print("No general recreation areas found or an error occurred.")

This Python script defines a function get_recreation_areas that sends a GET request to the /recareas endpoint of the RIDB API. It includes basic error handling and demonstrates how to parse the JSON response. Remember to replace "YOUR_RIDB_API_KEY" with the actual key you obtain from the RIDB documentation. The query parameter allows you to filter results by name, while limit controls the number of records returned.