Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
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?
Hi everyone I’m the developer of a fitness app integrated with Strava, and I’d like to ask for some advice from the community.Our app has grown to ~999 connected athletes, and we recently applied to increase our athlete limit to 10,000. Unfortunately, the request has not been approved yet, even though user growth is ongoing and we’re close to hitting the current cap.I’m curious to hear from others: Has anyone here successfully gotten their athlete limit increased beyond 1,000? How long did the approval process take in your case? Were there any specific metrics, usage patterns, or implementation details (e.g. webhooks, deauthorization flow, caching strategy) that helped with approval? Any insights or shared experiences would be greatly appreciated. Thanks in advance 🙏
4) Submit for Review So now you’ve got a popular app that’s lookin’ sharp? Congrats! You’re probably ready to get your rate limit raised. Fill out our Developer Program form for review and be sure to include screenshots of all the places Strava data is shown and the “Connect with Strava” button in your application. https://share.hsforms.com/1VXSwPUYqSH6IxK0y51FjHwcnkd8
I have a few questions about the following rate limits:Overall Rate Limits: 600 requests every 15 minutes, 6,000 dailyRead Rate Limits: 300 requests every 15 minutes, 3,000 dailyDoes the read limit apply when polling the API to check whether an activity upload has finished processing via the uploads/{uploadId} endpoint? Does the read limit apply when checking to see if an activity is still uploaded, again using the uploads/{uploadId} endpoint? We're doing this to ensure that we can deeplink users to activities that still exist in Strava Is it possible to increase this limit?Thank you!
Hi there - I’m posting to request an expedited review for increasing my athlete limit.While I understand your website indicates a 7-10 business day timeframe, the strong momentum my app is experiencing makes a quicker review crucial.We hit our rate limit less (max. 999 athletes connected, 3k read limits/day) less than 24 hours since launching.Sustaining growth and user engagement relies on maintaining this momentum, but the current API limit has effectively halted its progress. My email is me@timwijaya.com - this is the email used to submit my form again.
I read through the activity documentation for the STRAVA API and do not see any fields to retrieve the participant IDs for other participants of a group run. Is this not in the API or is there another way to identify which participants complete activities together?
I have been working on a strava app and I have been the only tester. I’m at a point that I need additional testers so I just submitted a request for this.As far as switching between local and staging environments, I’ve had to switch Strava Callback Domain manually between localhost and staging. Once I get approval for additional testers I won’t be able to do this manually. Appreciate any insights for how I can make this work for both and not have to manually switch Strava’s callback domain.Thank you in advance!
Hi there, I noticed with a newer Strava update the team has provided the ability for users on event creation to add pace groups and the type of event (format) e.g. social but these fields aren’t available yet via the API are there plans to add them or is there a new endpoint that hasn’t been added to the docs that exposes these fields?Thanks, keep up the good work - Calvin
Anyone else having issues trying to view their app in the My API Application Page? I keep getting an error message saying “Something has gone wrong”. Wondering if anyone else is having this issue?
I’m in the middle of building a mobile app and would ideally like to test it with 10-20 athletes. I’ve already submitted a request to increase my number of athletes but it got me wondering if I’m authenticating properly. I’m seeing reports that strava will increase the number up to 999, but that still seems like a low number making me wonder if there is a smarter way to authenticate within the app so that multiple athletes can use the app for testing. Maybe open the connection, get the data, and drop the connection quickly so that multiple athletes can use it?
Since yesterday, site is not loading, having some JS errors in console.
Hi Strava Developer Support Team,I hope you’re doing well.My name is Gustavo, founder and head coach of IgnitRun, a training platform designed to help runners and endurance athletes monitor their progress with evidence-based coaching tools.We currently use the Strava API to sync our athletes’ activities, allowing them to review their training load, volume, and intensity distribution while working closely with their coach. This integration is essential for the value we provide to our community.Our application (Client ID 74947) is currently limited to only one connected athlete, which prevents us from properly launching the platform. We kindly request an increase to at least 200 connected athletes for our initial rollout phase. These slots will be used exclusively for verified club members.For your reference, our platform can be reviewed here:https://app.ignitrun.com/We are fully aligned with Strava’s API policies, and we do not resell or misuse athlete data—our goal is simply to enhance
Hi team,I'm the founder of IgnitRun, a coaching platform that uses the Strava API to help runners track volume and intensity with their trainers. Our app is live here: https://app.ignitrun.com/Right now, our project (Client ID 74947) is limited to only 1 connected athlete, which blocks our launch. We kindly request an increase to 200 athletes for our initial rollout.We comply fully with Strava’s API policies and only use the data to support our athletes’ training—not for resale.Thanks in advance for your help!
It looks like that there is no such option. But I think it may be a great addition for any club to have an option to least events on their website/app and even have a button for people to join their events. Could propel event usage a lot and improve quite a few metrics.Totally separate thing but another missing feature from user's perspective is to join Repeated events. With two options: Join this event and all following events, join only this this event. The same for leaving the events.Both these features will increase Event-related metrics drastically
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.