Curious about our API? Connect with our developers to share ideas, knowledge, and feedback
Recently active
Hello Strava Developer team,We run Ridge (https://ridgetrail.app), an iPhone and Apple Watch app for hiking and trail running, live on the App Store since August 2026. Strava is optional: athletes can import an activity as a route and send recorded activities to Strava.Our app has been at its 10/10 athlete capacity for over a month. We submitted the official capacity increase form on September 30, 2026 and haven't heard back yet. Real users are now hitting the limit: one wrote to our support today after getting an error on the authorization page.Our integration follows the guidelines your team highlights:- Webhook subscription in place (subscription 374767); deauthorization events are handled- Revocation on disconnect, and a 401 clears the local connection and the cached data- No background polling: every API call follows an action by the athlete- No activity data stored on our servers; our backend only brokers OAuth tokens, and the client secret never ships in the app- Official "Conne
Hi Strava team,I submitted an athlete capacity increase request on October 15 and haven't received any response yet, so I'm following up here.App details:• App name: iRunning• Website: https://irunning.app• Client ID: 247791• Current limit: 10 connected athletes• Date submitted: October 15, 2026iRunning is a running app for iPhone and Apple Watch. The Strava integration lets our users upload the runs they record in iRunning to their own Strava account. Each athlete only authorizes access to their own data, and we only write the activities they recorded themselves.We're at the 10-athlete cap, so new users who try to connect Strava are blocked. Strava sync is the single most requested feature from our users: every day new users write to us asking when they'll be able to connect their account, and right now all we can tell them is that we're waiting on Strava. The request to raise the limit has been sitting without a reply for over three weeks.Could someone confirm the request was receive
Hello Strava team,RidePeak (https://ridepeak.app) is a cycling training planner, Standard Tier, currently at 10 athletes and preparing a capacity request. Each athlete sees only their own data; no sharing, no leaderboards, no AI.To plan training we need a daily training-load value (TSS) per athlete over roughly 6–12 weeks (chronic/acute training load). Before we redesign our data model we would like to confirm which of these patterns is compliant:A) Delete all Strava activity records within 7 days and retain only a daily load number (e.g. "2026-10-14: 87 TSS") for that athlete, deleted on deauthorization within 48 hours.B) Store nothing beyond 7 days; on each use, re-fetch the athlete's activity list (last ~90 days) from the API, compute the load in memory and discard it.C) Neither – Strava data may only be used for the last 7 days.Which of A, B or C is permitted under Sections 6.2, 6.4 and 7.4? If B, does it count against normal rate limits only?Thank you,Wolfgang Marx – RidePeak
Hello Strava Developer Community,App Name: Da HaloClient ID: 191535We submitted a request to increase our connected-athlete limit approximately two months ago, but we have not received any response or update regarding our application.We have now reached the current maximum connected-athlete limit, which means new users are unable to connect their Strava accounts through our app. This is directly affecting our users' experience.We understand that requests may take time to review, but after waiting for two months without any communication, we would greatly appreciate any update on the status of our application or guidance on how to move forward.Has anyone experienced a similar situation or found an effective way to get an update on a pending request?Thank you for your time and help.
Our application has reached the 9,999 connected-athlete cap, and new users can no longer authorize the app. This is currently blocking all new sign-ups in production.DetailsApp name: Avionx Ride Client ID: 153306 Owner / contact email: develop@avinox-ebike.comWhat we've already doneSubmitted the athlete-limit increase request via developers@strava.com on 2026-08-17 Completed the API agreement / brand guideline requirements and confirmed our app is compliant No reply received in 10 days, and no update on the request statusWhat we're asking forConfirmation that our upgrade request was received and is in the queue Guidance on the expected review timeline, or any missing information we should provide If possible, an interim limit increase so existing production traffic isn't blockedHappy to share additional details (usage patterns, rate-limit stats, screenshots, or a Strava-facing walkthrough of the app) via a private channel. Any pointer to the right process or contact would be greatly ap
I run a small coaching app (DM Training) where clients connect their own Strava account via OAuth. We’d show their activities to them and to the coach they hired, who uses them to adjust training. Nobody else sees the data, and it’s never used for AI/ML or shared.Since the Nov 2024 agreement update, is coach visibility allowed, or must data be shown only to the athlete? Has anyone with a coaching platform passed the capacity review with this use case? Any official Strava answer would be very welcome.
I'm building Aevo, an endurance coaching app. An athlete connects Strava, and we use their activity data to coach that same athlete. Part of the coaching is generated with an LLM (OpenAI API), used for inference only.I want to stay on the right side of the API Agreement, and I could not resolve this from the Agreement text or existing threads.The Agreement is clear on two points: data obtained through the API may not be used to train AI or ML models, and a user's Strava data may only be displayed or disclosed to that same user. What it does not address is inference.My question: is AI inference on an athlete's own data, used solely to generate guidance for that same athlete, permitted? To be specific about my setup:No model training, fine-tuning, or improvement on Strava data, ever. A user's data is only ever shown to that user, never to others, never aggregated. Zero data retention can be enabled on the OpenAI account so inputs are not stored. Only derived metrics (pace, distance, HR s
Hi,I'm the developer of Amberday, an iOS app (Client ID: 293429) that gives athletes a daily training verdict (maintain, lighten, or rest) based on their recent training load and, optionally, Apple Health recovery data. Training history, load and the verdict itself are computed from Apple Health workouts, on the athlete's iPhone, and shown only to that athlete. Strava is used for the last 7 days only: activity names and routes in the app's calendar, and the optional sharing described below. All Strava data is removed from the device after 7 days, per Section 6.2. I'd like to make sure the app complies with the API Agreement and API Policy (effective June 1, 2026) before requesting a capacity increase. Two questions:1. Adding a short block to the athlete's own activity description (activity:write)The app has an opt-in setting, off by default. When the athlete turns it on, the app requests the activity:write scope and appends a short block of four lines to the description of that athlet
Hi Strava Developer Team,I am following up on a request to raise the athlete capacity for my application (Client ID: 231801). I have not received a reply or any news on the review.Athletes who try to connect now see this page on strava.com:Error 403: Connected athlete limit exceeded. "This application has exceeded its connected athlete limit."The app is Kulsans (https://www.kulsans.com) — a team platform for running, trail, and gym coaches, built by Cenit Solutions. The coach plans the week. Each athlete connects their own Strava account so a completed activity can close the planned session, with distance and time. Coaches see that data only when the athlete shares it with that team. The connection is read-only (read, activity:read_all). We do not post to Strava, and we do not republish an athlete’s feed.The default cap is already full, so the next athlete cannot authorize the app. I need the cap raised so every athlete on a team can connect.Can you tell me the status of this request,
Hi Strava team,every athlete knows the moment: the last kilometre, the noise, the clock above the finish line. A few days later the medal is in a drawer and the activity is somewhere deep in the feed. Zielglück exists to keep that moment – we turn one of the athlete's own activities into a printed poster for their wall: the route line, the distance, the time, the date.On October 28, 2026 we submitted an athlete capacity request for our app (Client ID 291382) and have only received the automatic confirmation so far. We know reviews take time, so here is everything in one place to make it as easy as possible.Why Strava matters to usMost people design their poster on their phone, often right after the race – and on a phone, exporting a GPX file is close to impossible. "Connect with Strava" is the one simple way for them to bring their own run, ride or hike onto the poster. We are a complement to Strava, never a replacement: no feed, no leaderboards, no segments, no training analysis, no s
Hi everyone,I'm developing a custom indoor running app that connects to treadmills via Bluetooth FTMS.The app records speed, distance, heart rate, incline, and calculates elevation gain based on the treadmill's actual incline.The elevation gain is correctly calculated in the app and stored in the generated FIT file. However, when I upload the activity to Strava, the elevation gain always shows 0 m.Here's an example from a recent workout: Distance: 3.27 km Duration: 18:57 Calculated elevation gain: approximately 283 m Elevation gain displayed in Strava: 0 m Activity type: Run (not Treadmill) I'm currently investigating whether the FIT file needs additional altitude-related fields or whether Strava ignores elevation data for indoor running activities.My questions are: Does Strava require specific FIT fields (altitude, enhanced_altitude, total_ascent) to display elevation gain? Does Strava ignore elevation data from indoor running activities? Would uploading the activity as Vi
Hi! My API app (Client ID 77411) shows "-1 requests every 15 minutes, -1 daily" for both overall and read limits. Every request returns HTTP 429 with X-RateLimit-Limit: -1,-1, even with minimal usage (17 requests). I have an active Strava subscription, the app is for personal use (reading my own activities), and I can't delete it to create a new one. I already contacted developer support (ticket #19425). Could someone from the Strava team restore standard limits for this app? Thanks!
Hello Strava Team,I would like to request an athlete capacity increase to 30 authorized athletes for [Training] (Client ID: [165886).I previously submitted a review request but have not received a response. I no longer have the exact submission date or a reference number, so I am posting here to request guidance on the appropriate next steps.What the application doesThis is a small, personally maintained, non-commercial website for approximately 30 members of a cycling group.Its purpose is to summarize participants’ weekly virtual cycling activity. Each member creates a website account and individually connects their own Strava account through OAuth.The application calculates weekly totals using the moving_time of eligible VirtualRide activities, with weeks defined in the Asia/Shanghai time zone.How we use the Strava APIScopes requested: read,activity:read. The application does not request activity-write access. Activity retrieval: Read the authorized athlete’s activity list and retrie
Hello Strava team,Can my private, single-user app import my own activities through the API and retain them indefinitely as GPX for geographic search, statistics and mountain peak collections? This app is only a hobby project for personal use.Cheers
Hi everyone,I submitted my app, Suado (Client ID 184455), for the Developer Program Review on October 5, 2026, to increase the athlete limit beyond 10. It’s been about four weeks and I haven’t received any response yet, not even an approval or a rejection.Suado is a free web app for athletes Brazil: athletes connect their own Strava account and earn points for their own activities, which they redeem for discounts at local businesses. We’re at the 10-athlete limit with a waitlist of people who want to join.My questions:Is there another way to follow up on a pending review, besides resubmitting the form or emailing developers@strava.com? Does resubmitting the form help, or does it push the request back in the queue? Is there anywhere I can check the status of the request?Any guidance is really appreciated. Happy to provide more details if needed. Thanks!
Hello Strava Developer Community,I am reaching out on behalf of BIODERMA Bulgaria regarding our existing Strava Running Club integration.We have a dedicated website featuring a cumulative kilometer counter that previously tracked the total distance completed by our Strava club members automatically through the Club Activities API.Following the removal of the Club Activities endpoint in September 2026, our counter stopped updating.We understand that individual athlete authorization through OAuth is the recommended alternative. However, our objective is to maintain a collective kilometer counter without requiring every club member to connect their account separately.We would appreciate clarification on the following: Is there any officially supported alternative for retrieving aggregate club distance data? Does Strava permit a public, anonymized counter displaying the total kilometers completed by club members? Are there any special access arrangements, Partner APIs, or commercial pa
Hi, we submitted the developer program / capacity review form on 27 Oct 2026 and are waiting for a response. We are a volunteer-run, non-commercial running/cycling community in İzmir (Strava club 1275996, ~420 members). Our app is currently at 10/10 connected athletes; it shows aggregated club totals and an opt-in top-5 leaderboard to club members only, using read and activity:read scopes. Happy to provide updated screenshots or change anything needed for approval. Thanks!
Hi everyone,We are building VelUP, a bike-maintenance app for cyclists in Brazil. Athletes authorize their own Strava account (scope activity:read only). We receive activity webhooks (no polling) and, for each ride, read only the distance, the start time and the bike (gear id). We do not store routes, GPS, heart rate, titles or segments. The athlete links each Strava bike to a bike they registered in our app, and the distance is added to that bike’s odometer to drive maintenance reminders (chain, brake pads, tires...). The Strava-derived distance is shown only to that same athlete, never to workshops or other users.We are within the first 10 athletes and want to be sure we are compliant before asking for more capacity. Could anyone from the community, or from Strava, help clarify these points under the current API Agreement/Policy (June 2026)?7-day cache rule (Policy 6.2). We convert each ride into a per-bike odometer delta (a number of meters added to a running total). The activity id
Hi all,I'm building a web app that connects to Strava via OAuth and computes derived training metrics per user (training load, ACWR, zone distribution, that kind of thing) from their activity data, for use on a personal dashboard inside my own app.I'm trying to reconcile two parts of the current API Agreement/Policy:- Policy 5.4 appears to bar processing Strava derived data "for the purposes of analytics."- Policy 5.5 appears to bar storing derived data in any "Persistent Index."- Policy 6.2's 7 day cache cap only applies to raw Strava Data, and Policy 7.4 and 6.3 require deletion of derived data within 30 days of disconnect and sync within 48 hours of a source activity's deletion.My question: does storing per-user computed training metrics (not raw Strava Data, values I calculate from it) in my own database, scoped to each user, for display back to that same user, count as the kind of "analytics" or "Persistent Index" that 5.4/5.5 prohibit? Or is that restriction aimed at something el
Hello guys,I'm developing a personal, non-commercial AI cycling coach in Python that will analyze my own Strava activities.I tried to see if this topic was already adressed, but I didn’t find anything that matched quite enough. Apollogies if I’m re-booting and old subject. I would like to connect directly to Strava's official MCP server at https://mcp.strava.com/mcp.I have successfully found the OAuth authorization server and its client registration endpoint. However, my dynamic client registration attempt returned:invalid_client_metadata – Unable to register clientCould anyone please clarify: Does Strava support custom Python MCP clients, or is access restricted to approved AI assistants such as Claude and Gemini? If custom clients are supported, what are the required OAuth client registration parameters and redirect URI requirements? Is there official documentation for connecting a custom MCP client? I am specifically interested in the MCP integration rather than the standard Str
I am the developer of dameto.sk, a sport-focused dating site built on Joomla. Our application (Client ID 276814, athlete capacity 10/10) lets a member optionally connect their own Strava account. Before we apply for a capacity increase, we would like to confirm that our intended use is allowed under the API Policy of June 1, 2026. We do not want to submit screenshots of a design that Strava would reject. What we want to do:1. A member connects Strava voluntarily (OAuth, with the consent information required by section 2.1).2. From that member's own activities we compute a few coarse values: main sport, a weekly volume band, and typical time of day.3. When two members are shown to each other, we use a simple rule-based formula (no AI or ML) to calculate a single compatibility figure, and show only that figure to the other member. The underlying activities, routes and numbers are never shown to anyone else.4. Optionally, a member can explicitly choose to share a coarse band (for example
We're building a small non-commercial Telegram bot for our running club (~200 members). Each member connects via OAuth (read,activity:read); we verify club membership via /athlete/clubs at connect and daily. New activities are posted to the club's private Telegram group, along with daily/weekly/monthly summaries and a distance leaderboard, all marked "Powered by Strava". No AI, ads, analytics or intermediaries; everything is deleted on disconnect or revoke.Under the June 2026 API Policy we're unsure about four points:1. §2.3 says a user's data may be shown only to that user, but §6.1 applies that limit only to apps with an athlete capacity above 9,999. Can a Standard-tier app show members' activities and a leaderboard to the rest of the club's group?2. §6.2 allows a 7-day cache and otherwise says "you may not store Strava Data". Weekly and monthly summaries need older activities. Is storing activities while the athlete stays connected acceptable, and how do other club/leaderboard apps
Hi Strava team,We submitted the Developer Program review form for AVOS Fitness (Client ID 287189) and haven’t heard back yet. We now have 10 of our 10 athlete slots in use and new athletes are signing up every day, so we’ll soon have to turn people away.Avos Fitness (https://avosfitness.site) is a training log and performance coach for amateur athletes in Spain. Each athlete connects through OAuth and only sees their own data. We follow the API Agreement and Brand Guidelines: «Powered by Strava» on everything shared, no Strava data shown to other users, nothing used for AI training, and deauthorization handled through the webhook.Could you please review our request? Happy to provide anything else you need.Thanks,Manuel Sánchez Rosario
Hi,We’re a small Danish company (Epic Efforts, epicefforts.com) that turns an athlete’s own activity into a printed poster or apparel. The athlete connects Strava, picks one of their own activities, designs the print and orders it.We’re on Standard Tier at 10 athletes and submitted the review form in early October, but haven’t heard back. Customers who want to connect are now being turned away, so I’d be grateful if someone could look at our application.A few details that may help the review:Only the connecting athlete’s own data (activity:read_all, profile:read_all). Nothing is written to Strava, nothing is shared between athletes, no AI training. Tokens stay server-side, no refresh tokens are stored, and activity data is cached for at most 15 minutes. The deauthorization webhook is active and deletes everything tied to the athlete. Official “Connect with Strava” button, “Compatible with Strava” and “View on Strava” on the activity.One question I’d like your guidance on: since a conne
Hello Strava Developer Community,We are developing RUNVERSE, a Brazilian running platform that combines GPS activity tracking, running statistics, gamification, and running communities.We currently have a working Strava OAuth integration that allows users to connect their individual accounts and import their activities.We would like clarification about the current API Policy, particularly Sections 5.4, 5.5, 6.2 and 7.4.Our intended feature is to allow each athlete to see their own: Lifetime running distance. Annual running distance. Total number of runs. Total moving time. We would like to display these statistics in the athlete's private RUNVERSE profile and allow the athlete to voluntarily share personal achievement cards on social networks.We do not intend to retain detailed Strava activity records beyond the permitted cache period.Our questions are: Does the current API Policy prohibit permanently storing cumulative lifetime and annual running statistics derived from an athle
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.