Skip to content

Instantly share code, notes, and snippets.

@ahaxu
Last active August 9, 2026 11:30
Show Gist options
  • Select an option

  • Save ahaxu/265f9f4ec9555e9ae57d70b9fff6e9ac to your computer and use it in GitHub Desktop.

Select an option

Save ahaxu/265f9f4ec9555e9ae57d70b9fff6e9ac to your computer and use it in GitHub Desktop.
all athlete stats
{
"event_id": "6a6d746a65e35e8df5dc8189",
"event_slug": "appr-bingo-pace-run-2026-test",
"event_name": "APPR Bingo Pace Run 2026 - Test",
"total_athletes": 2,
"total_activities_with_tracklog": 5,
"total_activities_skipped_no_tracklog": 1,
"athletes": [
{
"athlete_id": 21394076,
"athlete_name": "λ k",
"activities_with_tracklog": 2,
"activities_skipped_no_tracklog": 1,
"activities": [
{
"activity_id": 19553650237,
"name": "Afternoon Run",
"type": "Run",
"distance_km": 2.16,
"moving_time_sec": 903,
"start_date_local": "2026-08-01T17:08:36Z",
"strava_link": "https://www.strava.com/activities/19553650237",
"overall_pace_sec_per_km": 418.06,
"overall_pace_formatted": "6:58/km",
"splits_count": 3,
"splits": [
{
"split": 1,
"distance_m": 1000.5,
"moving_time_sec": 352,
"pace_sec_per_km": 351.82,
"pace_formatted": "5:51/km",
"average_heartrate": 124.68011527377521,
"pace_zone": 5,
"elevation_difference": 1.0
},
{
"split": 2,
"distance_m": 1000.0,
"moving_time_sec": 495,
"pace_sec_per_km": 495.0,
"pace_formatted": "8:15/km",
"average_heartrate": 133.989816700611,
"pace_zone": 1,
"elevation_difference": -2.4
},
{
"split": 3,
"distance_m": 159.5,
"moving_time_sec": 64,
"pace_sec_per_km": 401.25,
"pace_formatted": "6:41/km",
"average_heartrate": 146.8125,
"pace_zone": 3,
"elevation_difference": 0.0
}
]
},
{
"activity_id": 19595975159,
"name": "Afternoon Run",
"type": "Run",
"distance_km": 5.01,
"moving_time_sec": 1966,
"start_date_local": "2026-08-04T17:47:25Z",
"strava_link": "https://www.strava.com/activities/19595975159",
"overall_pace_sec_per_km": 392.02,
"overall_pace_formatted": "6:32/km",
"splits_count": 6,
"splits": [
{
"split": 1,
"distance_m": 1001.5,
"moving_time_sec": 495,
"pace_sec_per_km": 494.26,
"pace_formatted": "8:14/km",
"average_heartrate": 132.54747474747475,
"pace_zone": 1,
"elevation_difference": 0.8
},
{
"split": 2,
"distance_m": 999.9,
"moving_time_sec": 376,
"pace_sec_per_km": 376.04,
"pace_formatted": "6:16/km",
"average_heartrate": 149.68882978723406,
"pace_zone": 3,
"elevation_difference": 3.0
},
{
"split": 3,
"distance_m": 998.6,
"moving_time_sec": 321,
"pace_sec_per_km": 321.45,
"pace_formatted": "5:21/km",
"average_heartrate": 153.98442367601245,
"pace_zone": 5,
"elevation_difference": 0.2
},
{
"split": 4,
"distance_m": 1001.2,
"moving_time_sec": 349,
"pace_sec_per_km": 348.58,
"pace_formatted": "5:48/km",
"average_heartrate": 150.28695652173914,
"pace_zone": 4,
"elevation_difference": -0.2
},
{
"split": 5,
"distance_m": 1001.4,
"moving_time_sec": 422,
"pace_sec_per_km": 421.41,
"pace_formatted": "7:01/km",
"average_heartrate": 142.39336492890996,
"pace_zone": 2,
"elevation_difference": -0.6
},
{
"split": 6,
"distance_m": 13.7,
"moving_time_sec": 5,
"pace_sec_per_km": 364.96,
"pace_formatted": "6:04/km",
"average_heartrate": 148.6,
"pace_zone": 2,
"elevation_difference": -0.6
}
]
}
]
},
{
"athlete_id": 35379738,
"athlete_name": "Gia Sang 🧑🏻‍💻",
"activities_with_tracklog": 3,
"activities_skipped_no_tracklog": 0,
"activities": [
{
"activity_id": 19562194463,
"name": "VPBank Music Half Marathon",
"type": "Run",
"distance_km": 21.41,
"moving_time_sec": 8606,
"start_date_local": "2026-08-02T03:31:26Z",
"strava_link": "https://www.strava.com/activities/19562194463",
"overall_pace_sec_per_km": 401.95,
"overall_pace_formatted": "6:41/km",
"splits_count": 22,
"splits": [
{
"split": 1,
"distance_m": 1000.0,
"moving_time_sec": 448,
"pace_sec_per_km": 448.0,
"pace_formatted": "7:28/km",
"average_heartrate": 132.14955357142858,
"pace_zone": 1,
"elevation_difference": -4.6
},
{
"split": 2,
"distance_m": 1001.5,
"moving_time_sec": 433,
"pace_sec_per_km": 432.35,
"pace_formatted": "7:12/km",
"average_heartrate": 142.3187066974596,
"pace_zone": 1,
"elevation_difference": 0.2
},
{
"split": 3,
"distance_m": 999.9,
"moving_time_sec": 423,
"pace_sec_per_km": 423.04,
"pace_formatted": "7:03/km",
"average_heartrate": 144.5224586288416,
"pace_zone": 1,
"elevation_difference": -2.6
},
{
"split": 4,
"distance_m": 999.0,
"moving_time_sec": 412,
"pace_sec_per_km": 412.41,
"pace_formatted": "6:52/km",
"average_heartrate": 148.69417475728156,
"pace_zone": 1,
"elevation_difference": -2.0
},
{
"split": 5,
"distance_m": 999.7,
"moving_time_sec": 418,
"pace_sec_per_km": 418.13,
"pace_formatted": "6:58/km",
"average_heartrate": 154.1602870813397,
"pace_zone": 1,
"elevation_difference": 6.8
},
{
"split": 6,
"distance_m": 1000.1,
"moving_time_sec": 398,
"pace_sec_per_km": 397.96,
"pace_formatted": "6:37/km",
"average_heartrate": 147.94221105527637,
"pace_zone": 1,
"elevation_difference": -10.2
},
{
"split": 7,
"distance_m": 1001.9,
"moving_time_sec": 403,
"pace_sec_per_km": 402.24,
"pace_formatted": "6:42/km",
"average_heartrate": 151.9125,
"pace_zone": 1,
"elevation_difference": -1.0
},
{
"split": 8,
"distance_m": 998.1,
"moving_time_sec": 388,
"pace_sec_per_km": 388.74,
"pace_formatted": "6:28/km",
"average_heartrate": 154.24484536082474,
"pace_zone": 1,
"elevation_difference": 3.6
},
{
"split": 9,
"distance_m": 1001.3,
"moving_time_sec": 402,
"pace_sec_per_km": 401.48,
"pace_formatted": "6:41/km",
"average_heartrate": 153.89027431421445,
"pace_zone": 1,
"elevation_difference": -1.6
},
{
"split": 10,
"distance_m": 999.5,
"moving_time_sec": 400,
"pace_sec_per_km": 400.2,
"pace_formatted": "6:40/km",
"average_heartrate": 154.70603015075378,
"pace_zone": 1,
"elevation_difference": -1.4
},
{
"split": 11,
"distance_m": 1000.9,
"moving_time_sec": 388,
"pace_sec_per_km": 387.65,
"pace_formatted": "6:27/km",
"average_heartrate": 162.409793814433,
"pace_zone": 1,
"elevation_difference": 1.0
},
{
"split": 12,
"distance_m": 999.5,
"moving_time_sec": 396,
"pace_sec_per_km": 396.2,
"pace_formatted": "6:36/km",
"average_heartrate": 158.38888888888889,
"pace_zone": 1,
"elevation_difference": -3.0
},
{
"split": 13,
"distance_m": 1000.8,
"moving_time_sec": 388,
"pace_sec_per_km": 387.69,
"pace_formatted": "6:27/km",
"average_heartrate": 160.94845360824743,
"pace_zone": 1,
"elevation_difference": 0.6
},
{
"split": 14,
"distance_m": 1000.1,
"moving_time_sec": 385,
"pace_sec_per_km": 384.96,
"pace_formatted": "6:24/km",
"average_heartrate": 161.36363636363637,
"pace_zone": 1,
"elevation_difference": -3.2
},
{
"split": 15,
"distance_m": 1000.2,
"moving_time_sec": 381,
"pace_sec_per_km": 380.92,
"pace_formatted": "6:20/km",
"average_heartrate": 169.1286089238845,
"pace_zone": 1,
"elevation_difference": 2.0
},
{
"split": 16,
"distance_m": 999.3,
"moving_time_sec": 384,
"pace_sec_per_km": 384.27,
"pace_formatted": "6:24/km",
"average_heartrate": 164.01827676240208,
"pace_zone": 1,
"elevation_difference": 0.4
},
{
"split": 17,
"distance_m": 998.9,
"moving_time_sec": 423,
"pace_sec_per_km": 423.47,
"pace_formatted": "7:03/km",
"average_heartrate": 153.24703087885985,
"pace_zone": 1,
"elevation_difference": 0.6
},
{
"split": 18,
"distance_m": 1000.7,
"moving_time_sec": 404,
"pace_sec_per_km": 403.72,
"pace_formatted": "6:43/km",
"average_heartrate": 153.88805970149255,
"pace_zone": 1,
"elevation_difference": 3.4
},
{
"split": 19,
"distance_m": 1000.2,
"moving_time_sec": 412,
"pace_sec_per_km": 411.92,
"pace_formatted": "6:51/km",
"average_heartrate": 156.85922330097088,
"pace_zone": 1,
"elevation_difference": -2.4
},
{
"split": 20,
"distance_m": 1000.1,
"moving_time_sec": 386,
"pace_sec_per_km": 385.96,
"pace_formatted": "6:25/km",
"average_heartrate": 158.96373056994818,
"pace_zone": 1,
"elevation_difference": -1.0
},
{
"split": 21,
"distance_m": 1000.3,
"moving_time_sec": 381,
"pace_sec_per_km": 380.89,
"pace_formatted": "6:20/km",
"average_heartrate": 165.20997375328085,
"pace_zone": 2,
"elevation_difference": 4.8
},
{
"split": 22,
"distance_m": 408.4,
"moving_time_sec": 153,
"pace_sec_per_km": 374.63,
"pace_formatted": "6:14/km",
"average_heartrate": 171.7828947368421,
"pace_zone": 2,
"elevation_difference": -8.8
}
]
},
{
"activity_id": 19605299741,
"name": "Morning Run",
"type": "Run",
"distance_km": 9.74,
"moving_time_sec": 3966,
"start_date_local": "2026-08-05T05:35:52Z",
"strava_link": "https://www.strava.com/activities/19605299741",
"overall_pace_sec_per_km": 407.36,
"overall_pace_formatted": "6:47/km",
"splits_count": 10,
"splits": [
{
"split": 1,
"distance_m": 1000.4,
"moving_time_sec": 419,
"pace_sec_per_km": 418.83,
"pace_formatted": "6:58/km",
"average_heartrate": 132.54415274463008,
"pace_zone": 1,
"elevation_difference": 2.6
},
{
"split": 2,
"distance_m": 999.6,
"moving_time_sec": 404,
"pace_sec_per_km": 404.16,
"pace_formatted": "6:44/km",
"average_heartrate": 130.47029702970298,
"pace_zone": 1,
"elevation_difference": 0.0
},
{
"split": 3,
"distance_m": 1002.0,
"moving_time_sec": 408,
"pace_sec_per_km": 407.19,
"pace_formatted": "6:47/km",
"average_heartrate": 138.65196078431373,
"pace_zone": 1,
"elevation_difference": -3.6
},
{
"split": 4,
"distance_m": 998.2,
"moving_time_sec": 407,
"pace_sec_per_km": 407.73,
"pace_formatted": "6:47/km",
"average_heartrate": 140.5159705159705,
"pace_zone": 1,
"elevation_difference": 0.4
},
{
"split": 5,
"distance_m": 1001.2,
"moving_time_sec": 398,
"pace_sec_per_km": 397.52,
"pace_formatted": "6:37/km",
"average_heartrate": 142.1010101010101,
"pace_zone": 1,
"elevation_difference": 0.2
},
{
"split": 6,
"distance_m": 999.1,
"moving_time_sec": 397,
"pace_sec_per_km": 397.36,
"pace_formatted": "6:37/km",
"average_heartrate": 142.2241813602015,
"pace_zone": 1,
"elevation_difference": 0.4
},
{
"split": 7,
"distance_m": 1001.1,
"moving_time_sec": 411,
"pace_sec_per_km": 410.55,
"pace_formatted": "6:50/km",
"average_heartrate": 145.83698296836982,
"pace_zone": 1,
"elevation_difference": 0.4
},
{
"split": 8,
"distance_m": 999.6,
"moving_time_sec": 404,
"pace_sec_per_km": 404.16,
"pace_formatted": "6:44/km",
"average_heartrate": 151.76884422110552,
"pace_zone": 1,
"elevation_difference": -0.6
},
{
"split": 9,
"distance_m": 999.3,
"moving_time_sec": 406,
"pace_sec_per_km": 406.28,
"pace_formatted": "6:46/km",
"average_heartrate": 156.80541871921181,
"pace_zone": 1,
"elevation_difference": -0.4
},
{
"split": 10,
"distance_m": 736.7,
"moving_time_sec": 314,
"pace_sec_per_km": 426.23,
"pace_formatted": "7:06/km",
"average_heartrate": 149.1464968152866,
"pace_zone": 1,
"elevation_difference": 0.4
}
]
},
{
"activity_id": 19634264431,
"name": "Morning Run",
"type": "Run",
"distance_km": 8.54,
"moving_time_sec": 3504,
"start_date_local": "2026-08-07T05:37:23Z",
"strava_link": "https://www.strava.com/activities/19634264431",
"overall_pace_sec_per_km": 410.37,
"overall_pace_formatted": "6:50/km",
"splits_count": 9,
"splits": [
{
"split": 1,
"distance_m": 1000.3,
"moving_time_sec": 416,
"pace_sec_per_km": 415.88,
"pace_formatted": "6:55/km",
"average_heartrate": 126.37259615384616,
"pace_zone": 1,
"elevation_difference": 2.8
},
{
"split": 2,
"distance_m": 1002.0,
"moving_time_sec": 409,
"pace_sec_per_km": 408.18,
"pace_formatted": "6:48/km",
"average_heartrate": 128.43031784841077,
"pace_zone": 1,
"elevation_difference": -1.6
},
{
"split": 3,
"distance_m": 998.6,
"moving_time_sec": 394,
"pace_sec_per_km": 394.55,
"pace_formatted": "6:34/km",
"average_heartrate": 136.69035532994923,
"pace_zone": 1,
"elevation_difference": -1.8
},
{
"split": 4,
"distance_m": 1001.7,
"moving_time_sec": 401,
"pace_sec_per_km": 400.32,
"pace_formatted": "6:40/km",
"average_heartrate": 139.65336658354116,
"pace_zone": 1,
"elevation_difference": -1.8
},
{
"split": 5,
"distance_m": 999.2,
"moving_time_sec": 448,
"pace_sec_per_km": 448.36,
"pace_formatted": "7:28/km",
"average_heartrate": 136.33100233100234,
"pace_zone": 1,
"elevation_difference": -0.6
},
{
"split": 6,
"distance_m": 1000.4,
"moving_time_sec": 374,
"pace_sec_per_km": 373.85,
"pace_formatted": "6:13/km",
"average_heartrate": 145.50802139037432,
"pace_zone": 1,
"elevation_difference": 0.6
},
{
"split": 7,
"distance_m": 999.7,
"moving_time_sec": 361,
"pace_sec_per_km": 361.11,
"pace_formatted": "6:01/km",
"average_heartrate": 151.93628808864267,
"pace_zone": 2,
"elevation_difference": 0.4
},
{
"split": 8,
"distance_m": 998.7,
"moving_time_sec": 354,
"pace_sec_per_km": 354.46,
"pace_formatted": "5:54/km",
"average_heartrate": 157.0593220338983,
"pace_zone": 2,
"elevation_difference": -1.4
},
{
"split": 9,
"distance_m": 539.2,
"moving_time_sec": 347,
"pace_sec_per_km": 643.55,
"pace_formatted": "10:43/km",
"average_heartrate": 131.64086687306502,
"pace_zone": 1,
"elevation_difference": -3.0
}
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment