Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
One app I developed has been approved and is currently live. I now wish to develop another app. In doing so, would it be possible to request an additional client ID? This is because the callback domain is different. https://share.hsforms.com/1VXSwPUYqSH6IxK0y51FjHwcnkd8Upon reviewing the application form at the above URL, I noticed the “Additional Apps” section mentions “staging, development, etc.” Does this mean a single Strava account can hold multiple client IDs? If so, please advise how to request the addition of a client ID.
Hi all,We’re encountering an issue with the Strava API where webhook events are not being triggered consistently when a user changes the activity type to “Surfing.”Here are some test cases we’ve observed: No webhook triggered: StandUpPaddling → Surfing ❌ Kayak → Surfing ❌ Canoe → Surfing ❌ Webhook triggered as expected: Swim → Surfing ✅ Kitesurf → Surfing ✅ Sail → Surfing ✅ Windsurf → Surfing ✅ These are the scenarios I’ve tested so far, but there may be others.One detail I’ve noticed is that when receiving webhook updates, the activity type for `Surfing` actually comes through as `WaterSport`. This may be related to the inconsistent behavior.Question:Would someone be able to clarify why webhook events aren’t triggered for some activity-type changes involving Surfing, and whether this is expected behavior? More importantly, is there a recommended way for us to ensure we can reliably process all Surfing activities, including when a user changes an ex
I’ve been using the api/v3/activities/{id}/streams?keys=time,watts in a web application for roughly 3 years with no problems. This last week, suddenly, the exact same API call seems to be returning data with gaps: not starting with the same timestamp as the .fit file (ie, missing the first 200 or so values) and skipping one or two seconds of power data throughout the stream (ie, like Swiss cheese, full of holes)Is this my problem or Strava??
Hi,I got the following error when trying to fetch from activities/xxx/streams:Access to fetch at 'https://www.strava.com/api/v3/activities/15565079206/streams?keys=latlng&key_by_type=true' from origin 'https://strava-mapy.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.When debugging in chrome, I can see on “Network tab” no Access-Control-Allow-Origin response header for activities/xxx/streams request:It seems like a bug. It must have disappeared recently because I remember two weeks ago it worked fine.I also noticed that other methods work fine - let’s see for example response headers for /activities method:Could you check it, please? Can you add Access-Control-Allow-Origin back to activities/xxx/streams method?Thanks a lot,Jan
Is it possible to connect the bike to work mobile app to Strava? The idea would be, that participants to the bike to work Challenge in May and June could transfer their Strava data to the bike to work mobile app to avoid having to enter routes manually on the bike to work mobile app. This would involve only rides marked as ‘commute’. If so, how should the developers of the bike to work mobile app proceed?
The majority of my create activity API requests succeed, except for one user who continues to see empty body responses. API: POST /api/v3/activitiesRequest body:{external_id: 'blurwsuuid:398B5EDB-A11F-41D9-86A7-D67AF5973642',type: 'Run',trainer: 1,workout_type: 3,name: 'App Name: Afternoon Treadmill Run',description: 'Full Potential Unlock — 30 min https://www.appwebsite.com',start_date: '2024-09-04T18:03:25.945Z',elapsed_time: 1868.2,distance: 3865.9493681170975,calories: 248.20267505699672,has_heartrate: true,average_heartrate: 148.09549154564937,max_heartrate: 173}Expected response body:{id: ...}Actual response body:(none)
I recently needed to create a second strava api application because I need API access on two different subdomains, but it's incredibly limited with the Number of athletes allowed to connect being capped at 1. As far as I can tell, nowhere on the 'My API Application' page is there a link to apply for actual API access, which is incredibly frustrating from a developer experience standpoint. Still, I filled out the Strava’s Developer Program form that I received in my email. This was almost a month ago, and I haven't received a response of any kind yet. If I've been denied, that's again frustrating from a DX standpoint--I'm only looking to use a different subdomain on an app that's already been verified. It's also obviously pretty disrespectful to not have an email sent letting me know that I've been denied. In general, information about this stuff seems hard to come by, and I don't think it should be that way.
I've seen that you're unable to have multiple sub-domains authorized for a callback URL on the application, but what about for testing locally?I'd love to test version my application on localhost but unfortunately it looks like I have to have an entirely separate application for it and wondering if that is anyway by-passable for local testing. Thank you!
I had a webhook that was working for a few years and stopped working on April 12. I thought perhaps deleting and resubscribing might do something. I was able to delete the old subscription. If I try to subscribe using the same process that has worked in the past, I get a "not verifiable" response back. The strange thing is that my server logs don't show any traffic from the Strava server, so it seems like Strava can't contact my server.Anyone have any ideas?
I have a running blog and a separate riding blog on two different domains.I set up the API for my earlier site and it’s working fine.But I cannot set it up to also run on the newer riding website: {"message":"Bad Request","errors":[{"resource":"Application","field":"redirect_uri","code":"invalid"}]}Any ideas/workarounds?Both sites are running WordPress.
I created a Discord bot using the Strava API. Our club has around 600 members, and we plan to organize team competitions on our Discord server. However, the "Number of athletes allowed to connect" is limited to 1, so I'm unable to fully utilize the API. I have filled out the form and submitted it. How long does it take for approval?
Hi,I applied for the API a few weeks ago and received an email approving it, in which it says that I have up to 999 athletes limit.However, when I go to https://www.strava.com/settings/api I still see the limit of only 1 athlete. How is this possible? Do I have to do anything else?Thank you.
Hi, I’m building an application and I need high resolution gps data. The best way would of course be to download the gpx, however, I saw it’s not possible for activities. I’ve read that it’s possible to reconstruct the gpx from streams. There are even libraries that do it for you (strava2gpx), but unfortunately not enough data points are provided.Does anyone know if downloading the .gpx will be supported by the API any time soon? If not, does anyone know any workaround/hack?Thank you.
I ran over the course of 3 days, pausing the activity while I slept and resuming it in the morning. I pressed finish and then save activity on the final day and it took me to the home page where it said processing activity and nothing happened. The activity never uploaded and there is no evidence of this. I really hope to get this resolved as this was a monumental task for me, running over 150km
I have developed an activity tracker app for my running group. The problem that I am facing is hitting rate limit quite often and major API calls are related to refresh access token.I just want to get suggesion and best practices from fellow devs here, so I can optimize API calls and avoid hitting rate limit and can also provide my running fellows real time activity data :)Thanks in advance for your help.
I see I have 2 API Applications. Please help me delete the one API Application I am not using. Here is the information:Client ID: 129648PS: Don't delete my other API Application by mistake.
Hi Strava developers, we have emailed you about our athlete limit which is currently reached at 9,999. Could you increase this limit so that we can onbaord new users again? Client id: 96557.best regards,Lucas
Hi all i was looking how to create a club via apiIm watching the swagger but the method POST for `club` doesnt existshttps://developers.strava.com/playground/
Hello Strava,I have been creating an app for my running community for my hometown. The purpose of the app is that users can find details on run clubs that are within the city limits and be able to import a reminder on their calendar from the app. I thought it was a fun idea to have them be able to connect to Strava through the app and have their fastest time displayed on the app for recording and visibility for the user. With my testing, i am getting an error 403: Limit of connected athletes exceeded. Does anyone have an suggestions of how to make this work? the amount of people who would be using this app would probably be a max of 400 people.
I tried to connect my strava at kiprun of decathlon. But it say that too much people have allready do that, I cant do it because of the kota. If you have seen that or know what to do, I am interested. (Sorry for my english). Thank you
When i want to connect my strava to an other app to transfer my runs from there (app Decathlon)It work but since today 17 august 2025I cant connect bc strava told me that:Strava Error 403: Logged-in athlete limit exceeded This app has exceeded its logged-in athlete limit. If you are developing this app, contact Strava Developer Support to learn how to request an increase in your quota.
I walk and ski. On the app and website for skiing it shows the descent labelled vertical. On the app and website for walking it shows the steps. But neither the API nor the JSON I get from the activity end point has this metric.Thoughts? Where can I get it? DAvid
Are there any plans to allow iPhone App to change a route from “private” to “public” ? When trying to share and having access to the web to make this change is not always available. Seems like this would be a simple fix?
Hi,I would like to start a new subscription with Strava, but it keeps showing pricing in Euro. I lived in Germany before but moved to Japan now. I would like to purchase in Japanese yen. Another twist on my case is that the subscription plan I would like to choose is student plan. I am an active student with the university in the UK. Thus, my student ID has been issued in the UK, not in Japan.With all the unique layers of my case, how will I be able to subscribe a student plan in Japanese yen? Is it possible?
Despite a lot of work on this I still cannot get GC 3.7 to access my Strava data. I have tried the various solutions but still cannot connect to Strava data from GC. I am on MacOS. I am using access codes to think the easiest will be to revert to password but I thought the steps below would workaround this.I follow the steps to get an access token back from the Strava oauth API but I get 307 error from this command.Bashcurl -X POST strava.com/oauth/token -d client_id=xxx \ -d client_secret=xxxx \ -d code=xxxx \ -d grant_type=authorization_code Returns error:<html><head><title>307 Temporary Redirect</title></head><body><center><h1>307 Temporary Redirect</h1></center><hr><center>CloudFront</center></body></html>curl: (3) URL rejected: Malformed input to a URL functioncurl: (3) URL rejected: Bad hostnamecurl: (3) URL rejected: Malformed input to a URL functioncurl: (3) URL rejected: Bad hostnamecu
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.