Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
I’d really like to be able to display the surface type for a segment, or to be able to filter by surface type when retrieving segments in an activity etc. I can’t find anything in the documentation that exposes this as a property in segment data, but the Strava UI does allow you to specify surface type when creating routes etc so I would have thought it was available. ANy ideas/help appreciated
A few days ago I requested an increase in the number of athletes for my application.I submitted the form requesting the first increase in users to allow more authenticated users. It went from 1 to 999.Last week I submitted another form requesting an increase to more than 999, and the quantity was not changed. I requested an increase from 999 to 20,000.I would like to understand why the increase has not been updated, since the form was approved and I followed all the steps for submitting the information.
Hello Strava Team,We would like to request an increase in our current user capacity, which is presently capped at 999 users. We are already at 948 active users, and with upcoming events, this limit will be reached very soon.Fitistan is a community-driven health and fitness application with 100,000+ users and 5 lac+ active communities, where large-scale virtual challenges and runs are a core engagement format.In our previous two challenges Vijay Diwas Soldierathon Virtual Marathon and Republic Day Soldierathon Virtual Marathon we successfully used Strava as the primary data source for participant tracking and activity validation. These events ran smoothly and received strong participation and engagement.We are now planning to conduct more virtual runs and fitness challenges; however, the current user cap is restricting our ability to scale these initiatives and expand them further. Due to this limitation, we are also unable to promote our events at full scale, despite strong interest an
Hi there.Since this morning I have been getting Error 500 from my calls to get the club activities. It has been running smoothly for the past 22 days but suddenly today I am facing issues without any changes to programming, code or how it is used. I have checked all the access codes etc and they are all correct.This is the most important few days for the project which finishes on Christmas day, so I really need to find a fix for whatever has happened
Hello, I recently started sharing my application, and it has begun getting some active users. Unfortunately, due to a mistake in my implementation, a background process that fetches activity images at midnight made far more requests than expected, unintentionally exhausting my API rate limit.I’m not entirely sure how, but within 15 minutes my app made over 10,000 Strava API read requests, even though my limit is 300 requests per 15 minutes and 3,000 daily. As a result, new users trying to log in are currently unable to sync their activities.Is there any way to temporarily restore or adjust the rate limit so that these users can sync today while I implement a fix to prevent this from happening again?
Hi all.We have developed an app which is already available on Apple Appstore. Main feature is to generate run invites. Those can be shared with your running crew via your favorite social platform or send push notifications to certain crew members directly. It imports activities and routes from Strava via initial import and web hook subscription. We are looking for a group of users to put some pressure on the technical concept, so we can iron out potential flaws. Anybody up for a test?Best,RunningCrewHome
Hey everyone,We’re seeing some weird behavior with the API for our app, Run The Date, and wanted to see if others are experiencing the same:OAuth 400 Errors: Random "Bad Request" failures when exchanging the authorization_code for tokens. Redirect URIs match, but it’s failing intermittently for new users. Missing Activities: Even with per_page=200, the /activities endpoint is occasionally missing data or stalling during the sync process.Can someone help with that?
Hi, the documentation for JavaScript says to use packagevar StravaApiV3 = require('strava_api_v3')but no such package exists https://www.npmjs.com/package/strava_api_v3I'm confused.
Hello,I am unable to disconnect the only user I have paired with my “API application.”When I call the following endpoint:https://www.strava.com/oauth/deauthorizeThe call succeeds, but the connection is not removed from your interface, so I am unable to pair another user.Could you please take the necessary steps on your side to ensure that the connection is properly removed?Additionally, could you increase the number of athletes allowed to connect?This is a test account, so 5 or 10 would be more than sufficient.Kind regards,
I built an app to automatically analyze your running activity on Strava. Powered by AI 🤖After the Athlete syncs with Strava and the server receives the webhook from Strava, the notification has new activity.The app will analyze the data within a few seconds but there is no way to alert/notify the Athlete that the analysis task from the AI has been completed.I want the Strava team to support this feature, allowing the app to send notifications or send message to Athletes.I saw that when I synced activity from the Coros app. Strava notified me a new activityOr any other ideas, please help me.Thanks!
How can i create my first API Token, in my account i do not see any topic like”My Api Application”?
I am building an app that counts segment completions from a given start time. I have users whose activities are coming into my system. I parse the activities and retrieve the segment completions from each activity. However the count I get is not consistent with Strava's count. about 15% of the time an athlete will have either more or less segments completed.All the activities I am getting are either runs or trail runs. I'm not sure what I'm doing wrong.
Lap option is a basic and an important option for tracking intervals and segment specific runs and I can't find it in my running tab. Please bring it back.
According to the current Webhooks Events API documentation, only the client authenticates to Strava upon subscription registration/check, with the API client_id and client_secret.This is great but IMO insufficent, as both parties should somehow be authenticated. In other words, Strava should authenticate with the Webhook suscriptor. The way is done at the moment, an attacker could impersonate Strava's API sending fake event data to the client's endpoint. The only way the client could defend from this would be checking whether if the subscription ID matches or not. But this is neither proposed as a security measure in the documentation site, or implicit within the process (it's something that the clients would need to implement ad-hoc). Moreover, since the subscription_id field is integer, it could be pretty easy for an attacker to guess the right value.Is there any other way of dealing with this that you could suggest?Thanks in advance.
Hello - I’ve reviewed the published API documentation but couldn’t find a way for my application to get notified real-time when an athlete has hit a Segment start. Is that available for developers?Thanks, greg.
I just got approved for full access to the Strava API and I am excited to begin a pilot of the app I am working on.I’d love to connect with anyone else that has experience working with the API at scale. So far the test API integration is going well. Now to test it at scale. Just need to find a couple of shops to partner with for a pilot and roll from there. Stay tuned! :)
Hello Strava team and community,I’m currently developing an internal running event platform for my company and would really appreciate some guidance regarding Strava API limits and the partner process.1. Project overviewOur project focuses on organizing internal running challenges and races for a large corporation with approximately 40,000 employees. Expected participants per event: 10,000+ athletes Number of events: 5–10 running events per year, potentially more if our IT team can scale the solution Strava will be used to authenticate users and retrieve activity data (with user consent) for ranking, tracking, and reporting purposes This platform is non-commercial, used only within the corporation for employee wellness and engagement.2. Rate limits & athlete limitsBased on the current documentation, I understand that the default API limits are: 200 requests per 15 minutes 2,000 requests per day With the expected scale of our product, these limits will not be sufficient. I hav
Hi all,I'm building a React Native app using Expo (in a development build on Android), and I'm integrating Strava OAuth. I'm using a custom URI scheme for redirection, generated like this:const redirectUri = AuthSession.makeRedirectUri({ scheme: 'runquest', path: 'strava-redirect', }); This results in a URI like:runquest://strava-redirect I'm primarily using the mobile authorization endpoint:https://www.strava.com/oauth/mobile/authorize But I’ve also tried the standard web endpoint:https://www.strava.com/oauth/authorize In both cases, when the user clicks "Authorize", I receive an "invalid redirect_uri" error from Strava.What I’ve tried: Setting "runquest" as the Authorized Callback Domain in the Strava Developer Dashboard Setting "localhost" as the Authorized Callback Domain in the Strava Developer Dashboard Trying variations like runquest://, runquest://strava-redirect, and runquest Testing with both OAuth endpoints My questions: What should I enter in the Authorized Callback D
I couldn’t find this question (but maybe I’m a bad searcher). I have an app that uses my API key which works great. Athletes can use the app and it works great. I’m in the process of building a separate app, but notice that to setup the API it seems to only let me have one app. I’ve looked through most of the documentation, and it doesn’t specify that I can’t create multiple apps...but I don’t want to break any ToS gothcas. So if I have a mapping app, and a streak\data app, can I use the same API connection? Do I need to setup a different type of profile? Do I need to setup an additional athlete profile (that seems weird...)
Hi everyone,I submitted a request form to increase the API request limit last Wednesday, but I haven’t received any response yet.I’m wondering if the Strava developer team is currently on Christmas holiday, or if anyone else is experiencing delays with request limit approvals around this time.If you’ve submitted a similar request recently and got a response, I’d really appreciate it if you could share your experience.Thanks in advance!
Hello,I have implemented a “synchronize” activities action on my website with a Strava connect button. So far, it works well for everybody except for one athlete.The account is correctly associated with Strava, but when calling the /athlete/activities endpoint, nothing is returned.When calling the endpoint for other athletes, 30 (max) activities are returned by the endpoint.There is no error, except that the response body is an empty array. REST.php on line 97:array:4 [▼ "headers" => array:25 [▼ "Content-Type" => array:1 [▶] "Transfer-Encoding" => array:1 [▶] "Connection" => array:1 [▶] "Date" => array:1 [▶] "status" => array:1 [▶] "x-ratelimit-usage" => array:1 [▶] "x-ratelimit-limit" => array:1 [▶] "cache-control" => array:1 [▶] "vary" => array:1 [▶] "referrer-policy" => array:1 [▶] "x-permitted-cross-domain-policies" => array:1 [▶] "x-xss-protection" => array:1 [▶] "x-request-id" => array:1 [▶] "x-r
Hi everyone,Is anyone else having issues with Strava webhooks right now? We’re not receiving any webhook events, and nothing is hitting our server, even though activities are updating on Strava.We’ve checked our config and server logs, and everything looks fine on our end.Just want to see if this is a broader issue.Thanks!
With the newly introduced per app athlete limit its clear around 15% of our athlete tokens are orphaned. Is there any way to clear these down? We're quite happy to cycle through all the valid tokens and make a "hey this one is still in use" poke to an API call 🙂Thanks
Hey 👋 Recently started experimenting with API, and wanted to fetch watts stream for cycling to calculate different metrics on my own (1sec power, 10 sec power, 1 minute power, ...). Endpoint: https://developers.strava.com/docs/reference/#api-Streams-getActivityStreams What I noticed immediately upon fetching data, is that I was not able to match anyhow 1-sec best power. Strava app showed me 1-sec power around 600 watts for the ride, but when I fetched the stream - the highest number was around 270. I read about it a bit, learned that Strava might be downsampling on longer rides, but what feels weird is that this ride was 45-mins long, and my strava app even shows 15-sec power around 500. Now I’m left wondering if streams endpoint is of any use, since I can’t rely on the returned data. It’s not an isolated case, I encountered same issue on another activities I checked. How I fetch the stream:url = f"{config.STRAVA_API_BASE}/activities/{activity_id}/streams" params = { 'keys'
Hi, since the athlete number limit has already been reached, I would like to revoke some inactive athletes, but their refresh tokens are already invalid. What should I do?
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.