Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
Hey, Any Strava developers reading this forum? I've sent a request (to developers-at-strava.com) to increase the rate limit for my app (Client ID: 68556, Ticket #5526) more than two weeks ago but got no response (same on Twitter). I have ~600 users and a rate limit of 1000 requests per day is killing me (and creates a lot of user complaints).If anyone from Strava is reading this, please reach out and help me resolve the ticket. Thanks!
Hello Strava team, I hope this message finds you well. My name is Marcos and I have recently been experiencing difficulties while using the Strava API, specifically with the OAuth authentication process. The code I have been using up until now is as follows: curl -X POST https://www.strava.com/api/v3/oauth/token -d client_id=ReplaceWithClientID -d client_secret=ReplaceWithClientSecret -d grant_type=refresh_token -d refresh_token=ReplaceWithRefreshToken Unfortunately, it seems that this code is no longer working and I am having trouble obtaining the code parameter required for some requests. Furthermore, after checking the documentation page, I noticed that the information does not appear to be up-to-date. I would like to request your assistance in resolving this issue and, if possible, ask for an update to the documentation. This would be extremely helpful for me and other developers who use the Strava API. Thank you in advance for your attention and I eagerly await your guidance. Best
I would like to prevent unwanted users to auth to my application.1. Is there a way I could POST some headers/data during authorization to "https://www.strava.com/oauth/authorize" like client_id?2. The use case is that I don't want users to share auth link like: "https://www.strava.com/oauth/authorize?client_id=99999&redirect_uri=https://mysecretwebpage.org&response_type=code&scope=activity:read_all"3. I just want the users to be possible to auth to my app when clicking a link from my webpage. This would act as a protection from copy&pasting the link.Thanks.
Hi, I have an issue with Strava API. I want to get activity streams and especially cadence, watts and temp for 1 activity.Problem: with my requests below, I can only see 'temp' and not cadence and watts.header = {'Authorization': 'Bearer ' + access_token}param = {'keys': ['cadence', 'watts', 'temp'], 'key_by_type': True}time_list = requests.get(url, headers=header, params=param).json()Does it mean we are able to do only 1 key per request ? Meaning I should have to do 3 requests and not only one ? Thanks
I want to delete the primary photo associated with a Strava activity so that I can replace it with an updated version of it.I do not see any DELETE endpoints in the Strava API docs at the moment.How can I achieve this using the available Strava endpoints?
Hi there, Following the docs I've gotten to the point where I can't make any requests with the `@auth-spa-js` Auth0 client, since it default attaches `openid` to the beginning of the scope on any request. Thus, when trying to login with this client, I get a `scope invalid` message, since the scope is `openid+read` instead of `read`. It seems they aren't planning on changing this, so is there any way for openid to be an expected scope? (source of them not planning to change it: https://github.com/auth0/auth0-spa-js/issues/433)
Can the Webhook Events API be extended to include changes to other data? Currently we can only recieve a webhook for these 3 events: Title Type Privacy However other changes, like media changes (photos or videos) don't have a notification. And I'm seeing these additions after the initial activity creation quite often. The Strava mobile Application event has a separate "Add Media" context menu item but these adds are silent from the Events API perspective.
Hello, GET `activity` from the API includes `segment_efforts` array containing incorrect id values. They are all missing at least the last two digits. I just started using this recently, and it seems like this is something people would have noticed already. Is it a new change? example: url of segment effort on Strava.com: https://www.strava.com/activities/{activityId}/segments/XXXXXXXXXXXXXXXX336 what gets returned in API response: {..., segment_efforts: [{id: XXXXXXXXXXXXXXXX300, ... }], ... } note the last three digits in the URL: "336", and in the API response: "300" This is for an identical segment effort, and can be repeated for every segment effort I tested Calling API for GET segment_effort with id XXXXXXXXXXXXXXXX300 returns 404! --- also calling GET segment_effort API with the correct id returns a result with the incorrect id. --- DetailedSegmentEffort id says type is `long` https://developers.strava.com/docs/reference/#api-models-DetailedSegmentEffort Maybe this type do
I would like to develop only for myself (not for other users). Is there the concept of personal access tokens like many other APIs have for this purpose so I don't have to build the oauth flow just to get my own data? Examples of companies having this are Airtable and Github.
Hello,I'm implementing a rate-limiter library in my code to make sure I don't overpass the limits.Are the 0auth calls (made to https://www.strava.com/api/v3/oauth/token) also included in the rate limits? Thank youMarc
Well, the title says it all, folks... It seems like this is gonna be a tough one to implement in Google App Scripts. There's not much out there in general for setting up these Strava webhooks, but it's even worse when trying to find ANYTHING on setting up in Google App Script. It seems to me, my best bet may be to migrate my code over to React/NodeJS/Java and go from there, given I can use ngrok and other libraries a lot more freely (and there's more information out there for the latter). Does anyone have any thoughts? Are you aware of ways to accomplish this in Google App Scripts, or do you think my best bet would be to migrate over to another, more widely used (and compatible) platform? I currently use polling to acquire my authenticated athlete's activities, but there's huge limitations to this given the data pulling limitations by Strava's API. Here are some of the resources I've been looking at: - https://medium.com/@eric.l.m.thomas/setting-up-strava-webhooks-e8b825329
Currently the create event webhook contains a field event_time. Adding another field with the start time of the workout would make it possible to check whether the application has received the workout from another source (e. g. garmin) already. That would allow developers to further save api calls to get the activity.
I’m using the Strava api’s and having the free subscription, I need to calculate the burned calories of the activity/sport I’m doing,But I didn’t find any api to fetch all the sports/activities, do anyone suggest any api where I can give the activity name/ sport name like running, swimming, HIIT etc with the time duration and in response it can provide the burned calories in the time period.
Dear Moderators and Forum Readers, We are using the Strava API since years in our product. We are utilizing the detailed activity streams as well. In the API reference the structure of the response of activity streams are described in good detail, however there is nothing said on how the data shall be interpreted (e.g. an entry in the ,,velocity_smooth'' is 1.0m/s what does it mean, is it the actual speed on a given time or an average of a longer time period?...). We see a lot of various ,,formats'' for these streams: for some users and activities, there is a data record for each second, in some cases, we have records for every few seconds. We can see also sparse formats, with only a few record for the entire activity, or even having data records for every second, except a few, large periods without any data record. This makes implementing a general solution for interpreting the data really hard. My question is, that is there any good and detailed description about how to interpret the
Hello, we are developing a Digital Social Platform dedicated to Sports Events. We would like that our users could import their Strava friends, just like Strava does with Facebook. However, it seems that Strava API doesn't support this feature. Is that true? Thanks in advance
Hi,I'm looking to use the Strava API to collect a large dataset on individuals who run. Is there a way I can list (or is there some public database) of athletes whose profiles are set to public? I'd then simply call "get athlete stats". I'd like to query through this list of individuals to create a dataset.
Hello everyone My name is Ionut, I'm a Qlik Developer, and I want to create an app with my data in this reporting tool. I created my connection, because I have a dedicate connector. I can see one table with my data like this But when I will try to access another table, I can't, and I need my gear ID, or club ID, or Segment ID etc, to access other tables and so on Can you help me to access my data with this connector, I really want to create an interactive app with my activity, I'm waiting your response Thank you 😊
Hello everyone!I created an application that creates 3D animations based on Strava activity. I wanted to effectively show those activities that take place in mountainous terrain, e.g. mountain biliking or hiking. Created animations can be shared on social media. Sample video: https://youtube.com/shorts/RnOG_VV2rb0?feature=shareI would love to have your feedback on the application so I can make it even better for everyone. 🙏Known issues: - share button doesn’t work on some platforms (Firefox, chrome on macOS; It should work on mobile devices)- moving speed is dependent on screen refresh rate- activity visualizations from flat terrain are not attractive- visualizations of activity from outside Europe are generated significantly longer (my way of obtaining altitudes is optimized for Europe, it will be improved soon for the USA)- zoom level should be adjusted according to activity sizeMore information here: https://paintmove.com
Hello I would like to ask how to refresh the API access token which I can see on the settings/api strava web page In the documentation only shows how to refresh USER access tokens , thank you
Hi - We have been tracking lifting in the weights room for more than 20 years. Velocity, force, power, distance - more than reps and sets. Is Strava looking to increase its weightlifting feature?We would love our shared customers to be able to upload their GymAware and FLEX data.Velocity based training is increasingly popular with athletes that have a focus outside of the weights room as it accounts for auto-regulation.Would anyone like to start a conversation?
Hi everyone,I am thinking of a script that gets the local trail conditions from my city’s trail stewards association. If the trail is closed, I want to get via the Strava API a list of users that rode the segment(s) that day to see who is damaging the trails by riding them when closed. I read the API documentation extensively and couldn’t find an endpoint that satisfied this — anyone have any ideas or is it simply not possible?Cheers,Mel
Hello, I'm an app developer who is currently trying to develop an application through the Strava API. The purpose of this application is to manage students' grades and physical strength at the academy. That's where your API is going to be used. However, since this application is a student management application for private institutes, the profit model will be conducted not by advertising revenue from the app itself, but by receiving tuition fees from students enrolled in private institutes, and the app itself will not generate direct profits. In this situation, what should I do with the app to comply with the relevant regulations? Please explain the details if any phrases should be stated or the obligation to report.
Good day,for the last few years we have used the Strava API without issues using the following workflow once a day:A refresh token is requestedThat refresh token is used to request the activities in a clubThe response is further processedThis morning, the activities were no longer showing up correctly. The only thing that was returned was an empty array (verbatim: "[]"). We have not changed anything about the requests or the way these requests were made. The account we use to make these requests is also an admin in the club in question, yet this changes nothing. What can be done to get things up and running again?
SO, I was able to get my athletes to authenticate my application from which I could grab their activities through my app, BUT now the issue is that I can't seem to hit the club endpoint (where these athletes are also in) and grab their activities from the club page. Are these two things somehow related to each other? Would my acquiring access to their activities hinder my ability to grab the club activities in which their runs are? This has been a frustrating occurrence for me involving lots of debugging and a whole lot of questions surrounding access and authentication that doesn't really get covered in their documentation. Any help would be appreciated. Other thing I noticed is the service.getAccessToken() call doesn't seem to be getting a refreshed access token. It's using some old one.
Back in the day there was a way you could run a report on a specific segment. Then you could pull data say for last year. It would tell you how mine riders and how many attempts. Now I am only seeign the options for Today, This Week, and This month. Am I missing a change?
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.