Route and terrain research
Mit Strava-Endpunkten verwandelst du route and terrain research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Turn public Strava pages into structured fitness-activity data — a route index by sport, country, and region, one route's full detail (distance, elevation, map), a club's public profile, and the current public challenge gallery, all as normalized JSON. Credential-free.
Get Strava's public route index and route detail, club profiles, and the public challenge gallery as structured JSON.
Endpunkt-Familien
3
Dokumentierte Parameter
10
Beispiele
4
Live-Katalog-Snapshot
Aktive Endpunkte
4
Methoden
GET
Pflichtparameter
9
Schema-Referenzen
4
{
"platform": "Strava",
"endpoint": "strava-routes",
"method": "GET",
"path": "/strava/routes",
"auth": "apiKey"
}Use Cases
Get Strava's public route index and route detail, club profiles, and the public challenge gallery as structured JSON.
Mit Strava-Endpunkten verwandelst du route and terrain research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Strava-Endpunkten verwandelst du club and community tracking in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Strava-Endpunkten verwandelst du fitness-challenge and campaign monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Managed Execution
Jede Zahl unten stammt direkt aus dem Live-Strava-Endpunktkatalog — 4 Endpunkte, 10 dokumentierte Request-Parameter und 4 veröffentlichte Response-Schemas — demselben Katalog, gegen den auch Docs und Playground laufen.
4 documented Strava endpoints, grouped into 3 request families — Routes, Challenges and Clubs.
10 request parameters are documented across those Strava endpoints, 9 of them required — the full input contract is public before you write any integration code.
4 of the 4 Strava endpoints ship a recorded example response, and 4 carry a documented response schema — you can code against the real JSON before the first request.
Strava endpoints document their error responses (400, 404, 429, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
4 hosted MCP tools back the Strava endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Abdeckungskarte
Diese Karten werden aus dem aktiven Endpunktkatalog generiert, damit die Landingpage dieselbe API-Oberfläche widerspiegelt, die auch Docs und Playground nutzen.
/strava/routes
/strava/challenges
/strava/clubs/{id}
Endpunktkatalog
/strava/routesReturns a page of Strava's public route recommendations for a sport, country, and region (state, or state/city). `sport` values: `hiking`, `road-biking`, `mountain-biking`, `trail-running`, `gravel-biking`. Public data, sourced from Strava's own server-rendered route pages.
Hinweise zur Response
- Each result's `path` is usable directly as the `path` query parameter to [`/strava/routes/detail`](strava-route-detail.md). - An unsupported `sport` returns `400` before any upstream request is made. - A page number past the last valid page, or an unlisted region, returns `404` rather than an empty `200` list. Example response: ```json { "code": 200, "msg": "OK", "data": { "sport": "hiking", "country": "usa", "region": "colorado", "title": "Top 318 hiking trails in Colorado", "page": 1, "total_pages": 16, "total_results": 318, "source_url": "https://www.strava.com/routes/hiking/usa/colorado", "routes": [ { "rank": 1, "name": "Mallory Cave via N.C.A.R. Trail", "path": "hiking/usa/colorado/boulder/mallory-cave_5171952737974445730", "url": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730", "difficulty": "Easy", "distance_raw": "1.46 mi", "elevation_gain_raw": "345 ft", "description": "The Mallory Cave hike takes you to the mouth of a beautiful cave...", "image_url": "https://dgtzuqphqg23d.cloudfront.net/8UruePMrrrQMdHGsELroGsOsTMWqh030g7159PMSue4-768x576.jpg" } ] } } ```
MCP-Tool strava_routes
/strava/routes/detailReturns a single Strava route's detail: type, difficulty, distance, elevation gain, estimated time, and summary. `path` is the relative route path returned by `/strava/routes` results (e.g. `hiking/usa/colorado/boulder/mallory-cave_5171952737974445730`). Public data, sourced from Strava's own server-rendered route pages.
Hinweise zur Response
- `path` must start with a supported sport segment (`hiking`, `road-biking`, `mountain-biking`, `trail-running`, `gravel-biking`) and contain no path-traversal segments; otherwise `400` is returned before any upstream request is made. - A route that no longer exists returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "name": "Mallory Cave via N.C.A.R. Trail", "route_type": "Hiking Trail", "difficulty": "Easy", "distance_raw": "1.46 mi", "elevation_gain_raw": "345 ft", "estimated_time_raw": "33:48", "summary": "The Mallory Cave hike takes you to the mouth of a beautiful cave...", "path": "hiking/usa/colorado/boulder/mallory-cave_5171952737974445730", "url": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730", "source_url": "https://www.strava.com/routes/hiking/usa/colorado/boulder/mallory-cave_5171952737974445730" } } ```
MCP-Tool strava_route_detail
/strava/clubs/{id}Returns a Strava club's public profile: name, verified/private flags, location, description, member count, and cover/avatar images. Only the base public profile is returned -- discussion, leaderboard, member list, and recent-activity data require a logged-in Strava session and are not available. Public data, sourced from Strava's own server-rendered club page.
Hinweise zur Response
- A club that doesn't exist, or `id` that isn't purely numeric, returns `400`/`404` respectively before or after the upstream request. - `private` reflects whether the club requires a join request to see full content; this endpoint still returns the public profile fields for private clubs. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "521703", "name": "Women of OZ NWA", "verified": false, "private": true, "location": "Bentonville, Arkansas", "country_code": "us", "description": "Founded in 2019 Women of OZ NWA is an inclusive, non-profit organization...", "member_count": 937, "cover_image_url": "https://dgalywyr863hv.cloudfront.net/pictures/clubs/521703/11986498/3/large.jpg", "avatar_image_url": "https://dgalywyr863hv.cloudfront.net/pictures/clubs/521703/11986503/2/large.jpg", "url": "https://www.strava.com/clubs/521703", "source_url": "https://www.strava.com/clubs/521703" } } ```
MCP-Tool strava_club
/strava/challengesReturns Strava's public challenge gallery: the currently promoted challenge plus every gallery section (partner challenges, and one section per sport such as run/ride), each with its challenges' goal, duration, and cover art. Public data, sourced from Strava's own challenge gallery.
Hinweise zur Response
- `sections` is ordered with `partner` first, then the remaining sport categories alphabetically. - A challenge's `goal` is `null` for challenges measured by elapsed time rather than a fixed distance/duration target (e.g. "fastest mile ever"). Example response: ```json { "code": 200, "msg": "OK", "data": { "promoted_challenge": { "id": 6158, "name": "August Flexibility Challenge", "url": "https://www.strava.com/challenges/August-Flexibility-Challenge", "sponsored": false, "goal": 36000, "dimension": "moving_time", "icon": "yoga", "duration": "Aug 1, 2026 to Aug 31, 2026", "goal_description": "Complete 10 hours of yoga or workout activity this month." }, "sections": [ { "category": "partner", "title": "Partner Challenges", "challenges": [ { "id": 6156, "name": "Runna August Ten Days Active Challenge", "url": "https://www.strava.com/challenges/Runna-August-Ten-Days-Active-2026", "sponsored": true, "goal": 10, "dimension": "moving_time", "duration": "Aug 1, 2026 to Aug 31, 2026" } ] }, { "category": "run", "title": "Run Challenges", "challenges": [ { "id": 6162, "name": "August 10K Challenge", "url": "https://www.strava.com/challenges/August-10K-challenge-2026", "sponsored": false, "goal": 10000, "dimension": "avg_pace_min_distance", "duration": "Aug 1, 2026 to Aug 31, 2026", "goal_description": "Complete a 10 km (6.2 mi) run." } ] } ], "source_url": "https://www.strava.com/challenges" } } ```
MCP-Tool strava_challenges
Verwandte APIs
Social & Creator Platforms
Build creator intelligence, video research, transcript, and audience-comment workflows without maintaining YouTube scrapers.
Social & Creator Platforms
Turn Twitch's public channel, stream, clip, and team data into structured JSON — live status and viewer counts, top games, clips, VODs, and team rosters — as normalized JSON. Credential-free.
Social & Creator Platforms
Track creator, content, hashtag, music, trend, and public ad creative signals from TikTok with production-ready API routes.
So scrapst du Strava
Crawlora's Strava endpoints return route indexes, route detail, club profiles, and the challenge gallery as normalized JSON with one API key — no Strava account or auth token required.
/strava/routes requires sport, country and region, all three. sport must be one of hiking, road-biking, mountain-biking, trail-running or gravel-biking — note that plain "running" and "cycling" are not values, and an unsupported one returns a 400 naming the accepted list.
country and region are the slugs from Strava's own route-index URL path, and not every plausible pair exists — verified live, hiking in switzerland/bern returns a populated index while united-states/california returns a 404. Treat a 404 here as "Strava publishes no index for this combination" rather than an error in your call, and page through results with the page parameter.
Pass a route's path — the identifier from the index, not a bare numeric id — to /strava/routes/detail for distance, elevation and map data.
Pass a club id to /strava/clubs/{id} for that club's public profile.
/strava/challenges takes no parameters and returns Strava's current public challenge gallery, including the promoted challenge it is featuring.
FAQ
Call /strava/routes with all three of sport, country and region. sport must be one of hiking, road-biking, mountain-biking, trail-running or gravel-biking, and country and region are the slugs from Strava's own route-index URLs. You get a normalized route index back as structured JSON with no Strava account required.
Because Strava does not publish a route index for that country and region pair. The slugs must match pages Strava actually serves — verified live, hiking in switzerland/bern works while united-states/california 404s despite looking equally reasonable. A 404 is the honest signal that the combination does not exist upstream, not a fault in the request.
No Strava login or auth token is required from the caller — only your Crawlora API key.
Yes — /strava/clubs/{id} returns a club's public profile as structured JSON.