Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
The documentation for SummarySeĝment states that activity_type can be either Run or Ride. But the actual return value can also be other activity types, so it probably would have to be an instance of ActivityType.
Overnight we've seen 100% failure of the /api/v3/uploads endpoint. A post to that route returns the following raw HTML. However, the Strava status page says things are 100% operational?
After working for some time with the API, I'm wondering if this is something feasible. The SummaryXXX model looks not only more complete but usable (as they both include identifiers).In case this is not possible, or causes some sort of breaking change, it would be nice to have info, such as identifiers, gear used, activity stats, etc. on the ClubXXX models.Thanks in advance.
Hello.I noticed this evening, when downloading my data using Strava API (through Postman), that the location_city and location_state parameters are set to 'null'.As I have given my token full access, I get also the detailled info for the segments, and there, the city and state parameters are set properlyI am fairly certain that it was not the case before, so I' m wondering if something has changed.Thank you.
I wonder why any segments with the slightest negative grade does not work on live segments? I understand steep segments for safety, but I like to bike several segments that are quite long but with 0-5% negative grade. They are a bit up and down, but no steep or dangerous parts. None of these work with live segments because of the descent, but I can't understand why. I believe it used to work a while ago.
This activity was started at 10:12 and ended at 10:18 and the result was uploaded at 10:22 via API to Strava. How can I achieve that 10:12 is displayed on the Strava-Website instead of 10:22? start_date and start_date_local are set.
Trying to set up a web page for my sister-in-law, using my own python code and web page as a template.I can get her stats ok, but I get a 401 error returned when I try to get her activities. At the bottom of this message is what I get returned when I try to get her last five activities (I have replaced the Bearer code with **bleep**).I have her client_id, client_secret, refresh_token, access_token, athelete_id, grant_type, (authorization code) and the corrected paths for her stats file, auth file and activities file in a .env file and have double, triple and quadruple checked them for accuracy- what am I missing?I don't understand why stats works, but activities doesn't. My own running web page is here-https://vk7krj.com/running.htmlThe stripped-down version with just the strava bits for Sue is here-https://vk7krj.com/Sues%20running.htmlHer activities are currently showing some old ones of mine as placeholders.. Any help/ideas greatly appreciated.Ken.*************************
Can anyone please provide me a list of activity types for the GPX files? The example below has a number 4... which, as its my GPX, means hiking.I thought it would line up with the FIT activity value but far from it, and by the looks of it, some activities like WheelChair and RollerSki arent even in FIT. <?xml version="1.0" encoding="UTF-8"?><gpx creator="StravaGPX iPhone" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" xmlns="http://www.topografix.com/GPX/1/1"><metadata><time>2023-03-05T09:15:23Z</time></metadata><trk><name>8 Wainwrights around Hayeswater</name><type>4</type><trkseg>
In my app, athletes can connect their Strava, Garmin Connect and COROS accounts to, among other things, capture completed activities. So if they've connected both Strava and, say, Garmin, then when they complete workouts, we'll receive activity records from both accounts. Problem is we only want the workout to appear once in their calendars, and to accomplish this, I've used date/time and other logic to try to detect duplicates. But that isn't foolproof since start time, distance and completion time can all be different for the same workout.Is there anything available in the Activity record that would definitively say which device activity record it's associated with, or is there a more robust way to associate the two records? I see there's an external_id field, but sometimes it references a ping record, sometimes it references a FIT file, and sometimes it's empty. It used to contain the Garmin activity ID which directly referenced the ID in Garmin's record, and that was perfect, but i
Hi, I am trying to make a program that as soon as I upload an activity, changes the title, the description, and most importantly the map type from the regular orange line, to the "support Ukraine" map type.I have been playing around with the API, using the get request to see an activity, but there is no entry for the map type. Is this even possible? Best,J
Hi, I have been working on a simple web application to track running performance. Currently I am using the MySQL database. I have a form taking in Time of run as a string. I was running into issues trying to store the run time as a time via MySQL. I joined Strava hoping I could inspect the HTML with hopes of helping me with my issue.First, I observed that information is being stored as JSON objects. I also observed that the inputs of the form we're taking in the time for a run as a number. I was hoping to engage in a conversation with a developer to assist me as I try to solve my issue and continue building my application. My questions are can I accomplish my goal with MySQL as my database or will I need to convert to a NoSQL database? Does my information need to be input as a JSON object? What steps should I take to accomplish storing "duration" of a run in my Web Application?
For years our website has run cron jobs sending request to the Strava API. We are having three cron jobs. So every minute we are sending request to Strava but we are experiencing "Rate Limit Exceed " issues now. Strava suggests making a change to web hook events API, which is fine by me, but where do I find capable resources to that code change?
I need to be able to access the routes, to later search for the GPX of each Athlete associated with my club, and thus be able to recover all the statistics to consolidatename, date, hour, local, km, gpxThe api I'm using is: GET https://www.strava.com/api/v3/athletes/:athleteId/routes?page=1&per_page=200 but I get Forbidden Is there any way to search for the information of the athletes associated with my club?
Hi Developers, I am Atul Sharma and I want to authorise strava using OpenID Connect in Firebase and for that I need Issuer URL as described here. So can anyone suggest me where can I get this URL.Thanks
Hi folks,I need help with something that should be straightforward. I want to execute the Get API Call List Club Activities (getClubActivitiesById) [https://developers.strava.com/docs/reference/#api-Clubs-getClubActivitiesById]. I meet the pre-requisite of being a member of the club I want to extract data from.Via Postman I execute the following actions:1. Get Action: https://www.strava.com/api/v3/clubs/**bleep**/activities?page=&per_page=2. In the Headers Section I define the Key field as "Authorization" and specify its value with "Bearer 'YourAccessToken'"3. The response I get is the following:{ "message": "Bad Request", "errors": [ { "resource": "Application", "field": "page", "code": "invalid" } ] }What is weird is that the API call does get picked up as an API call on the API Usage report in the My Application API section. I hence conclude that the API call is executed correctly but I am lacking authorization, but I am sure I use the right token at the right time.He
Hello Everyone,To preface this, i am very new to working with APIs so have been trying to follow multiple tutorials...Im sure this topic has been discussed before, but i cannot find my situation and am hoping someone can help me...So...I have followed the instructions on authorization Iincluding using the correct read_all in the scope that trips a lot of people up.I am able to exchange the code for an access token, and the retrieve all of my activities - no problems - Great stuff!I save the token to a json file, opening and checking the expiry each time i make a new call.The problem arises 6 hours later - i need to use the refresh token to get a new access token - which i (seemingly) do without issue, i make the request and recieve back the new access token (and update my saved json file)- but i can no longer retrieve all of my activites.Am i doing something wrong? do i need to include something when requesting my new access token? Ive been searching round google for about a week
For some reason, I am not receiving any webhook events (new activities, updated activities, etc) today. I have never experienced this issue before. Is there some kind of problem that would cause this today?
Hello everyone. I'm having an issue with retrieving user data.I decided to create an API that would fetch data from my friends and push a weekly leaderboard to our Telegram channel, showing who ran the most.So, let me describe the process of creating the application.1) I registered the application on Strava and obtained all the necessary data to work with their API.2) I created an Express application and connected it to the Firebase database.3) Through a Telegram bot, I asked my friend for permission to access their personal information. I used him to test the application architecture. I sent him the following link: https://www.strava.com/oauth/authorize?client_id=${clientID}&redirect_uri=${redirectURI}&response_type=code&scope=read_all. Please note that the scope field includes the read_all parameter.4) My friend clicked the link and granted permission to share their information with me. At this stage, I stored all the necessary data, including their ID and token, in the d
When you visit Strava.com and sign in, you can view (and download) Strava's source which is not minified.Their custom @strava Components are also shipped with the source.Interesting bit of knowledge and some good reading!
Hi everyone! I am somewhat familiar with Strava's API both directly via HTTP and with the Python Stravalib library through my visualization app Heatflask (https://www.heatflask.com) (Client ID 12700) which I has been running since 2016. However I have another thing I am trying to do on my own. I have a lot of old activities that I imported from SportTracks dating from 2009 - 2014, very few of which have heart-rate data. I would like to retroactively update RPE (https://support.strava.com/hc/en-us/articles/360032535512-Perceived-Exertion) for these activities by comparing with similar more recent efforts. I can manually change that value one activity at a time on Strava website, which is really slow. Is there any way I can do it via API? I do not see RPE as a parameter for Activity update (https://developers.strava.com/docs/reference/#api-models-UpdatableActivity). In fact, the only info I have seen about RPE for Strava's API was th
On the getting started guide in the section F. Why do I need webhooks? it states: "Per our API terms, you need to implement webhooks to know when an athlete has deauthorized your API application" What about mobile only applications? We're building a mobile only app and have no intention of managing a backend server because our app does not require one to function. So are mobile apps exempt from this, or is there a special way to handle this case?
Hi all.Using a get on https://www.strava.com/api/v3/activities/, I get a list of activities.I realised that each activity in the json response is a summary of the activities, because "resource_state" : 2,So I tried to tried to get the detailed representation.Which you can get using /activities/{id}.But for that, you need the ID.OF course, I can get the ID from the first query, and then re-query using the ID, but I'm wondering if there is not a simpler way.For instance a way to get a list of ID directly, and then using that list to get the detailled representation.Thanks for any hint!
On June 22/23 for some users of our app the upload failed for FIT files with swimming data. The response error when uploading the FIT file was:status: 404 error: {"message":"Record Not Found","errors":[{"resource":"resource","field":"path","code":"invalid"}]}Without any change on our site, the problem disappeared on June 24. The same swimming data FIT files that caused the 404 error could be uploaded succesfully. So it looks Strava fixed it.But yesterday (June 29) or the day before, the problem happened again. And it continues today. Not for all users who upload swimming data FIT files, but for some of them, in different countries on different continents.We reported the issue to Strava, added a concrete example (user id and time the problem happened) and the response was that they couldn't look into it. Because we don't know the source of this issue, and we can't reproduce it ourselves, we hoped that Strava would have a look into their log files, but it seems they don't want to do this
Is there an easy way to determine how old a segment is? If not, could it be added to each segment e.g. creation date?
Hi there!I am looking for someone to please point me in the direction of some help for API integration for an Organ Donation event we are hosting in September called Race for Recipients.Last year we logged 11,000 activities in a week across the UK.Many participants have asked that we get STRAVA integrated with our web based platform to improve the user experience.I have spoken with customer services at STRAVA, but unfortunately I am still not clear what I need to do.... please help!Many Thanks!
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.