Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
Hello,I try to identify what is the “external provider” of activities.We have a field called external_id, but it can contain a “.tcx” file name.I can identify the Garmin activities because the external_id starts with : “garmin_ping_xxx”But for other providers like Polar or Fitbit we only have a TCX filename.How to get the real external provider name ? (A code or id would be better of course)Bonus question: Is there an official list of all providers supported by Strava ?Regards.Thanks. COil. Related posts :
Garmin has updated its API Brand Guidelines to require attribution when data comes from Garmin devices. As such, we strongly encourage you to provide attribution when accessing this data from Strava’s API.More information can be found here.
Hi everyone, I am integrating a rowing machine with Strava using FIT file uploads. During testing, I ran into two issues: VirtualRow with mapWe would like to upload a virtual course,like Kinomap and Zwift does GPS coordinates are included in the FIT-File When uploading as “indoor/trainer” using the api, the map is no longer shown We use the strava-v3 api for uploads return new Promise((resolve, reject) => { api.uploads.post( { sport_type: "VirtualRow", // @ts-expect-error typings say Buffer, runtime wants path file: file, //file ref name, description, trainer: userSetting ? "1" : "0", //if set to 1, the gps data will not be shown. commute: "0", data_type: "fit", external_id: externalId // use your workoutID here }, (err: any, payload: any) => { if (err) return reject(err); resolve(payload); } ); }); 👉 Question: How should the upload be structured so that Strava reco
api接口:https://www.strava.com/api/v3/uploads1、目前存储区域只有美国是吗2、数据上报的信息有加密方案吗,还是说只能明文进行传输
I'm using Python to return the "explore segments" query and would like to know how the top-10 segments are chosen.For example, in the Developers Playground it says that the GET explore segments, "returns the top 10 segments matching a specified query". How is "top-10" defined? Is it using the most popular segments in the geography boundary to search or some other designation?How can I view all and not just the top-10 segments?Also am I able to search for a segment using the detail that gets returned in the query instead i.e., distance, avg. grade, elevation gain, etc.? The query is very limited when just being able to search based on "the latitude and longitude for two points describing a rectangular boundary" and the "activity type" especially when I'm searching for a run segment so the climbing category is not relevant.Thanks!
Hi I am a subscriber i use iphone 16 pro with ios 18.7.1 I only get one transparent sticker while my friend get 4 other optionhow can i fix this problem I did delete the app and re download it is still the same .thank you
Using strava_client 2.1.3 for authorization to obtain token, the code is as follows:ExampleAuthentication(stravaClient).testAuthentication( [ AuthenticationScope.read_all ], "stravaflutter://myfitnessapp.com",).then((token) { setState(() { isLoggedIn = true; this.token = token; }); _textEditingController.text = token.accessToken;}).catchError(showErrorMessage);Strava backend configuration:Website: stravaflutter://myfitnessapp.com Authorization callback domain: myfitnessapp.comOur app can open the Strava app's authorization page, but clicking "Authorize" shows an error. Our own app doesn't display any error messages.Backend configuration:Allowed connected athletes: 999 Current number of connected athletes: 1
Anyone else trying to join the Dev Summit livestream but not allowed? I’m using the gmail email they sent the invite to. Also, emailing developersummit@strava.com if there are issues like it says bounces back because the email doesn’t exist.
Contact support
Dear Strava API Team,I am writing to request an increase in the athlete authorization limit for my Strava API application.Application Details:Application Name: Sebuse Pro 2025Client ID: 181334Current Use: Club Dashboard for SEBUSEPRO 2025 (Club ID: 1790936)Request:I would like to request an increase in the maximum number of athletes who can authorize my application from the default limit to at least 400 athletes.Use Case:I have developed a dashboard application for our running club (SEBUSEPRO 2025), which currently has 48 active members but onward will be around 400 athletes. The dashboard helps our club members to: View leaderboards and performance statistics Track individual and team activities Monitor training progress with activity duration filters (30–90 minutes) Export activity data for further analysis Each member needs to authenticate with Strava to share their activity data (with consent), enabling the dashboard to display comprehensive club-wide statistics and recent a
我登录网页版它一直让我重复验证邮箱怎么解决
Currently, my personal Strava account is tied to the Developer API Application that I'm using for a running app I helped develop. I want to transfer this to a new developer taking over for me. How can I do this? I just emailed support.
I submitted a request for activation of more athletes and it was approved (increased number of allowed athletes to 999). And now I still get:
I did a park run this morning.It should be my 2nd fastest 5k.The distance registered as 4.95km to start with, and then the "correct distance" option only increased it by 1 metre.I know it will seem silly to some, but this is my best run in months and I'm frustrated it has not registered as 5km, and feel there should be a way around this.I get that strava want to avoid people cheating, but this was a park run. 90 other people recorded it at the same time as me. Is there no way AI could identify it as a park run, and I could be allowed to adjust distance to 5km?I don't think I'm the only one to be frustrated in similar situations.
Hi there,retrieving the club events from the api-endpoint /clubs/:id/group_events shows only the first date in the upcoming_occurences property even if there is a weekly or monthly interval set. Even if this date is in the past what for sure is no upcoming date :)This seems to have changed in the meantime as it worked before. Back then the upcoming_occurences array has been populated with future dates.Has anybody experienced the same behavior? Cheers,Tobi
I'm trying to programmatically set the perceived exertion for an activity in a lightweight commute logger chrome extension I've written. Setting perceived_exertion through the Strava API doesn't seem to work. I can set other attributes of the activity, like type == commute, but not perceived effort. I tried setting it via UI manipulation but was unsuccessful doing that as well. I was able to successfully correct distance by using UI targeting, but nothing I do will change the perceived exertion. Any thoughts as to what I might be doing wrong? Ideally this would be settable through the API.
I have noticed on my API Settings page that there's a limit to the amount of users an app can have. I know (based on API access) that a large percentage of users installed my app, tried it out and never used it again. My question is then: how can I revoke access to these users?
I was wondering what the response times are at the moment. Saw a few related posts about backlogs but they were a while ago. Accidentally got someone banned so it is kind of urgent… Also have a ticket open for a different issue. One has ‘high’ priority and one has ‘normal’ prio. Does this make a difference?
Good day all I applied to become a strava developer and get access to Strava API. I received an email thanking me for my application but no formal email saying my application was successful or declined…. I do however receive emails from strava starting with “Dear Developer….” Does this mean my application was successful?
I recently did a 100km charity ride. A segment was created for the whole ride. My effort for this segment has been wrongfully excluded from my segments. I am not sure why it has been excluded. My ride data shows that my effort is correct. I has trained to be able to do this ride as fast as I can and also without stopping. My effort is not shown on the leaderboard as it has wrongfully being excluded. This is frustrating
I am currently working on an academic project in the field of Data Science and AI/ML. The project focuses on analyzing training load and detecting overtraining using Strava activity data.Right now, the API only allows 1 athlete to be connected per application. For this research, I would like to increase the athlete limit (e.g., 20 athletes or more) since multiple participants have consented to share their activity data for this study.Is there a process or application form to request an increase in the number of athletes allowed to connect? If so, could you please guide me on how to proceed?
I have retrieved a number of streams from /activities/{id}/streams, including distance and time for an activity. The moving duration of the activity is 680 seconds and the total elapsed time is 719 as per the strava dashboard.Each of the streams have 685 samples, but I cannot figure out how to interpret the time stream. It has 685 samples, with the first value being zero and the last value being 954. I cannot understand where the 954 comes from.Is there any documentation on how to interpret the data. I would like to be able to say, for a specific number of seconds after start time what the distance was, but without being able to reconcile these values I am very unclear on how to do that. Any help, really appreciated
When I request ActivityStreams for an activity and specify series_type=time it DOES return a time series… the time stream is monotonically increasing and the distance stream is not uniform. HOWEVER for every stream returned it’s labeled as “distance”. I’ve had to patch my code to deal with this as I always check series_type to make sure I’m getting appropriate data for the processing I do. Thoughts? Do you have a github or somewhere else that someone monitors?
Dear all, I’m currently setting up a webhook endpoint for my Strava app, but Strava cannot verify or access my HTTPS callback URL.Details: Endpoint: https://chaytructuyenapi.thaco.com.vn/api/strava/callback Server: Windows Server (IIS) SSL Certificate: Wildcard certificate for *.thaco.com.vn Issuer: Sectigo Public Server Authentication CA DV R36 Valid: 09 Sep 2025 – 08 Oct 2026 When testing with openssl s_client -connect chaytructuyenapi.thaco.com.vn:443 -showcerts, I get:verify error:num=20:unable to get local issuer certificate Browsers show the site as secure, but Strava’s webhook callback still fails.I suspect the intermediate certificate (Sectigo R36 chain) might not be correctly served by IIS. 👉 Questions: Does Strava’s webhook service require a full certificate chain (root + intermediate + leaf) to be served by the endpoint? Has anyone successfully used Sectigo’s Public Server Authentication CA DV R36 certificate with Strava webhooks on IIS? Are there any know
I notice if I add an ampersand (&) or sometimes less than/greater than signs (< and >) to the name of my activity when uploading a gpx file via the API, I will get back the error below, even though the same exact gpx file uploads fine with another activity name. I’ve tried escaping and encoding, but can’t make it work.{ ... error: `Improperly formatted data. <a href="https://support.strava.com/hc/articles/216917967-Uploading-poorly-formatted-GPS-files" 'target="_blank">More Information</a>.`, status: 'There was an error processing your activity.', activity_id: null}
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.