get-activity-streams
Retrieve time-series data streams for a Strava activity, including heart rate, power, GPS, pace, and elevation. Supports pagination, configurable resolution, and downsampling for large datasets.
Instructions
Returns time-series data streams (heart rate, power, GPS, pace, elevation) for an activity at configurable resolution, with pagination and intelligent downsampling for large datasets.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Optional page number for paginated results. Use with points_per_page to retrieve specific data ranges. Example: page=2 with points_per_page=100 gets points 101-200. | |
| types | No | Array of stream types to fetch. Available types: - time: Time in seconds from start - distance: Distance in meters from start - latlng: Array of [latitude, longitude] pairs - altitude: Elevation in meters - velocity_smooth: Smoothed speed in meters/second - heartrate: Heart rate in beats per minute - cadence: Cadence in revolutions per minute - watts: Power output in watts - temp: Temperature in Celsius - moving: Boolean indicating if moving - grade_smooth: Road grade as percentage | |
| format | No | Output format: - compact: Raw arrays, minified JSON (~70-80% smaller, LLM-friendly) - verbose: Human-readable objects with formatted values (backward compatible) | compact |
| activityId | Yes | The Strava activity identifier to fetch streams for. This can be obtained from activity URLs or the get-activities tool. | |
| max_points | No | Maximum number of data points to return. If activity exceeds this, data will be intelligently downsampled while preserving peaks and valleys. Useful for very large activities. | |
| resolution | No | Data resolution. Affects number of data points returned: - low: ~100 points (recommended for LLM analysis) - medium: ~1000 points - high: ~10000 points (warning: very large payload, may cause slowness) Defaults to "low" when omitted. Pass explicitly if you need more data. | |
| series_type | No | Optional base series type for the streams: - time: Data points are indexed by time (seconds from start) - distance: Data points are indexed by distance (meters from start) Useful for comparing different activities or analyzing specific segments. | distance |
| summary_only | No | If true, returns only metadata and statistics (min/max/avg) without raw stream data. Much faster and smaller response. Ideal for quick activity overviews or when raw data is not needed. | |
| points_per_page | No | Optional number of data points per page. Special values: - Positive number: Returns that many points per page - -1: Returns ALL data points split into multiple messages (~1000 points each) Use -1 when you need the complete activity data for analysis. |