Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
So 99% of the time my token exchange process works just fine, but occasionally Strava responds with a "Bad Request" message.I've confirmed that each authorization request is accepted, and I receive a query string formatted as expected, looking like:"code":"012345ab6c7d89e48d7e92a0e381024deb1f0a7b","scope":"activity:read_all,activity:write,profile:read_all,read,read_all"but occasionally the POST call to https://www.strava.com/oauth/token receives this response:{ "message":"Bad Request", "errors": [{ "resource":"AuthorizationCode", "field":"code", "code":"invalid" }]}This issue is so intermittent that I can't reproduce it, but I'm sure I only try to use the short-lived code once...Any ideas what might be going wrong?
I was trying to develop my code (in Python) to gather my club's data for a data science course project. The issue I have is that I'm learning that once I run the request using the authorization code one time, the second time won't work. Even if I get my access and refresh token, running the code in the main will end up running the function to use the authorization code so it'll become invalid and the code won't run. How do I solve this?Here is a picture to show what I mean:
i tried to collect club members activity using strava api. it gave only 180 activity feed. Even i used pagination concept still it gives duplicates of previous 180 data.
I see that my Elapsed time for my run is greater than the length of each activity streams, which I was not expecting.The activity streams are about the same length as the Moving time of the run, though there are elements in the ‘moving’ stream that have ‘False’ values (not moving). I think my understanding of what event streams are and how they are recorded are a bit off. Would someone be able to explain this? Thank you.
Hello, The Strava website provides a convenient way to get the .tcx files of a specific activity:https://support.strava.com/hc/en-us/articles/216918437-Exporting-your-Data-and-Bulk-Export#h_01GDP2C5E3278KM8MPK5X49ED3This is a little-known trick, however, it's simple to use. Simply add "/export_tcx" - without quotes - to the end of your activity page URL. For example, if your activity page is www.strava.com/activities/2865391236 - just add the text to give you www.strava.com/activities/2865391236/export_tcx and hit enter. This will download a TCX version of your file to the location specified by your browser's preferences Is there a way to achieve this with the API? I can get .tcx file for routes but not for activities.Thanks for your help!
Hello. I created app. According to the instructions, I filled it out for testing to Swagger Playground. But when I try to log in, I get an error in the response:{ "message": "Bad Request", "errors": [ { "resource": "Application", "field": "redirect_uri", "code": "invalid" } ] }request url:https://www.strava.com/api/v3/oauth/authorize?response_type=code&client_id=117684&redirect_uri=https%3A%2F%2Fdevelopers.strava.com%2Foauth2-redirect%2F&scope=read&state=U3VuIERlYyAwMyAyMDIzIDIxOjA3OjQzIEdNVCswNzAwICjQndC%2B0LLQvtGB0LjQsdC40YDRgdC6LCDRgdGC0LDQvdC00LDRgNGC0L3QvtC1INCy0YDQtdC80Y8pWhat am I doing wrong?
Hello, I have an application that is used to upload gpx to strava from usb cable connected devices,it can also view activities general details - mostly track and map. It does not duplicate any strava functionality besides uploading gpx via API. It is a desktop app with 1 user only using his own api-application. I was autidted by the team, i got all the required stuff in the app (logos, strava promotion, links to activities ‘view on strava’ etc) and I got all the blessings, plus request limits set for the app. I am happy with that. But my question is - if I make the app public, and some people will download it and use as their private api applications, will that be a concern for me, or just they need to setup their api-app and use it. It is a one-user desktop app. Hope it sounds reasonable ;) if not I can give more details to strava team.
Dear Strava Support Team,My name is Seokwon Jung, and I live in Seoul, South Korea.Since the end of the pandemic, I have fully embraced running as a hobby and began using the Strava app last year while preparing for a full marathon.Currently, I work as a leasing manager for brand stores during the day time weekday, a graduate student researching urban commercial districts and real estate using big data and GIS at night, and an as a runner and marathon enthusiast on weekends, enjoying the Strava app.Given my background, I have recently become highly interested in Seoul’s running environment. Specific areas such as Hangang river Park and Seoul Forest are forming running communities, which have even attracted related brand antenna shops. Additionally, the Seoul Metropolitan Government has been implementing policies like “Runner’s Station at Yoeyido metro” or “WristDoctor 9988” to foster a better running environment.As such, I would like to analyze Seoul’s running (jogging) environment usi
Hi Team! It looks like I accidentally turned off the .Ai analytics feature. Is there a way to switch it back on?
I'm writing software that controls my treadmill. The idea is that I can run any run in the world, and the treadmill responds to the gpx data coming in and is doing all climbs as if it were the real world.At the end of a run, I want to upload my activity to Strava. And that is the point in which I get stuck….Using the client id, client secret I'm able to get a bearer token. This token has read permissions. In order to write to an activity I need write permissions. I cant figure out how I can exchange the bearer token for an authorization token that authorizes me to write data to the activity. Can anyone help me?
Hi,We asked for athlete count increase around 4 weeks back, but haven’t heard back.The ask was to increase the limit to 10K.Did we ask for a too big limit to start? as I see most people here get 999 limit.Can someone help us in expedite this, as this is blocking out our feature release which we have committed based on the timeline (7-10 days) which was shared with us. We are fine by 999 limit as well to get started.
Hello,I am student of high school and i got an idea to create webpage for the students of school and basicly create competition between the classes, which class will have run most km or on bike, or hiking in some period of time. For example in January had class “name of the class” run most km, so they won. The problem is that in my API application “the number of allowed athletes” is just one, and if I understand it correctly, i should send mail to strava so they will change it, right? So I wanted to ask if its not useless to send the mail considering the whole idea, if it makes sense? If its not just waste of time. Also I ve seen some information about data privacy, and what i wanted to do, was to display data of the activites that the users have done and also the data of the class as whole. So display who have how much kilometers run or cycled, and then which class has how much run and cycled. I dont know if its not problem considering the rules of strava API about the data privacy an
When I record a workout on Hevy it tracks Kcal burned.When I finish the Workout and it saves.This data is implemented into Apple Health but does not sync to Strava.
Hello, I am an iOS development engineer, I have encountered some problems in the process of user authorization to obtain code, An error was reported while initiating the request. The error was displayed {"message":"Bad Request","errors":[{"resource":"Application","field":"redirect_uri","code":"invalid"}]} Is the redirect_uri set incorrectly? Tell me, please. Thank you
Since february 27, my webhook -that was succesfully working since 2018, stopped receiving events from Strava. Nothing changed on my application side.[ { "id": 130673, "resource_state": 2, "application_id": 16505, "callback_url": "https://www.cycloclub.be/stravacallback.php", "created_at": "2018-11-14T08:19:33+00:00", "updated_at": "2018-11-14T08:19:33+00:00" }]I checked everything, deleted the subscription (succesfull), and re-registered it, which fails with message GET to callback URL does not return 200.I did all checks, verified the callback-URL, but can’t figure out the issue.It seems that Strava -for some reason- can no longer reach the website/URL, as I’m also seeing no longer requests coming from Strava to the webserver since feb 27.Has anyone encountered similar issues ?
Hello, this is New Balance Korea. We connect to Strava through an app called MYNB to record and store running data and provide related services to our customers. However, for a while, the data has not been reflected properly, and recently, the icon for installing Strava app has not been viewed on Google Play and the App Store. Do you have any plans to suspend or reduce services to South Korea? If so, please answer the specific schedule plan.
Hi,the Strava authentication in my windows app CR4NKUP is not working anymore. The app was built in Unity and uses the Vuplex Webengine ( https://developer.vuplex.com/webview/overview ). When the user wants to connect his Strava account for uploading activities to Strava the InApp Webbrowser is opened with the Authentication url and according parameters and the user has to authorize. My app handles then the upload of the activities to Strava and takes care about token refresh, etc. Everything was working fine for more than one year. But since about two months the Authentication does not work anymore.When the Strava page is opened in the InApp webbrowser and the user enters his credentials (email) the page shows an error instead of the next page to enter the password. The error is something like this (translation from German to English):Unexpected Error. Please try again later.If I use the url for authentication directly in the browser everything works fine.Were there any changes on Str
Is this form https://share.hsforms.com/1VXSwPUYqSH6IxK0y51FjHwcnkd8 the way to go? Whats the usual turn around time?
Recently my api was approved by strava. Post that when I click My API Application in Setting, my client id changes ****80 or ****79.When 79 all my limits gets reset to default and when the id is 80, I get the allowance provided.Any idea?
Hello, we are developing a third-party service using the Strava API.📌 Scenario:Our service:Receives activity creation/update events via Strava webhooks. Then retrieves the activity data and updates the activity description by appending our service's content.⚠️ Problem:After receiving the webhook, we retrieve the activity data and update the description.However, we occasionally encounter the following issues:Our description update is not reflected. Descriptions added by other third-party services disappear.To address this, we introduced a 4 to 5-second delay before fetching activity data, but the same issue still happens intermittently.❓ Questions:What is the recommended approach to prevent description conflicts when multiple third-party services update an activity simultaneously?We would appreciate it if you could share any official guidelines or best practices related to this.Thank you! 🙏
Hi,I’m trying to export power data from an activity using the Strava API. I have a request that fetches the activity stream with the watts parameter. When a power meter was used during the activity, the values are returned correctly. However, if the activity was performed without a power meter, the API returns an empty stream.I noticed that in other places, such as the average_watts field, the API provides a value based on estimated power without any issues. Additionally, on the Analysis tab of the Strava activity page, it’s possible to view estimated power at each time point.Is there a way to retrieve estimated power through the API so that it appears in the activity stream? Maybe there’s another endpoint or parameter that should be included?Thanks for your help!
When I tried to share activity from the Fitbod app to the Strava app, the Strava app reported, "Unable to connect to Strava servers; try again later."
Does anyone know why the event data being sent to my webhook looks like a schema definition, instead of the actual activity data? This is the event data that my webhook receives from Strava after an activity is logged, no data or whatsoever.{ "":"http://json-schema.org/draft-04/schema#", "title":"StravaPushModel", "type":"object", "required":[ "event_time", "object_id", "object_type", "owner_id" ], "properties":{ "event_time":{ "type":"integer" }, "object_id":{ "type":"integer" }, "object_type":{ "type":"string" }, "owner_id":{ "type":"integer" } }}
If I refresh when looking at the monthly activities, the language of the type of activity (i.e run, walk etc) often change to another language. I have English as the language on my phone, and the rest of the app is in English, but when refreshing this page I have seen French, Spanish, German, and some languages I do not know which were. It is totally random and sometimes all of the activity type names change and sometimes not, see screenshots.
Not sure when this started, but I noticed that whenever my app would POST details to the /activities API endpoint, I’d get an error saying the description was invalid.I eventually found that the cause was that I was adding my app’s domain to the end of the description (e.g. Workout by StrideOn.run). Removing the .run portion fixed the issue.This has previously worked for years, so it might be related to Strava’s recent updates regarding links.Even if you’re not specifically adding a domain name in the description, this error could happen if Strava thinks that it is or if it’s user-generated and contains what appears to be a link.
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.