Activities Stream (Workouts)
You can retrieve user activities stream data by user_id and filter by date range
Get a activity stream data by user_id
GET
Params
Query Parameters
user_id
required
String
User ID returned by add integration request. This key should be stored in your database against the user and used for all interactions with the Spike API.
start_date
required
String
Date from in YYYY-MM-DD format
end_date
required
String
Date to in YYYY-MM-DD format
Header Parameters
authorizationtoken
optional
String
Client access token (deprecated)
x-spike-auth
required
String
Client access token
Python
|
import requests url = "https://api.spikeapi.com/metrics/activities_stream/?user_id=282812818&start_date=2020-05-01&end_date=2020-05-03" headers = {} headers['x-spike-auth'] = 'fa0b3803-1111-2222-9788-eccce210d30c' response = requests.request("GET", url, headers=headers) print(response.text)
RESPONSES
200
|
{ "user_key": "19291291291", "start_date": "2020-05-01", "end_date": "2020-05-03", "type": "activities_stream", "sources": [ { "name": "fitbit", "status": "ok" } ], "data": [{ "time_start": "2020-05-03T15:48:07", "time_end": "2020-05-03T16:48:07", "timezone_offset": 2400, "activity_name": "Walking", "activity_type_id": "10002", "provider_activity_name": "Walk", "provider_activity_type_id": "90013", "provider_activity_id": "11191796834", "provider_user_id": "A0012", "avg_hr": 100, "max_hr": 180, "min_hr": 65, "avg_hr_variability": 100, "calories": 200, "source": "fitbit", "hr_zones": [ 100, 90, 10, 10, 200 ], "moving_time": 3100, "total_elevation_gain": 10.1, "total_elevation_loss": 11.2, "elev_high": 21.2, "elev_low": -9.2, "distance": 1600, "steps":1500, "avg_speed": 4.4, "max_speed": 7.1, "average_watts": 120, "device_watts": true, "max_watts": 200, "weighted_average_watts": 250, "max_pace_in_minutes_per_kilometer": 10.39, "samples": [ { "time_start": "2020-05-03T15:48:07", "time_end": "2020-05-03T15:49:02", "timer_duration": 0, "moving_time": 0, "latitude_in_degree": 51.053232522681355, "longitude_in_degree": -114.06880217604339, "elevation": 108.4000015258789, "air_temperature": 28.0, "heartrate": 80, "speed": 0.0, "steps_per_minute": 0.0, "distance": 0.0, "power_in_watts": null, "bike_cadence_rpm": null, "swim_cadence_strokes_per_minute": null } ], "laps": [ { "time_start": "2020-05-03T15:48:07" } ], "manual": false, "original_source": [ "Garmin vívoactive 4" ], "map": "gvr~FnbwuOnx@nTvk@pG" }, { "time_start": "2020-05-03T11:48:07", "time_end": "2020-05-03T12:48:07", "timezone_offset": 2400, "activity_name": "Running", "activity_type_id": "10003", "provider_activity_name": "Run", "provider_activity_type_id": "90009", "provider_activity_id": "11191796834", "provider_user_id": "A0012", "avg_hr": 107, "max_hr": 180, "min_hr": 65, "avg_hr_variability": 100, "calories": 300, "source": "fitbit", "hr_zones": [ 100, 90, 10, 10, 200 ], "moving_time": 3050, "total_elevation_gain": 30.1, "total_elevation_loss": 22.2, "elev_high": 20.2, "elev_low": -9.2, "distance": 2600, "steps":1500, "avg_speed": 4.4, "max_speed": 7.1, "average_watts": 120, "device_watts": true, "max_watts": 200, "weighted_average_watts": 250, "max_pace_in_minutes_per_kilometer": 11.49, "samples": [], "laps": [], "manual": true, "original_source": [ "manual" ], "map": "gvr~FnbwuOnx@nTvk@pG" } ], }
<style> @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300&display=swap'); .h2, .h3, .list, .description{ font-family: 'Poppins', sans-serif; font-weight: 500; } .h2 { margin-top: -20px; margin-bottom: 20px; font-size: 30px; } .h3 { font-size: 22px; margin-top: -20px; } .list-wrapper { white-space: normal; margin-top: -10px; } .list, .description { font-size: 14px; } .description > a { text-decoration: underline; } </style> <h2 class="h2">Fields</h2> <h3 class="h3">Activity_stream.time_start</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2021-11-11T15:48:07</li> </ul> <p class="description">Start time of the activity</p> <h3 class="h3">Activity_stream.time_end</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2021-11-11T16:48:07</li> </ul> <p class="description">End time of the activity</p> <h3 class="h3">Activity_stream.timezone_offset</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 2400</li> </ul> <p class="description">Timezone offset from UTC as seconds</p> <h3 class="h3">Activity_stream.activity_name</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: Walking</li> </ul> <p class="description"><a href="https://docs.spikeapi.com/standardized-names-and-ids">Standardized name of the recorded activity</a></p> <h3 class="h3">Activity_stream.activity_type_id</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: 10002</li> </ul> <p class="description"><a href="https://docs.spikeapi.com/standardized-names-and-ids">Standardized activity name's identifier number</a></p> <h3 class="h3">Activity_stream.provider_activity_name</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: Walk</li> </ul> <p class="description">Original name of the recorded activity</p> <h3 class="h3">Activity_stream.provider_activity_type_id</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: 90003</li> </ul> <p class="description">Original activity name's identifier number</p> <h3 class="h3">Activity_stream.provider_activity_id</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: 10001113</li> </ul> <p class="description">Original activity id on provider`s system</p> <h3 class="h3">Activity_stream.provider_user_id</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: A001003</li> </ul> <p class="description">User id on provider`s system</p> <h3 class="h3">Activity_stream.avg_hr</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Beats per minute</li> <li class="list">Example: 100</li> </ul> <p class="description">Average heart rate during the activity</p> <h3 class="h3">Activity_stream.max_hr</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Beats per minute</li> <li class="list">Example: 180</li> </ul> <p class="description">Max heart rate during the activity</p> <h3 class="h3">Activity_stream.min_hr</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Beats per minute</li> <li class="list">Example: 65</li> </ul> <p class="description">Min heart rate during the activity</p> <h3 class="h3">Activity_stream.avg_hr_variability</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Milliseconds</li> <li class="list">Example: 100</li> </ul> <p class="description">Average heart rate variability during the activity </p> <h3 class="h3">Activity_stream.calories</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: kcal</li> <li class="list">Example: 200</li> </ul> <p class="description">Number of calories burned during the activity</p> <h3 class="h3">Activity_stream.hr_zones</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Example: [100,90,10,10,200]</li> </ul> <p class="description">Time in minutes spent in different heart rate zones 0-50%, 50-60%, 60-70%, 70-80%, 80-90%, 90%+</p> <h3 class="h3">Activity_stream.moving_time</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 100</li> </ul> <p class="description">Time spent active during the activity (seconds)</p> <h3 class="h3">Activity_stream.total_elevation_gain</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Meters</li> <li class="list">Example: 10.1</li> </ul> <p class="description">Elevation gained during the activity</p> <h3 class="h3">Activity_stream.total_elevation_loss</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Meters</li> <li class="list">Example: 22.2</li> </ul> <p class="description">Elevation lost during activity</p> <h3 class="h3">Activity_stream.elev_high</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Meters</li> <li class="list">Example: 21.2</li> </ul> <p class="description">Highest point of elevation (meters)</p> <h3 class="h3">Activity_stream.elev_low</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Meters</li> <li class="list">Example: -9.2</li> </ul> <p class="description">Lowest point of elevation</p> <h3 class="h3">Activity_stream.distance</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Meters</li> <li class="list">Example: 1600</li> </ul> <p class="description">Cumulated distance for activity (meters)</p> <h3 class="h3">Activity_stream.steps</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Example: 1500</li> </ul> <p class="description">Number of steps taken during the activity</p> <h3 class="h3">Activity_stream.avg_speed</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Metres per seconds</li> <li class="list">Example: 4.4</li> </ul> <p class="description">Average speed during activity (m/s)</p> <h3 class="h3">Activity_stream.max_speed</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Metres per seconds</li> <li class="list">Example: 7.1</li> </ul> <p class="description">Max speed during activity (m/s)</p> <h3 class="h3">Activity_stream.average_watts</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Watts</li> <li class="list">Example: 120</li> </ul> <p class="description">Average watts burned during activity</p> <h3 class="h3">Activity_stream.device_watts</h3> <ul class="list-wrapper"> <li class="list">Type: Bool</li> <li class="list">Example: true</li> </ul> <p class="description">Whether the watts are from a power meter, false if estimated</p> <h3 class="h3">Activity_stream.max_watts</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Watts</li> <li class="list">Example: 200</li> </ul> <p class="description">Max watts burned during</p> <h3 class="h3">Activity_stream.weighted_average_watts</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Watts</li> <li class="list">Example: 250</li> </ul> <p class="description">Weighted average watts burned during activity</p> <h3 class="h3">Activity_stream.max_pace_in_minutes_per_kilometer</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Example: 11.22</li> </ul> <p class="description">Max pace in minutes per kilometer</p> <h3 class="h3">Activity_stream.manual</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: true / false</li> </ul> <p class="description">Whether this activity was created manually</p> <h3 class="h3">Activity_stream.original_source</h3> <ul class="list-wrapper"> <li class="list">Type: List</li> <li class="list">Example: ["Garmin vívoactive 4"]</li> </ul> <p class="description">Original sources of data record</p> <h3 class="h3">Activity_stream.map</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Example: gvr~FnbwuOnx@nTvk@pG</li> </ul> <p class="description">Map polyline</p> <h3 class="h3">Activity_stream.samples.time_start</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2023-03-04T18:35:15</li> </ul> <p class="description">Start time of the sample</p> <h3 class="h3">Activity_stream.samples.time_end</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2023-03-04T18:35:15</li> </ul> <p class="description">End time of the sample</p> <h3 class="h3">Activity_stream.samples.timer_duration</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 2</li> </ul> <p class="description">The amount of "timer time" in an activity</p> <h3 class="h3">Activity_stream.samples.moving_time</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Seconds</li> <li class="list">Example: 2</li> </ul> <p class="description">The amount of "timer time" during which the athlete was moving above a threshold speed</p> <h3 class="h3">Activity_stream.samples.latitude_in_degree</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Decimal degrees</li> <li class="list">Example: 51.053232522681355</li> </ul> <p class="description">Latitude in decimal degrees</p> <h3 class="h3">Activity_stream.samples.longitude_in_degree</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Decimal degrees</li> <li class="list">Example: -114.0688021760433</li> </ul> <p class="description">Logtitude in decimal degrees</p> <h3 class="h3">Activity_stream.samples.elevation</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Meters</li> <li class="list">Example: 20.2</li> </ul> <p class="description">Elevation in meters</p> <h3 class="h3">Activity_stream.samples.air_temperature</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Celcius</li> <li class="list">Example: 18.1</li> </ul> <p class="description">Air temperature in celcius</p> <h3 class="h3">Activity_stream.samples.heartrate</h3> <ul class="list-wrapper"> <li class="list">Type: Int</li> <li class="list">Unit: Hear rate in beats per minute</li> <li class="list">Example: 66</li> </ul> <p class="description">Hear rate in beats per minute</p> <h3 class="h3">Activity_stream.samples.speed</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Meters per second</li> <li class="list">Example: 10.1</li> </ul> <p class="description">Speed in meters per second</p> <h3 class="h3">Activity_stream.samples.steps_per_minute</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Example: 15.6</li> </ul> <p class="description">Steps per minute</p> <h3 class="h3">Activity_stream.samples.distance</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Meters</li> <li class="list">Example: 3000.22</li> </ul> <p class="description">Total distance in meters</p> <h3 class="h3">Activity_stream.samples.power_in_watts</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Watts</li> <li class="list">Example: 1.1</li> </ul> <p class="description">The amount of power expended in watts</p> <h3 class="h3">Activity_stream.samples.bike_cadence_rpm</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Revolutions per minute</li> <li class="list">Example: 88.2</li> </ul> <p class="description">Cycling cadence in revolutions per minute</p> <h3 class="h3">Activity_stream.samples.swim_cadence_strokes_per_minute</h3> <ul class="list-wrapper"> <li class="list">Type: Float</li> <li class="list">Unit: Strokes per Minute</li> <li class="list">Example: 16.2</li> </ul> <p class="description">Swim cadence in strokes per minute</p> <h3 class="h3">Activity_stream.laps.time_start</h3> <ul class="list-wrapper"> <li class="list">Type: String</li> <li class="list">Format: Date time, YYYY-MM-DDThh:mm:ss</li> <li class="list">Example: 2023-03-04T18:35:15</li> </ul> <p class="description">Start time of the lap</p>
Did this page help you?
Yes
No