Discover/57hours API
live

57hours API57hours.com

Search and book outdoor adventures from 57hours.com by discovering available trips, activity types, and experienced guide information all in one place. Get detailed trip specifics including pricing, itineraries, and guide profiles to find the perfect adventure for your next getaway.

Endpoint health
monitored
get_adventure_details
search_adventures
Checks pendingself-healing
Endpoints
2
Updated
2h ago
Try it
Zero-based page number for pagination.
Free-text search query (e.g. 'hiking', 'ski touring Alps', 'Grand Canyon').
Filter by country name (e.g. 'United States', 'Switzerland', 'Norway'). Case-sensitive, must match the site's country labels.
Filter by activity type (e.g. 'Hiking', 'Rock Climbing', 'Backcountry Skiing', 'Mountain Biking', 'Kiteboarding'). Case-sensitive, must match the site's activity labels. Omit or pass empty string for no activity filter.
Number of results per page (max 100).
api.parse.bot/scraper/532757f4-9311-466c-9a7c-00517749df06/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/532757f4-9311-466c-9a7c-00517749df06/search_adventures?page=0&query=hiking&activity=Hiking&hits_per_page=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace 57hours-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: 57hours Adventures SDK — search listings, drill into details and guides."""
from parse_apis.api_57hours_com_api import FiftySevenHours, AdventureNotFound

client = FiftySevenHours()

# Search for hiking adventures, capped at 5 results
for adventure in client.adventures.search(query="hiking", limit=5):
    print(adventure.name, adventure.location_custom, adventure.price, adventure.currency)

# Drill into the first result to get guide details
adventure = client.adventures.search(query="backcountry skiing", limit=1).first()
if adventure:
    detail = adventure.details()
    print(f"\n{detail.title} — {detail.activity} in {detail.location}")
    print(f"Description: {detail.description}")
    print(f"Guides: {detail.guide_names}")
    for guide in detail.guides[:3]:
        print(f"  {guide.name} | {guide.tagline} | Rating: {guide.rating}")
        print(f"    Bio: {guide.bio[:100]}...")

# Construct an adventure directly by slug and fetch details
known = client.adventure(slug="grand-canyon-guided-backpacking-trip")
try:
    detail = known.details()
    print(f"\n{detail.title}: {len(detail.guides)} guides")
except AdventureNotFound as exc:
    print(f"Adventure not found: {exc.slug}")

print("\nExercised: adventures.search / adventure.details / direct slug construction / error handling")
All endpoints · 2 totalmissing one? ·

Search outdoor adventure listings by keyword, activity type, or country. Returns paginated results with basic listing info including title, price, duration, location, activity, and URL. Results are ordered by relevance to the search query.

Input
ParamTypeDescription
pageintegerZero-based page number for pagination.
querystringFree-text search query (e.g. 'hiking', 'ski touring Alps', 'Grand Canyon').
countrystringFilter by country name (e.g. 'United States', 'Switzerland', 'Norway'). Case-sensitive, must match the site's country labels.
activitystringFilter by activity type (e.g. 'Hiking', 'Rock Climbing', 'Backcountry Skiing', 'Mountain Biking', 'Kiteboarding'). Case-sensitive, must match the site's activity labels. Omit or pass empty string for no activity filter.
hits_per_pageintegerNumber of results per page (max 100).
Response
{
  "type": "object",
  "fields": {
    "page": "integer",
    "adventures": "array of adventure listing summaries with name, slug, activity, location, price, url, etc.",
    "total_hits": "integer",
    "total_pages": "integer",
    "hits_per_page": "integer"
  },
  "sample": {
    "data": {
      "page": 0,
      "adventures": [
        {
          "url": "https://57hours.com/adventure/grand-canyon-guided-backpacking-trip/",
          "name": "Grand Canyon Backpacking Trip: 4-Day Adventure",
          "slug": "grand-canyon-guided-backpacking-trip",
          "tags": [
            "Backpacking Trips",
            "Multi-Day Hiking Tours"
          ],
          "price": 2400,
          "state": "Arizona",
          "country": "United States",
          "activity": "Hiking",
          "currency": "USD",
          "duration": "5 days",
          "location": "Grand Canyon National Park",
          "collection": [
            "Hiking",
            "The Next Big Thing"
          ],
          "difficulty": [
            "Moderate",
            "Challenging"
          ],
          "accommodation": [
            "Standard"
          ],
          "average_rating": 5,
          "featured_image": "https://57hours.com/wp-content/uploads/2025/06/grand-canyon-guided-backpacking-trip-3-night-608x810.jpeg",
          "location_custom": "GRAND CANYON | ARIZONA"
        }
      ],
      "total_hits": 432,
      "total_pages": 144,
      "hits_per_page": 3
    },
    "status": "success"
  }
}

About the 57hours API

The 57hours API on Parse exposes 2 endpoints for the publicly available data on 57hours.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.