Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
import requests def get_strava_profile(access_token😞 url = "https://www.strava.com/api/v3/athlete" headers = {"Authorization": f"Bearer {access_token}"} response = requests.get(url, headers=headers) if response.status_code == 200: return response.json() else: print(f"Error: {response.status_code}") return None if __name__ == "__main__": access_token = "YOURACCESSTOKEN" profile_data = get_strava_profile(access_token) if profile_data: print(profile_data) get_strava_profile('')How do I get this working? I get a 401 error
I have developed an Android bike computer and my users wants to be able to send live location data to their family or love ones. Such that they can be tracked. Just like Strava Beacon function. As the Strava Beacon function exists I would like to have an API which can be used to post live location data every x minutes/seconds if an activity is started. Such that the my users can use the beacon functionality of Strava. It would be nice if all Strava users can have a unique link which can be reused for each activity. Possibly with privacy settings options (public visible or only for Strava followers or only Strava Beacon followers e.g.) Benefit for Strava is that users should be a Strava Subscriber to be able to use the function. So possibly more subscribers for Strava. Benefit for me is that I do not have to develop this kind of functionality.
We are working on our webhook implementation, and are finding that after the create POST, photos are not available when we do a GET to the getActivityById endpoint. Assuming this is a timing issue, it would be great to have them as part of the update fields in an update POST. Right now the getLoggedInAthleteActivities endpoint is more consistent than webhooks and the data provided for both create and update events - we'd love for that to be swapped so we can deliver a better experience for our users.
Since yesterday, I haven't been receiving any new activity events. I attempted to delete my subscription and re-subscribe, but I am now only receiving a "bad request" message from Strava. Has anyone else experienced this issue?
Hi all,I have a request. Is it possible to expose the Fitness & Freshness metrics via the Strava API? Currently these metrics can only be seen on the Strava website/App.
I received three activity from one person. However, all its values are the same, perhaps the only similarity here is activity_id and polylines_id. Can you check for me and give me the reason? Thank you for your help
Is there any documentation on exactly what is counted under "Read Rate Limits" vs "Overall Rate Limits" ?https://www.strava.com/settings/api includes little (?) links next to each, but they both link to the same page which does not mention Read vs Overall.We're assuming read is pretty much any call to GET athlete/activities or activities/.../stream, but it would be nice to confirm - the overall rate limit we have is five times the read limit, and we have no idea what we would do with so many write calls 🙂Thanks
I'm hitting an issue where the activities api is behaving unexpectedly. I can curl and retrieve details for many activities but I'm having an issue with indoor cycle activities from Wahoo. curl -H "Authorization: Bearer ***" https://www.strava.com/api/v3/activities/9186799911 {"message":"Resource Not Found","errors":[{"resource":"Activity","field":"","code":"not found"}]} Is there something different I need to do to get an api query for a cycle activity from Wahoo working? Running the same command against https://www.strava.com/api/v3/activities/9187552481 gives the expected result.
Why has Strava removed the distance behind/ahead of pace for goal targets?!? Very disappointingPLEASE BRING IT BACK
I am working on a React application and am using the Strava API to retrieve an athlete's activities. It is working successfully except for some reason it isn't returning Virtual Rides. I have been testing it by manually creating Virtual Rides on strava.com, but these rides are never being returned by the API call. The Virtual Rides I have been creating have their visibility set to "Everyone", so I don't believe it's a privacy issue. Again, the API call is returning normal Rides just fine; it's just not including Virtual Rides. Why not? Here's a code snippet: "return axios.get(`https://www.strava.com/api/v3/athlete/activities?access_token=${user.access_token}`, { headers: { Accept: "application/json", Authorization: "Bearer " + user.access_token, }, } );"
Is there any way to get to the full activity stream from specific friends, from an API perspective? It seems like API: https://www.strava.com/api/v3/activities/{id}/streams?keys=watts only works for your own activites.However, the full activity is available through the website (with cookie authentication):https://www.strava.com/activities/9297562809/streams?stream_types%5B%5D=latlng&stream_types%5B%5D=privacy&stream_types%5B%5D=time&stream_types%5B%5D=heartrate&stream_types%5B%5D=altitude&stream_types%5B%5D=distance&stream_types%5B%5D=moving&stream_types%5B%5D=velocity_smooth&stream_types%5B%5D=cadence&stream_types%5B%5D=watts&stream_types%5B%5D=watts_calcIf this is available on the website, why isn't on the API side?thanks,
My kids race mountain bikes and send me their strava beacon. I'm hoping to be able to pull their real time location data (and maybe their teammates) and put it on a map where the family members who are at the race can see where everyone is on the course. Picture beacon as it is now but with multiple riders on the screen at once. I might be missing this somewhere but I cant tell if the Get Activity Streams would be able to give me the strava location data in real time. I tried using the Swagger Playground (and the API via postman) but I cant figure out how to get the activity ID of an activity that is currently being recorded. Any suggestions? Thanks!
Hello EveryoneLastnight i successfully set up my app using the Getting Started Guide. I was able to setup Postman and connect. I used to OAuth and got the code and was able to view all my activities on Postman and on this Strava API tutorial. https://youtu.be/sgscChKfGygToday however nothing works. Im sure its bc my access token is expired but I cannot figure out how to refresh it. Ive tried the tokens from my Strava API page and the new tokens i got from the OAuth yesterday on Postman to no avail. I can re-run the OAuth url and get a new code but and it returns new tokens but they dont work.I appreciate any help.
I tried to use strava api with clubs, try to get events, and detailed information for club athletes, but is not possible, i was looking the endpoints that strava use in his page and i find some endpoints can fit this like https://www.strava.com/clubs/{id}/leaderboard This endpoint retrieve all the club members with the detailed information
I want to create a data visualization personal project for fun. I want to make an interactive map to display public segment data. To compare personal times with others. Also to possibly highlight locals who have great times throughout the city (Im from NYC and want to only use segment data from the city).While doing my initial research for this problem I see many posts and forums talking about how Strava doesn't let you get this data anymore even if you're a paid user(I am a paid user). Is this true? Or am I seeing info on something else and getting myself confused?I really just want data on times and perhaps usernames(or athlete ID if usernames aren't allowed).If anyone knows about this please let me know if this is possible.Thanks for your time while reading this and any help you could throw my way!!
Hello, When getting an activity at `/api/v3/activities/9250597099` only the "primary" photo is returned. I have seen there is an endpoint `/api/v3/activities/9250597099/photos` but it only returns "placeholder" images.. Is there any way to retrieve all photos? I have basically requested all scopes.. "read","read_all","profile:read_all","activity:read","activity:read_all", but that didn't seem to change anything.. thanks, Herbert
Hi everyone, I’m working on a little dashboard to do some stats on my « bicycle to work » activities (i.e. global distance, fuel not used, etc) and I was wondering if there is a way to add a parameter to the getLoggedInAthleteActivities request so it only returns activities matching a specific type. In my case it would by only cycling activities for example since I don’t use running or yoga activities to do my stats. Thanks for your replies
I'm trying to get some information of public activities but seems to be not easy.As spectated, work with my activities but not with public activities, using scope activity:read_all not working.Using activities with scope activities:read or read_all i cant access to activities of other athlete and with streams i can access to one key only, but not all data in one request.I'm doing something wrong or there is not possible?Thanks you
Hey, I have started working with Strava API and on the beginning I have problem. I authenticate from my app using scope: read_all,profile:read_all,activity:read_all, I can get all my activities but when I'm trying to get one I have 404. I use http get on https://www.strava.com/api/v3/athlete/activities/{id}?include_all_efforts=true where id is number which I take from previous request about list of activites. I use id property from item. I have seen in examples that id is longer than I see on my activities (for example my is 9158500198 but in examples numbers are longer like 123456778928065). What can be a problem?
I'm trying to grab my total amount of activities via Strava API. I see that this endpoint:strava.com/api/v3/athletes/<athlete id>/statsProvides some stats like all_ride_totals, all_run_totals and all_swim_totals but I don't see the total amount of activities. Is this amount in another endpoint that I'm not familiar with? I can see this total on my profile dashboard (see screenshot), so I'm assuming that has to be somewhere.
Is anyone else encountering a 502 Bad Gateway error when attempting to upload an activity using TCX data? While it was previously functional, the system is now displaying a message saying "Strava is temporarily unavailable. Please visit http://status.strava.com for further information. We appreciate your patience."Interestingly, the status page indicates that all systems are functioning normally, leading me to question whether there could be limitations placed on my usage or perhaps another underlying issue. It's worth noting that my code is unlikely to be the problem, as it has functioned without issue in the past. Im using it solely for testing purposes at the time before making it production ready in my application and filling in the forms for a review. The client id and secret is only shared between me and another developer so we can test it out on iOS and Android.
Hi all.I have a django app that connects to Strava through oauth.When I set the authorisation up, a while ago, I used the defaults that are detailled here , which means that the scope of my access token is read.At that time, I did not know exactly what I would need, so it was fine.But as my app progressed, I realised that the read scope prevented me from getting any ride data that falls under my privacy settings.So I wanted to update the scope to read_all and to add activity:read_all also, to get all the data. But I have not been successful at all at modifying the scope of my access token.I' ve tried to create another one (including following https://developers.strava.com/docs/authentication/ ) byt when I check on my settings/api page, the scope is still read.Strangely enough, I now have two tokens that I can use to connect, but the one with extended scope works only when I curl, not when I use django.I have run out of ideas on how to either delete my current access token and crea
We have an iphone and watch os app and would like for our users to be able to connect to strava such that their workouts automatically upload from our app on their device to our server and then from our server to strava (all automatically once they have connected their strava account to their account on our server). Concept 2 does it this way for their ergData app using their online logbook. We are looking for what code or setup would be best for connecting their Strava account to their account on our server and then how their workouts would get automatically set to strava. In addition and similar to what Concept 2 does we'd like to also send a generated jpeg with the upload to strava that shows their workout interval summary information. Any guidance or help is greatly appreciated.
Hi It's not clear from the email what will happen if apps aren't submitted for review, will the app lose access to the API or just to support or something else?
Is there a way to retrieve leaderboard results for all athletes in a specific segment? I'm getting {"message": "Forbidden","errors": []} even though I'm a subscribed user. Also, I'm not sure if the segment_efforts feature only shows my own efforts or if it includes data from other athletes? Is there a way to get information about other athletes who ran a specific route or segment, like their speed and date?Any help would be appreciated .
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.