OrbTop

Komoot Public Tour API Scraper

TRAVELSPORTS

Komoot Public Tour API Scraper

Fetch full GPX-grade route data from Komoot's public v007 API — geometry, elevation profiles, surfaces, way types, difficulty, and creator metadata — for any public tour by ID or via automatic sitemap discovery.

What it does

Komoot hosts 200M+ public outdoor routes (hikes, bike tours, trail runs, and more). This actor calls the stable v007 JSON API, which returns machine-readable data for any public tour without authentication:

  • Full path geometry — all GPS waypoints with lat/lng/altitude/time offset
  • Surface breakdown — segmented list of surface types (asphalt, gravel, dirt, singletrack, etc.)
  • Way type breakdown — road, path, ferry, etc. per segment
  • Elevation — cumulative gain and loss in metres
  • Difficulty — easy / moderate / difficult with fitness and technical sub-grades
  • Creator — display name of the tour author

Input

Field Type Default Description
tourIds array ["1056563938", "1041217742", "380802822"] Numeric Komoot tour IDs. Extract from komoot.com/smarttour/e{ID}/... or komoot.com/tour/{ID} URLs. Leave empty to discover tours from the sitemap.
maxItems integer 10 Maximum number of tours to fetch. Limits sitemap-discovery runs; ignored when tourIds are provided (all supplied IDs are fetched).
proxyConfiguration object (none) Optional proxy. Residential proxy is recommended for bulk runs exceeding a few hundred tours per hour.

Finding tour IDs

Komoot tour IDs are the numeric portion of tour URLs:

URL format ID
komoot.com/smarttour/e1056563938/pacific-crest-trail 1056563938
komoot.com/tour/1041217742 1041217742

You can also leave tourIds empty — the actor will discover IDs from the English sitemap and return up to maxItems tours.

Output

Each dataset record contains:

Field Type Description
tour_id string Numeric Komoot tour ID
name string Tour title
tour_type string tour_recorded or tour_planned
sport string Activity type (hike, touringbicycle, mountaineering, etc.)
status string Visibility (public)
distance_m number Total distance in metres
duration_s number Total duration in seconds
elevation_up_m number Cumulative elevation gain in metres
elevation_down_m number Cumulative elevation loss in metres
start_lat number Start point latitude
start_lng number Start point longitude
start_alt number Start point altitude in metres
difficulty_grade string easy, moderate, or difficult
date string Upload/creation date (ISO 8601)
creator_display_name string Tour creator's display name
coordinates_count number Number of GPS waypoints
coordinates_json string JSON array of {lat, lng, alt, t} waypoints
way_types_json string JSON array of way-type segments
surfaces_json string JSON array of surface segments
highlights_count number Number of highlights/POIs
tour_url string Canonical komoot.com tour URL

Sample record

{
  "tour_id": "1056563938",
  "name": "Pacific Crest Trail: Agua Caliente Creek",
  "tour_type": "tour_planned",
  "sport": "hike",
  "status": "public",
  "distance_m": 15486.13,
  "duration_s": 15379,
  "elevation_up_m": 265.5,
  "elevation_down_m": 265.5,
  "start_lat": 33.28314,
  "start_lng": -116.634536,
  "start_alt": 952.9,
  "difficulty_grade": "moderate",
  "date": "2023-03-20T21:38:15.781Z",
  "creator_display_name": "komoot",
  "coordinates_count": 587,
  "coordinates_json": "[{\"lat\":33.28314,\"lng\":-116.634536,\"alt\":952.9,\"t\":0},...]",
  "way_types_json": "[{\"from\":0,\"to\":1,\"element\":\"wt#way\"},...]",
  "surfaces_json": "[{\"from\":0,\"to\":10,\"element\":\"sf#asphalt\"},...]",
  "highlights_count": 0,
  "tour_url": "https://www.komoot.com/tour/1056563938"
}

Use cases

  • Building trail databases or route recommendation systems
  • GIS analysis of hiking/cycling infrastructure
  • Fitness app integrations that need GPX-grade route data
  • Research on outdoor activity patterns by region, sport, or difficulty
  • Competitive intelligence on popular trail destinations

Technical notes

  • Fetches from the public v007 HAL+JSON API — no authentication required for public tours
  • Strictly scoped to status: public tours — private tours are not accessible
  • Default rate: one request per 0.8 seconds, respecting Komoot's servers
  • Residential proxy is optional for normal volumes; recommended above a few hundred tours per hour