AllTrails Scraper avatar

AllTrails Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
AllTrails Scraper

AllTrails Scraper

Scrape AllTrails, the world's largest hiking, biking, and running trail database. Search trails by keyword/location; fetch full trail detail (difficulty, distance, elevation, GPS coordinates, photos, recent reviews); browse trails by park, city, or country.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(16)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

16

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape AllTrails — the world's largest hiking, biking, and running trail database — for trail detail, location-based browse, or keyword search. Returns full structured data including difficulty, distance, elevation profile, GPS coordinates, photos, ratings, and recent reviews.

What this actor extracts

For every emitted trail record:

  • name, slug, url, trailId, mapId
  • overview — long-form trail description
  • Geometry: lengthMeters, lengthKm, lengthMiles, elevationGainMeters, elevationGainFeet, elevationStartMeters, elevationMaxMeters
  • Difficulty: difficulty (easy/moderate/hard), difficultyScore (1-7)
  • routeType (out_and_back/loop/point_to_point)
  • Location: latitude, longitude, city, state, stateCode, country, countryCode, areaName, areaSlug
  • Ratings: avgRating, reviewCount, ratingsBreakdown (per-star counts), popularity, visitorUsage
  • Counts: photoCount, trackCount, completedCount
  • activities[] — primary activity slugs (hiking, mountain-biking, etc.)
  • features[] — trail attributes (Forests, Rivers, Views, Waterfalls, etc.)
  • seasonStartMonth, seasonEndMonth
  • coverPhoto{id, url, title, username} and top-level coverUrl
  • recentReviews[] — recent review excerpts (rating, author, text, date) when available from the trail page

Modes

ModeInputOutput
byTrailurl or country + state + trailSlugOne full trail record
byUrlurl or urls[] — any alltrails.com URLAuto-routed (trail/park/city/country/search)
searchTrailsquery + optional countryTrails matching the query (Algolia API)
byParkurl or country + state + parkSlugTrails inside a park (with detail)
byCityurl or country + state + cityPopular trails near a city
topTrailsByCountryurl or countryCurated trail list for a country page

Filters

FilterDescription
difficultyeasy / moderate / hard
routeTypeout_and_back / loop / point_to_point
activityOne of 23 activity slugs (hiking, mountain-biking, …)
minRatingDrop trails below this avgRating (0-5)
minLengthKmDrop trails shorter than this (km)
maxLengthKmDrop trails longer than this (km)
maxItemsHard cap on emitted records (1-1000)

Reliability

  • HTTP-first via curl_cffi with Safari iOS TLS fingerprint (this is the only impersonation that bypasses AllTrails' Cloudflare-edge filter — Chrome/Firefox impersonations get 403'd).
  • Auto-escalates to Apify residential proxy on 403 / 429 / Cloudflare-challenge if autoEscalateOnBlock=true (default).
  • Retries with exponential backoff up to 4 attempts.
  • Algolia search uses AllTrails' public client-facing keys — no auth gymnastics required.

Multi-country support

The country enum exposes 48 of the most-trafficked AllTrails country slugs. Search uses the matching localized Algolia index when one exists (e.g. germanyalltrails_primary_de-DE). For all other countries, the global English index is used.

FAQ

Do I need an account or login? No. AllTrails' trail pages, park pages, country pages, and search index are all publicly accessible.

Why is recentReviews shorter than reviewCount? AllTrails' trail page only embeds the most-recent ~5-10 reviews server-side; the rest are loaded client-side via API. To pull large review sets, use the byTrail mode with the canonical URL — the actor returns whatever the page exposes.

Are GPX track files included? No — the actor focuses on trail metadata. GPX/KML downloads are paywalled by AllTrails.

Do I get photos? Yes — the cover photo URL is included as coverUrl. AllTrails CDN images are publicly accessible without referer headers.

Can I scrape user profiles or saved lists? Not in v1 — those routes are mostly login-walled.

Limitations

  • AllTrails Pro-only fields (downloadable maps, real-time conditions API) are not exposed.
  • Search results sometimes return area records (parks/regions) before trails; we filter to type=trail only.
  • A handful of country slugs return 403 from datacenter IPs — auto-escalation kicks in transparently.