Strava
Overview
Section titled “Overview”Strava is the world’s largest social fitness network, designed for cyclists, runners, and outdoor sports enthusiasts. The platform records physical activities via GPS, organizes competitive routes and segments, and connects athletes in groups and clubs. With the Strava integration in SquadOS, your agents can create manual activities, query athlete stats, explore segments and routes, list club members, and analyze detailed performance data such as heart rate, power, and cadence.
- Official website: https://www.strava.com/
- Composio documentation: docs.composio.dev/toolkits/strava
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
Composio provides a managed app for Strava — in most cases, you do not need to create your own app. When you click Connect, you are directed to the Strava authorization screen where you grant the required permissions.
| Field | Required | Description |
|---|---|---|
client_id | No | Strava app client ID (only if using your own credentials). |
client_secret | No | Strava app client secret (only if using your own credentials). |
How to get credentials (optional)
Section titled “How to get credentials (optional)”If you want to use your own Strava app instead of Composio’s managed app:
- Go to www.strava.com/settings/api and log in.
- Click Create & Manage Your Apps, then Create Application.
- Fill in the required fields: app name, website, and callback domain.
- In the Callback Domain field, enter exactly:
backend.composio.dev - After creating the app, copy the Client ID and Client Secret displayed.
- In Composio, provide these credentials when configuring the connection.
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Strava. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access via OAuth 2.0 with your Strava account.
- Once done, you’re sent back to SquadOS with the account connected and the tool available for your agents. (Connection-flow details in Organization Tools.)
How do I set up custom OAuth credentials for Strava?
Section titled “How do I set up custom OAuth credentials for Strava?”For a step-by-step guide on creating and configuring your own Strava OAuth credentials with Composio, see How to create OAuth credentials for Strava.
Available actions
Section titled “Available actions”Create an Activity
Section titled “Create an Activity”STRAVA_CREATE_AN_ACTIVITY
Creates a manual activity for an athlete. Requires activity:write scope. This endpoint is for manually entered activities only. To upload activity files (FIT, TCX, GPX), use the Upload Activity endpoint instead.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name/title of the activity (required). |
sport_type | string | Yes | Sport type of the activity (required). Common values include: Run, TrailRun, Walk, Hike, Ride, MountainBikeRide, GravelRide, VirtualRide, Swim, Workout, WeightTraining, Yoga, CrossFit, Rowing, Kayaking, Skiing, Snowboarding. |
start_date_local | string | Yes | ISO 8601 formatted local date-time when the activity started (required). Example: 2024-01-15T09:30:00Z. |
elapsed_time | integer | Yes | Total elapsed time of the activity in seconds (required). Example: 3600 for 1 hour. |
type | string | No | Deprecated activity type. Use sport_type instead. If both are provided, type is ignored. |
commute | integer | No | Set to 1 to mark the activity as a commute. Set to 0 or omit for non-commute activities. |
trainer | integer | No | Set to 1 to mark the activity as done on a trainer/indoor. Set to 0 or omit for outdoor activities. |
distance | number | No | Distance in meters. Example: 5000.0 for 5km. |
description | string | No | Optional text description of the activity. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Explore segments
Section titled “Explore segments”STRAVA_EXPLORE_SEGMENTS
Explore segments within a geographic bounding box. Returns the top 10 segments matching the specified geographic boundary and optional filters. Segments are sections of roads or trails where Strava athletes can compete for times.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
bounds | string | Yes | The latitude and longitude for two points describing a rectangular boundary for the search as a comma-separated string: southwest_lat,southwest_lng,northeast_lat,northeast_lng. Example: 37.7,-122.5,37.8,-122.4 for San Francisco area. |
activity_type | string | No | Desired activity type. Must be running or riding. Defaults to riding. |
min_cat | integer | No | The minimum climbing category (0-5, where 0 is the easiest ‘NC’ category and 5 is the hardest ‘HC’ category). |
max_cat | integer | No | The maximum climbing category (0-5, where 0 is the easiest ‘NC’ category and 5 is the hardest ‘HC’ category). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Export Route as GPX
Section titled “Export Route as GPX”STRAVA_EXPORT_ROUTE_GPX
Exports a Strava route as a GPX (GPS Exchange Format) file. GPX files can be used to import routes into GPS devices, other fitness apps, or mapping software. Requires read_all scope for private routes.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the Strava route to export as GPX. Provide as a string to avoid JS Number precision loss for IDs exceeding 2^53. Example: 1234567890. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Export Route as TCX
Section titled “Export Route as TCX”STRAVA_EXPORT_ROUTE_TCX
Exports a Strava route as a TCX (Training Center XML) file. TCX format is widely supported by GPS devices, fitness watches, and training software like Garmin Connect and TrainingPeaks. The exported file contains the route’s waypoints, distance, and elevation profile. Requires read_all scope for private routes.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the Strava route to export as TCX. Must be a valid route ID the authenticated user has access to. Provide as a string to avoid JS Number precision loss for IDs exceeding 2^53. Example: 1234567890. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Activity
Section titled “Get Activity”STRAVA_GET_ACTIVITY
Retrieves detailed information about a specific activity by its ID. Returns a DetailedActivity object containing comprehensive data including distance, time, elevation, speed, heart rate, power data (if available), segment efforts, laps, splits, and more. Requires activity:read scope for activities with visibility set to ‘everyone’ or ‘followers_only’, and activity:read_all scope for private activities.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the activity to retrieve. Provide as a string to avoid JS Number precision loss for IDs exceeding 2^53. Example: 1234567890. |
include_all_efforts | boolean | No | When set to true, includes all segment efforts in the response. When false or omitted, only the athlete’s best efforts are included. Setting this to true may significantly increase response size. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get activity streams
Section titled “Get activity streams”STRAVA_GET_ACTIVITY_STREAMS
Retrieves time-series stream data for a specific activity. Streams are the raw spatial and sensor data recorded during an activity, including GPS coordinates, speed, heart rate, power, etc. Requires activity:read scope, and activity:read_all for private activities.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the activity to retrieve streams for. Can be obtained from list_athlete_activities or get_activity. |
keys | array | Yes | List of stream types to retrieve. Available types: time, distance, latlng, altitude, velocity_smooth, heartrate, cadence, watts, temp, moving, grade_smooth. |
key_by_type | boolean | No | Must be true. Returns streams keyed by stream type. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Activity Zones
Section titled “Get Activity Zones”STRAVA_GET_ACTIVITY_ZONES
Returns the heart rate and power zones of a given activity. This is a Summit/Premium feature that provides zone distribution data showing time spent in each training zone. Requires a Strava Summit/Premium subscription and the appropriate activity read scope.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the activity. Provide as a string to avoid JS Number precision loss for IDs exceeding 2^53. Example: 1234567890. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get athlete stats
Section titled “Get athlete stats”STRAVA_GET_ATHLETE_STATS
Returns the activity stats of an athlete, including ride, run, and swim totals for recent (last 4 weeks), year-to-date, and all-time periods. Only includes data from activities set to ‘Everyone’ visibility.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The numeric identifier of the athlete. Must match the authenticated athlete’s ID, obtainable from the get_authenticated_athlete action. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get authenticated athlete
Section titled “Get authenticated athlete”STRAVA_GET_AUTHENTICATED_ATHLETE
Retrieves the profile of the currently authenticated Strava athlete. Returns athlete information including name, location, account status, profile photos, and social connections. With the profile:read_all scope, returns detailed information including follower counts, measurement preferences, FTP, weight, and equipment.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Club
Section titled “Get Club”STRAVA_GET_CLUB
Retrieves detailed information about a specific Strava club by its ID. Returns comprehensive club details including name, description, location (city/state/country), member count, sport type, activity types, club type (casual, racing team, company, etc.), privacy settings, and the authenticated athlete’s membership status.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique numeric identifier of the Strava club. Can be obtained from the STRAVA_LIST_ATHLETE_CLUBS action or from a club’s URL (e.g., strava.com/clubs/1 has id=1). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get equipment
Section titled “Get equipment”STRAVA_GET_EQUIPMENT
Retrieves detailed information about a specific piece of gear/equipment. Returns comprehensive details about bikes or shoes including name, brand, model, total distance, and status (primary/retired). The requesting athlete must own the gear. Note: Gear IDs use prefixes — b for bikes (e.g., b12345678), g for shoes (e.g., g12345678).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the gear/equipment. Bike IDs start with b (e.g., b12345678), shoe IDs start with g (e.g., g12345678). Gear IDs can be obtained from the authenticated athlete’s profile (bikes/shoes arrays) or from activity details (gear_id field). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get route
Section titled “Get route”STRAVA_GET_ROUTE
Retrieve detailed information about a specific Strava route. A route is a planned path created via the Strava Route Builder. Returns comprehensive route data including name, activity type, distance, elevation gain, start/end coordinates, map polyline, segments, and waypoints. Requires read_all scope for private routes.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique numeric identifier of the Strava route. Route IDs can be obtained from list_athlete_routes or from the URL when viewing a route on Strava (e.g., strava.com/routes/12345678). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get route streams
Section titled “Get route streams”STRAVA_GET_ROUTE_STREAMS
Get detailed stream data for a route. Returns raw GPS coordinates, elevation, and distance data points along a route’s path. Available stream types for routes: latlng, distance, altitude. Requires read_all scope for private routes.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the route. Use list_athlete_routes to find route IDs for the authenticated athlete. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get segment
Section titled “Get segment”STRAVA_GET_SEGMENT
Retrieve detailed information about a specific Strava segment. A segment is a portion of a road or trail where athletes can compete for times. Returns comprehensive segment data including name, activity type, distance, average and maximum grade, elevation, coordinates, polyline, effort counts, and records (KOM/QOM). Requires read_all scope for private segments or athlete-specific segment information.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique numeric identifier of the Strava segment. Segment IDs can be obtained from explore_segments, list_starred_segments, list_segment_efforts, or from activity details. Example: 229781. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get segment effort
Section titled “Get segment effort”STRAVA_GET_SEGMENT_EFFORT
Retrieves detailed information about a specific segment effort by its unique ID. A segment effort represents an athlete’s attempt at a particular segment during an activity. Returns performance metrics including elapsed time, distance, speed, heart rate, power, and cadence data. Requires an active Strava subscription.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the segment effort. Can be obtained from activity details (segment_efforts array) or from the list_segment_efforts endpoint. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get segment effort streams
Section titled “Get segment effort streams”STRAVA_GET_SEGMENT_EFFORT_STREAMS
Returns stream data for a segment effort completed by the authenticated athlete. Streams provide the raw time-series data associated with a segment effort, such as GPS coordinates, altitude, speed, heart rate, power, etc. Requires read_all scope.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the segment effort. Provide as a string to avoid JS Number precision loss for IDs exceeding 2^53. Example: 1234567890. |
keys | string | Yes | Comma-separated list of stream types to return. Available types: time, distance, latlng, altitude, velocity_smooth, heartrate, cadence, watts, temp, moving, grade_smooth. Example: time,distance,altitude. |
key_by_type | boolean | No | Must be true. Defaults to true. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get segment streams
Section titled “Get segment streams”STRAVA_GET_SEGMENT_STREAMS
Get detailed stream data for a segment. Returns raw GPS, elevation, and distance data points along a segment’s route. Available stream types: distance, latlng, altitude. Requires read_all scope for private segments.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the segment. Use explore_segments or list_starred_segments to find segment IDs. |
keys | string | Yes | Comma-separated list of stream types to return. Available types: distance, latlng, altitude. Example: distance,latlng,altitude to get all stream types. |
key_by_type | boolean | No | Must be true. Defaults to true. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Upload Status
Section titled “Get Upload Status”STRAVA_GET_UPLOAD
Retrieves the status of an upload by its ID. Use this endpoint to poll the processing status of an uploaded activity file. Uploads are processed asynchronously; poll no more than once per second until the activity_id is populated or an error is returned. Requires activity:write scope.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
uploadId | integer | Yes | The unique identifier of the upload to retrieve. This ID is returned when uploading an activity file via the Upload Activity endpoint. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get zones
Section titled “Get zones”STRAVA_GET_ZONES
Retrieves the authenticated athlete’s heart rate and power zones. Returns the athlete’s configured training zones including zone thresholds and time spent in each zone. Requires the profile:read_all OAuth scope.
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List activity comments
Section titled “List activity comments”STRAVA_LIST_ACTIVITY_COMMENTS
Retrieves comments on a specific Strava activity, sorted oldest first. Returns comment details including the comment text, author information, and timestamps. Supports cursor-based pagination for activities with many comments.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the Strava activity to retrieve comments for. Example: 12345678987654321. |
page_size | integer | No | Number of comments to return per page (1-200). Defaults to 30. |
after_cursor | string | No | Cursor for pagination. Pass the cursor from a previous response to fetch the next page of comments. Omit to fetch the first page. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List activity kudoers
Section titled “List activity kudoers”STRAVA_LIST_ACTIVITY_KUDOERS
Returns the athletes who kudoed an activity identified by an identifier. Requires activity:read for Everyone and Followers activities. Requires activity:read_all for Only Me activities.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the activity to retrieve kudoers for. |
page | integer | No | Page number for pagination. Defaults to 1. |
per_page | integer | No | Number of kudoers to return per page. Defaults to 30, maximum is 200. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List activity laps
Section titled “List activity laps”STRAVA_LIST_ACTIVITY_LAPS
Retrieves lap data for a specific Strava activity. Laps represent segments of an activity, typically auto-generated based on distance intervals, manual lap button presses, or course segments. Each lap contains detailed metrics including timing, distance, speed, cadence, and power data.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique numeric identifier of the Strava activity. Can be obtained from STRAVA_LIST_ATHLETE_ACTIVITIES or STRAVA_GET_ACTIVITY. Example: 12345678901. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List athlete activities
Section titled “List athlete activities”STRAVA_LIST_ATHLETE_ACTIVITIES
Retrieves a paginated list of activities for the authenticated athlete. Returns activity summaries including name, type, distance, duration, elevation gain, speed, heart rate data, and timestamps. Use before and after parameters to filter by date range.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for pagination, starting at 1. |
after | integer | No | Unix epoch timestamp (seconds since 1970-01-01). Returns only activities that started after this time. Example: 1704067200 for Jan 1, 2024. |
before | integer | No | Unix epoch timestamp (seconds since 1970-01-01). Returns only activities that started before this time. Example: 1704067200 for Jan 1, 2024. |
per_page | integer | No | Number of activities per page (1-200). Defaults to 30. Maximum is 200. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List athlete clubs
Section titled “List athlete clubs”STRAVA_LIST_ATHLETE_CLUBS
Retrieves a paginated list of Strava clubs the authenticated athlete is a member of. Returns club details including id, name, location, member count, sport type, and profile images.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for pagination. Starts at 1. Defaults to 1. |
per_page | integer | No | Number of clubs to return per page (1-200). Defaults to 30. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List athlete routes
Section titled “List athlete routes”STRAVA_LIST_ATHLETE_ROUTES
Lists routes created by a specific athlete. Returns an array of Route summaries including id, name, distance, elevation gain, and type. Private routes are filtered out unless the token has read_all scope. Only the authenticated athlete’s routes can be accessed.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The identifier of the athlete. Must match the authenticated athlete to list their routes. |
page | integer | No | Page number for paginated results. Defaults to 1. |
per_page | integer | No | Number of routes per page. Maximum is 200. Defaults to 30. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List club activities
Section titled “List club activities”STRAVA_LIST_CLUB_ACTIVITIES
Retrieve recent activities from members of a specific club. The authenticated athlete must be a member of the requested club to access this endpoint. Pagination is supported (max 200 activities total). Note: Club activities have limited data for privacy — they do not include activity IDs, dates, or full athlete names.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the club. Use ‘List Athlete Clubs’ to get club IDs for clubs the authenticated athlete belongs to. |
page | integer | No | Page number for pagination. Defaults to 1. |
per_page | integer | No | Number of activities per page. Defaults to 30. Maximum is 200. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List club administrators
Section titled “List club administrators”STRAVA_LIST_CLUB_ADMINISTRATORS
Returns a list of the administrators of a given Strava club. The response includes each administrator’s first name, last name (possibly abbreviated), and resource state. For public clubs, this endpoint is accessible without membership. For private clubs, the authenticated user may need to be a member.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the Strava club. Can be obtained from STRAVA_LIST_ATHLETE_CLUBS or STRAVA_GET_CLUB actions. |
page | integer | No | Page number for pagination (1-indexed). Defaults to 1. |
per_page | integer | No | Number of administrators to return per page. Defaults to 30. Maximum is 200. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List club members
Section titled “List club members”STRAVA_LIST_CLUB_MEMBERS
Returns a list of the athletes who are members of a given club. The authenticated athlete must belong to the requested club to access this endpoint. Results are paginated. Note: Due to privacy settings, some member information may be limited.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the club. Use STRAVA_LIST_ATHLETE_CLUBS to get club IDs, or STRAVA_GET_CLUB to verify a club ID. |
page | integer | No | Page number for pagination. Defaults to 1. |
per_page | integer | No | Number of members to return per page. Defaults to 30, maximum is 200. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List segment efforts
Section titled “List segment efforts”STRAVA_LIST_SEGMENT_EFFORTS
List the authenticated athlete’s efforts on a given segment. Returns all segment efforts optionally filtered by date range. Includes details like elapsed time, moving time, start date, distance, average power, average heart rate, personal record ranking, and KOM/QOM ranking position.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
segment_id | integer | Yes | The unique identifier of the segment. Can be obtained from explore_segments, get_activity (segment_efforts), or starred_segments endpoints. |
per_page | integer | No | Number of items per page (1-200). Defaults to 30. |
start_date_local | string | No | Filter efforts to those starting after this ISO 8601 formatted date time. Example: 2023-01-01T00:00:00Z. |
end_date_local | string | No | Filter efforts to those ending before this ISO 8601 formatted date time. Example: 2023-12-31T23:59:59Z. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List starred segments
Section titled “List starred segments”STRAVA_LIST_STARRED_SEGMENTS
Returns a list of the authenticated athlete’s starred segments with summary details including segment name, distance, elevation, grade, and location. Private segments are filtered out unless requested by a token with read_all scope.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for paginated results. Starts at 1. Defaults to 1. |
per_page | integer | No | Number of segments to return per page. Maximum is 200. Defaults to 30. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Star segment
Section titled “Star segment”STRAVA_STAR_SEGMENT
Stars/Unstars the given segment for the authenticated athlete. Requires profile:write scope.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique identifier of the Strava segment to star or unstar. Can be obtained from explore_segments or get_segment actions. |
starred | boolean | No | If true, star (favorite) the segment; if false, unstar (remove from favorites) the segment. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Athlete
Section titled “Update Athlete”STRAVA_UPDATE_ATHLETE
Update the currently authenticated athlete’s profile. Currently only supports updating the athlete’s weight. Requires profile:write scope.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
weight | number | Yes | The weight of the athlete in kilograms. Must be a positive number (e.g., 70.5). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Upload Activity
Section titled “Upload Activity”STRAVA_UPLOAD_ACTIVITY
Uploads a new activity file (FIT, TCX, or GPX) to create an activity on Strava. The upload is processed asynchronously. Returns an upload ID immediately, which can be used with the Get Upload endpoint to check processing status and retrieve the created activity ID once processing completes. Files must be 25MB or smaller and contain actual workout data with timestamps for each trackpoint. Requires the activity:write OAuth scope.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
file | object | Yes | The activity file to upload. Supported formats: FIT, TCX, GPX (and their gzipped variants). Files must contain timestamps for each trackpoint. Max size: 25MB. |
data_type | string | Yes | The format of the uploaded file. Must match the actual file format. Options: fit, fit.gz, tcx, tcx.gz, gpx, gpx.gz. |
name | string | No | The activity name to display on Strava. If not provided, Strava will auto-generate a name based on the activity type and time. |
sport_type | string | No | Sport type to assign to the uploaded activity. |
description | string | No | A text description of the activity. |
commute | boolean | No | Set to true to mark as a commute activity. |
trainer | boolean | No | Set to true to mark as a trainer activity (indoor on a stationary trainer). |
external_id | string | No | An arbitrary unique identifier for this upload. Useful for tracking uploads from external systems and preventing duplicate uploads. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |