Hello everyone,
I'm developing a university project in Python using the Strava API directly through requests.
For some activities, the request to GET /api/v3/activities/{activity_id}/streams returns HTTP 200, but the heartrate stream is missing.
For one affected activity, the results are:
-
has_heartrate: false -
average_heartrate: null -
Requested stream:
heartrate -
Returned streams:
distance
The athlete has confirmed that they used a heart-rate monitor during the activity. Our OAuth authorization requests the activity:read_all scope, and token refresh works correctly.
Other activities from other athletes do return heart-rate data through the same code.
My questions are:
-
Can the heart-rate stream be unavailable through the API even when an athlete used a heart-rate monitor?
-
Does
has_heartrate: falsemean that Strava has no heart-rate data available for that activity, or could this indicate an API access issue? -
Are there any additional permissions or conditions that could explain this behavior?
I can provide sanitized API responses and further details if needed.
Thank you!
