get_activity_streams
Fetch raw time-series samples for an activity (power, HR, cadence, altitude, custom) when summaries lack detail. Choose summary, CSV, or JSON, and slice or downsample by index/time.
Instructions
Use for the raw time-series samples of one activity (power, HR, cadence, altitude or any custom stream such as Stamina) when summaries are not enough.
Default output is a per-stream summary (units, statistics, first/last values); full gives a CSV table, json one object with arrays (empty/null = no value). Default streams: time, watts, heartrate, cadence, altitude, distance, velocity_smooth; "all" = every stream. full/json return at most max_points samples (default 2000) and say where to continue; slice by index or time, downsample keeps every n-th sample. time = seconds since start, pauses appear as jumps. Read-only. Discover streams with list_activity_streams. Method: intervals://methods/activity-data (get_guide).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | No | Only samples with time < this, seconds since start (full/json) | |
| end_index | No | Sample index to stop before (exclusive; full/json) | |
| downsample | No | Keep every n-th sample in full/json (skipped, never averaged) | |
| max_points | No | Max samples in full/json, at most 20000; longer output is cut with a continue hint | |
| start_time | No | Only samples with time >= this, seconds since start (full/json) | |
| activity_id | Yes | Activity id, e.g. i123456789 | |
| start_index | No | First sample index (full/json); same indices as get_activity_intervals | |
| stream_types | No | Comma-separated stream types (standard or custom codes) or all; default time,watts,heartrate,cadence,altitude,distance,velocity_smooth | |
| output_format | No | summary = per-stream units, statistics, preview; full = CSV row per sample; json = one object with arrays and next_start_index | summary |