Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
I can’t do the very first thing with the integration! I am unable to get an access code after I get the authorization code.Get authorization code via browserhttp://www.strava.com/oauth/authorize?client_id=[CLIENT_ID]&response_type=code&redirect_uri=http://localhost/strava-app/callback.php&approval_prompt=force&scope=readwhich returns a legit authorization codehttp://localhost/strava-app/callback.php?state=&code=b2ab5e0a49ff7f7595d98fae7970e98b428bc600&scope=readThen, when I feed this into postman along with my secret code and client_id I get an Authorization Error and it doesn’t return the access code.What could I be doing wrong?
I am the developer of an application currently using the Strava API (Client ID: 159350.We believe we haven't reached the 100-athlete limit for development applications.Could you please help us verify our current usage, and if needed, grant a quota increase?This application is intended to help a small group of runners automatically track and analyze their activities via Google Sheets.Thank you in advance for your assistance!
When calling the GET /activities/{id} endpoint, I referred to the sample JSON structure in the Strava API documentation. I noticed this section:"highlighted_kudosers" : [ { "destination_url" : "strava://athletes/12345678987654321", "display_name" : "Marianne V.", "avatar_url" : "https://dgalywyr863hv.cloudfront.net/pictures/athletes/12345678987654321/12345678987654321/3/medium.jpg", "show_name" : true } ]However, when I made the actual request, I didn't receive any highlighted_kudosers field in the response. What could be the reason for this? I want to display the avatars of these highlighted kudos users. How can I achieve this? Do I need to call additional endpoints to get this information? My question is, since the highlighted_kudosers field exists in the official documentation's sample JSON, why is it completely absent in the actual response? Here is the JSON returned by my actual request:{"resource_state":3,"athlete":{"id":xxxxxx,"resource_state":1},"name":"night 10KM
I want to display the power-to-weight ratio during cycling activities, and I need to obtain the athlete's weight information that matches the activity data (this information is usually available on cycling computers). However, Strava only provides the weight information from the user's last update. How can I retrieve the athlete's weight at the time the activity was uploaded? Are there any solutions for this?🤔
Dear Strava Developer Support Team,I’m reaching out to request an increase in the API Read Rate Limit for my application (Client ID:113108). The current limit is frequently exceeded, causing restrictions that make our website unavailable and disrupt user experience.To support our users and ensure reliable service, we’d like to request a higher Read Rate Limit, such as 30,000 read requests per day. We are fully compliant with Strava’s API guidelines and can provide additional details about our application if needed.Thank you for considering this request. Please let me know if there’s a specific form or further information required.Best regards,Yan
In the tutorial at https://stravalib.readthedocs.io/en/v2.2/get-started/how-to-get-strava-data-python.html in the bottom part of Step 1it seems like you should save your client secret and access token in the txt file. When we are loading the tokes inclient_id, access_token = open("client_secrets.txt").read().strip().split(",")we read the client id and the access token, which is what we need later in the tutorial. So the text in the tutorial includes an error and should be changed to client id everywhere where secret value is mentioned.
I did a light run this morning but there was something strange when I looked at the results of my running recording, it said I ran 16 kilometers at a pace of 1 even though I didn't run up to 16 kilometers so I hope problems like this can be fixed
Hello. When deauthorising an athlete from the app side (not the athlete clicking ‘revoke access’ themselves), should we see: the app being removed from the My Apps page for the deauthorised athlete? the “Number of athletes currently connected” reduce on our API connected Strava account (My API Application)?Thanks for your help.
Today, 9th May, (3 hrs ago) our app started getting a 403 error when accessing data for all authenticated athletes (this is for refreshing access tokens, collecting data - everything). Our code has not changed and we’ve received no communication as to why this might be happening. We are not even remotely close to hitting our agreed rate limits.Interestingly we are still receiving webhook events, however when we try to collect data associated with the webhook events there’s a 403 error.Is anyone else experiencing this? https://status.strava.com doesn’t report any issues.
We have a running club in our office.I am the developer of an application currently using the Strava API (Client ID: 126230.Recently, some new users encountered the error:"Error 403: Limit of connected athletes exceeded",even though we believe we haven't reached the 100-athlete limit for development applications.Could you please help us verify our current usage, and if needed, grant a quota increase?This application is intended to help a small group of runners automatically track and analyze their activities via Google Sheets.Thank you in advance for your assistance!
I have a list of applications we publish with Strava integration features and a lot of them have reached the athlete limits. I have filled out the form multiple times over the past few weeks and have not received a response or an update. Is there any way to expedite these athlete limit requests and make a mass update to multiple client Ids at once for those of us with White Label applications?
Hey guys! I just filled out the API program submission form for my app. I was just wondering what the typical response time is like? Super excited to share my site with friends! Thank you!
Hi Strava dev!I filled out the API program submission form for my app a week ago.So far, there has been no response, and my users are eagerly waiting for my app to integrate with Strava.Looking forward to your reply.
Hello Strava community!I applied to the Developer Program with my app about more than a month ago. This is actually my second attempt; the first time, they asked me to provide more screenshots of my app. I applied to increase my user limit from 1, because right now no one can use my app except me. After submitting additional screenshots, I received this email in response:'We've received your submission to Strava's Developer Program. It's under review, and there's nothing else you need to do for now. Once your app has been approved, we'll contact you with more information.'Given that I've already gone through one round of feedback and I'm trying to make my app available to more users, how long should I expect to wait for a response regarding this second review?
Hi Strava Team,Our application encodes .FIT files from pool swim activities and sends them to Strava via the APIWe recently found some swims that have an incorrect Pace and Moving Time, after some investigation I noticed that in the ‘Laps’ list for the Strava activity it only lists 36 out of 63 Laps defined in the .FIT file, the ‘moving time’ is calculated from these Lap messages so its short.There are no other errors shown on importI have spent a lot of time looking at the FIT fields and they look correct, please could someone take a look at the attached .FIT file to see why Strava only seems to read the first 36 Lap messages when there are 63 in total?When I import the same .FIT into TrainingPeaks it reads the whole file and gives the correct swim pace TIA
Hey!i built another map generating website, which integrates the strava api. My question is, how i get it promoted like others here:https://www.strava.com/apps/visualizerWebsite is: https://mapprints.deYou can easily build custom maps there and plot activities onto it. It differs to others, because its truely customizable.To use it, you need to register (eg via google). Its required to keep bots away, generating load on the backend. Thanks!
I am getting crazy while trying to fetch gear-equipment from Strava to Supabase (I am building an app). connection works fine, but then it doesn’t get the bikes. It doesn’t show any errors either. I have tried everything, but still never find the way. Is there anyone that has faced something like this before and can give me some advice?Thank you in advance,Borja
Hi! We have an app called MWatch. The purpose of this app is connect to our smartwatches and the users can manage the health data. We have more than 15k active users, so, when they will share the exercises in the Strava app, the app returns a error saying that the app reached the total number of athletes connected. When I checked the number of athletes in the API, I saw that the Strava is allowing just one athlete. How can I up this number? Our app: https://play.google.com/store/apps/details?id=br.com.grupomulti.multismartwatches&hl=pt_BR&pli=1
Hi All, the maps feature stopped working and I can't see maps or select the sport. Did anyone experience the same issue? Can I asked how people solved this hurdle? Cheers!
The following post request is returning an authorization error (401).What steps can I take to fix this?https://www.strava.com/oauth/token?client_id={client_id}&client_secret={client_secret}&code={code}&grant_type=authorization_codeReturning:{ "message": "Authorization Error", "errors": [ { "resource": "Application", "field": "", "code": "invalid" } ]}
Dear allI'm using SwiftUI code to upload files to Strava's API. Upload is working finde. If I add name and description to my upload body, it is recognized by the API and displayed at my activity dashboard.However, "commute" (as INT), "trainer" (as INT), or "sport_type" (as STRING) keep being ignored.Thats part of my code to create the POST request body:// Append file data to request body bodyData.append("--(boundary) ") bodyData.append("Content-Disposition: form-data; name=""file""; filename=""(file.url.lastPathComponent)"" ") bodyData.append("Content-Type: application/(fileType) ") (...) // Append sporttype bodyData.append(" --(boundary) ") bodyData.append("Content-Disposition: form-data; name=""sport_type"" ") bodyData.append("(file.sportType) ") // Append name bodyData.append(" --(boundary) ") bodyData.append("Content-Disp
Dear Strava Team,I hope this message finds you well.We submitted the Device Mapping Request for our SCINST Robin device (Application ID: 134483) over 50 business days ago, but we have yet to receive any response or update. We understand that the review process may take time, but given the extended period, we kindly request an update on the status of our request.Additionally, we would like to inquire whether modifying the content of the form during the review process would reset the response time.Your prompt feedback would be greatly appreciated, as we are eager to move forward with integrating our device with Strava.Looking forward to your reply.
When I'm uploading an activity using a GPX file, I would very much like to set the sport type correctly. Otherwise it seems like a convoluted method just to update that type. For some reason the activity just ends up being a run. Any thoughts?
Hello, for some time now I can't see the map when I click on the current activity. The map appears on my profile in progress, but if I go to it to see details, it doesn't work, the application refreshes or goes to the main page. I can only see the map on a computer. I'm attaching some screenshots. I use a Huawei bracelet (health application) band 7 with automatic upload to Strava
Hi, I am writing an application in which I would like to record activity in Strava. I am running such url var authUrl ="https://www.strava.com/oauth/authorize" +$"?client_id={_clientId}" +"&response_type=code" +$"&redirect_uri={Uri.EscapeDataString(redirectUri)}" +"&approval_prompt=force" +"&scope=activity:read_all,activity:write"; authorizes with my Strava account and gets a new token along with this scop scope=read,activity:write,activity:read_all Then performs a POST of this code to https://www.strava.com/oauth/token All operations go through without error but after refreshing the API mouthpiece I still see scope:read and as I try to save the activity I get an error
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.