We extract outdoor routes, elevation profiles, surface types, and user-generated Highlights from Komoot. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or PostGIS on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Tours & Routes objects from komoot.com. All fields typed and schema-versioned.
"tour_id": "104859230", "title": "Alpine Ridge Classic", "sport_type": "mtb", "distance_km": 42.5, "elevation_up_m": 1250, "difficulty": "expert", "start_point_lat": 47.2692, "start_point_lng": 11.4041
| # | tour_id | title | sport_type | distance_km | duration_min | difficulty |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Highlights (POIs) objects from komoot.com. All fields typed and schema-versioned.
"highlight_id": "hl_59281", "title": "Hidden Waterfall Viewpoint", "category": "viewpoint", "rating": 4.8, "reviews_count": 342, "lat": 47.2815, "lng": 11.4219, "photos_count": 14
| # | highlight_id | title | category | rating | reviews_count | lat |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Surface & Waypoints objects from komoot.com. All fields typed and schema-versioned.
"tour_id": "104859230", "waypoint_index": 45, "lat": 47.275, "lng": 11.41, "altitude_m": 850, "surface_type": "unpaved", "highway_type": "track", "gradient_pct": 12.5
| # | tour_id | waypoint_index | lat | lng | altitude_m | surface_type |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for User Profiles objects from komoot.com. All fields typed and schema-versioned.
"user_id": "u_984123", "username": "alpine_rider_88", "followers_count": 1240, "tours_completed": 312, "pioneer_regions": "['Tyrol', 'Bavaria']", "sport_preferences": "['mtb', 'gravel', 'hiking']", "last_active": "2026-08-14T15:30:00Z"
| # | user_id | username | followers_count | following_count | tours_completed | pioneer_regions |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Collections objects from komoot.com. All fields typed and schema-versioned.
"collection_id": "col_4921", "title": "Best Gravel Routes in Tuscany", "region_name": "Tuscany", "tours_included": 12, "saves_count": 4892, "total_distance_km": 540.2, "total_elevation_m": 8400, "featured_status": true
| # | collection_id | title | description | region_name | tours_included | creator_id |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Komoot scraper handles spatial geometries, API interception, and pagination across millions of user-generated routes and Highlights, delivering clean geographic data ready for analysis.
Extract distance, elevation gain, duration estimates, and difficulty ratings for any public cycling, hiking, or running route.
Capture user-generated Highlights including titles, categories, ratings, photo counts, and exact spatial coordinates.
Parse route segments to determine percentages of asphalt, unpaved, singletrack, and alpine terrain for detailed path analysis.
Extract continuous altitude arrays and steepness gradients mapped against coordinate waypoints along the route.
Monitor local experts and Pioneer leaderboards across specific geographic regions and sport types.
Extract curated regional guides and multi-day tour collections, complete with aggregated distance and elevation metrics.
Translate encoded polylines into raw latitude and longitude arrays for direct import into PostGIS or QGIS.
Define geographic bounding boxes to systematically scrape all public tours and Highlights within a specific area.
Track new routes and emerging Highlights in target regions with daily or weekly differential updates.
Brief in. Clean data out.
Provide geographic coordinates, target regions, sport types, or user profiles. We design the spatial extraction schema together.
We configure Scrapy crawlers, API interception for GraphQL endpoints, and polyline decoding logic for Komoot.
Geometry validation, null-rate checks, and coordinate boundary testing before full launch.
JSON, CSV, or GeoJSON pushed to your S3 bucket, PostGIS database, or BigQuery dataset on agreed cadence.
Extracting mapping data requires more than simple HTML parsing. Here is how we manage API interception, geometry decoding, and rate limits.
Komoot loads route details and surface data dynamically via internal GraphQL APIs. We intercept these requests, bypassing brittle DOM parsing to extract raw JSON payloads containing precise segment data and metadata.
Route geometries are transmitted as encoded polylines to save bandwidth. Our pipeline includes native decoding algorithms that translate these strings back into accurate latitude, longitude, and elevation arrays.
Komoot strictly limits high-frequency requests to protect its mapping infrastructure. We distribute extraction across thousands of EU residential IPs, maintaining low request rates per node to prevent blocks and ensure continuous data flow.
To scrape entire regions, we divide large geographic areas into smaller, overlapping bounding boxes. Our orchestrator manages these grids to ensure complete coverage without missing edge-case routes or Highlights.
For ongoing monitoring, we hash route IDs and update timestamps. The pipeline only extracts newly created tours or modified Highlights, drastically reducing compute overhead and delivering clean delta files.
Analyse popular trails, user Highlights, and traffic patterns to optimise infrastructure investment and regional marketing.
Identify trending outdoor activities in specific regions to target hyper-local marketing campaigns and product launches.
Enrich proprietary base maps with verified POIs, surface types, and real-world trail difficulty ratings.
Scout route segments, analyse elevation profiles, and assess surface types for gravel races, MTB enduros, and trail running events.
Track user density and route popularity in sensitive ecological zones to inform conservation strategies.
Analyse the growth of specific sports like gravel riding or e-mountain biking across different European regions.
"Komoot holds the world's most detailed corpus of user-verified outdoor routing and terrain data, but extracting it requires parsing complex spatial geometries."
Most teams underestimate the investment required to extract spatial data at scale. Reliable Komoot scraping requires intercepting undocumented GraphQL endpoints, decoding complex polyline geometries, and managing residential proxy rotation to avoid rate limits. DataFlirt absorbs that complexity so your engineers can focus on spatial analysis, not infrastructure.
Everything supported by our komoot.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy manages the request orchestration while custom Python middlewares decode polyline geometries and map segment data to coordinate arrays in real time.
We utilise EU-heavy residential proxy pools to query regional bounding boxes, ensuring requests appear as legitimate local traffic to avoid API blocks.
Airflow schedules grid-based bounding box queries, ensuring complete geographic coverage without overlapping requests. State is maintained in PostGIS.
Data delivered to where your team already works — no new tooling required.
About komoot.com scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available routes, Highlights, and profiles is generally permissible. DataFlirt targets only public, non-authenticated data. We do not extract private user tours or bypass premium subscription walls. Clients should review Komoot terms of service and consult legal counsel for their specific use case.
Komoot employs strict rate limiting on its mapping APIs. We distribute requests across thousands of residential ISP proxies and enforce strict concurrency limits per IP to ensure stable, continuous extraction without triggering defensive blocks.
Yes. You provide bounding box coordinates or region names, and our orchestrator divides the area into a search grid to systematically extract all public tours and Highlights within those boundaries.
Yes. Komoot transmits routes as encoded polylines. Our pipeline automatically decodes these strings into raw latitude, longitude, and elevation arrays, delivering ready-to-use spatial data.
Yes. We configure scheduled pipelines that monitor specific regions, using hash-based diffs to extract and deliver only newly created Highlights or routes since the last run.
Alongside standard JSON, CSV, and Parquet, we can format route and waypoint data as GeoJSON, making it immediately compatible with QGIS, PostGIS, and most modern mapping libraries.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off region export or continuous tracking of new Highlights across Europe, we scope, build, and operate the pipeline. Tell us what you need.