Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
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 .
Hi Folks, Trying to use the API to upload activities recorded by a Chinese Bicycle Computer, that junk product cannot automatically upload data to Strava, so I have to write a script to get those fit files via adb, and then upload them to strava via api. However I got response like this: Upload failed: {"message":"Authorization Error","errors":[{"resource":"AccessToken","field":"activity:write_permission","code":"missing"}]} I used scope = ['activity:write'] when getting an access_token, and I found out I always get the same access token whatever I set the scope to be. That access token is also the one showed on https://www.strava.com/settings/api, under that I can see scope: read, just like https://communityhub.strava.com/t5/developer-discussions/authentication-scope/m-p/6357. In order to upload fit files I need a token with "activity:write", but I cannot find anywhere to change the scope of my access token. Of course I tried to solved this b
Hello everybody, I would like to livestream my first half marathon on Twitch. To make it more fun, I would like to display some real-time information about my race (heart rate, time per km, distance traveled...) by retrieving this information from the Strava application on my Apple Watch. Do you think this is possible? I'm just starting to code and I don't understand everything yet. If some people could enlighten me I would be very grateful. Thank you so much. Gael
We manufacture device and would like it mapped on Strava.therefore submitted a device mapping STRAVA request form, but it has been 10 business days and no response.Please tell me what is the reason?Will modifying the content of the form during the review process recalculate the response time?Looking forward to your reply!
Hi, can I get all rides or recent rides that are intersecting exact area?I want to build a website for local MTB trails and I want to include there a block with recent rides on the trails
Hi, I am new to Strava API development. I found examples of getting the segment leaderboard on the internet, but it's not in the API documentation and my code never returns anything so I am guessing those don't exist anymore. Any pointers? I would like to know the top10 times for segments. TIA!
Hi,We import activities from multiple sources, e.g. Garmin and Strava. When we receive a webhook message from Strava that a new activity has been created, we always have to do the following:Request the activity from Strava's API or request a list of the latest activities of the athlete (these are kind of equivalent, we do the former)Compare the start time (utc timestamp) of the activity with the activity start times that we have in our database. Under the assumption that a user cannot start two activities at exactly the same time, we can determine that an activity has already been imported from another source and then ignore it, or import it when we do not have it yet.It would be very convenient for us, and perhaps/probably also for others, when Strava's webhooks would also contain this start timestamp, so we can omit step 1 and thus, for bonus points, use up less of Strava's rate limit (and server time).
Activities via: https://www.strava.com/api/v3/activities Shows "elapsed_time" in seconds but if the activity is longer than 24hours it seems to only contain the remainder after the first 24hours e.g. https://www.strava.com/activities/3886452961/overview = 27:52:15/activities returns:"elapsed_time": 13935 = 3:52:15 https://www.strava.com/api/v3/activities/3886452961 returns: "elapsed_time": 100335 = 27:52:15 Is this known/expected behaviour? Seems like a possible bug?
Not sure if there is any guidance for this or if this is somehow expected? I have a run activity which is 27:52:15 long The API (https://www.strava.com/api/v3/activities) returns:"elapsed_time": 13935 Which is: 03:52:15 (obviously less 24) Activity id: 3886452961 When calling the activity directly: https://www.strava.com/api/v3/activities/3886452961?include_all_efforts=false "elapsed_time": 100335 >> the correct amount
Hello! I was wondering if there are any plans to develop an API that would allow club owners to create events. The reason I'm asking is that I find myself in a situation where I have many past events that I would like to reuse for future club events, and it would be amazing if I could automate this process. Would you happen to have any information on this topic?
It would be great to be able to add a webhook subscription directly within https://www.strava.com/settings/apiRight now the overhead of having to implement the subscription programmatically from the client means we need a one-off Strava implementation that doesn't look like any other product that offers this kind of webhook service. This is harder to support over time, and has meant we have had to rely on polling the activity endpoints more than we want to.Thanks for listening!
Hey 🙂 We have been using Strava API since 2017 and organize hundreds of local sports and eco challenges, very often with prizes, e.g. from local authorities. Credibility of the data and fraud detection is though very important. We've experienced cases when users upload manually to Strava activities which were well prepared in widely available tools - those activities have a reliable .gpx track, data about source (all sports devices) and looks like real activities. Quite often they download .gpx tracks from other Strava users and edit them (e.g. adding timestamps in any .gpx editor or editing device source) To make our events we need to somehow spot those fraudulent activities. Do you have any idea how we can recognize them? Huge thanks for help in advance! Have an active day! 🙂
Hi, I am not sure if this is the right place to ask this but I will just go ahead: I am trying to set up a webhook to strava and followed this guide. I think I made a mistake when sending the request to the push_subscriptions endpoint and did not save the response from it. Now I would like to delete the subscription as described in this article. Because I did not save the response from the first request I do not know my subscription ID. To retrieve this ID I tried to make a GET request to the push_subscriptions endpoint and view the subscription, as described in the article aswell. This however does not work and returns this errror: The request I sent to receive this errror was the following (in Python): When trying to just subscribe again, I just get the error that a subscription already exists, so I do want to delete it or at least be able to view it. I would really appreciate some help with this issue, and sorry if there is a better place to ask these kind of questions.
Hi everyone! In the getActivity api response there is only start_date and no end_date. Currently I need to know the time when the most users finish their activity. i want to know exactly total time from start to end activity (moving time, elapsed_time, pause activity time ) Thanks everyone!
Good morning,I have a question about activity upload via api.I have a TCX file built manually, thus not coming from a device like Garmin. This file contains elevation data (<AltitudeMeters>...</AltitudeMeters>).If I try to upload this activity via api (https://www.strava.com/api/v3/uploads), the activity appears among my activities (https://www.strava.com/athlete/training), but shows an elevation of 0.Using the web interface (+ >> Upload activity >> Choose file):1) before clicking Save & View, the activity appears among my activities, without elevation2) after clicking Save & View, the elevation appears and is correct.It seems like the api call stops at step 1, and the elevation is missing. Is it possible to obtain the same result (steps 1 and 2) using apis?
Strava calculates the nearest possible location of where an activity was performed. For example, if you ride your bike in a local state park, Strava is able to retrieve that information and add it next to the time and date of your activity. Is it possible to expose this information as part of the API response for an activity?The use case I have is to get the location data and stick it to the title as part of post process automation to indicate where an activity was performed.
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.