Take the activity from the watch that recorded it, not from Strava’s copy of it. No athlete cap, no daily quota, no terms deciding who may see it.
the athlete’s own watch, not their Strava feed
// decrypt() and stridee() are in /docs
export async function onStrideeEvent(rawBody, res) {
const event = await decrypt(rawBody);
if (event.type === 'activity.created' && event.data.file) {
// straight from the watch, no Strava needed
// The original FIT file, from the device.
const file = await stridee('GET', event.data.file.url);
await saveActivity(event.user_id, file);
}
res.json({ nonce: event.nonce });
}| What is being compared | Strava API | Stridee |
|---|---|---|
| Where it comes from | Strava’s copy, once the watch has synced | The manufacturer, as the workout lands |
| Who you may show it to | The athlete who recorded it, nobody else | Whoever your users consent to |
| Training a model on it | Prohibited by the API agreement | Yours to use |
| Request ceiling | 200 per 15 min, 2,000 a day — 100 and 1,000 on reads | None on reads. Only pushes to a watch are capped, at 60 a minute |
| How many athletes | 1, then 10, then an app review | Your plan’s ceiling, from day one |
| What it takes to start | An active Strava subscription, per developer | A plan from $32.50 a month, 14 days free first |
| Devices covered | Anything synced to Strava, phone recordings included | Garmin, COROS, Polar, Wahoo, Zepp, Hammerhead, Fitbit, Suunto, WHOOP and Apple Watch — ten sources, not everything a user ever synced |
Strava’s figures read from its published developer documentation and API agreement announcement on 24 August 2026. Check them before deciding anything on the strength of this page.
Checkout is the signup. No waitlist, no sales call.
Cancel any time from the Stripe billing portal, or email [email protected].
Plans start at
Or $39/month, month to month. Paying annually gets you two months free.
Hacker, Startup, Scale and Enterprise differ on how many of your users may connect a watch. The API is the same on every plan.
See the plans14-day free trial · cancel any time
We create the account on the email you pay with, automatically. Sign in at platform.stridee.com/login. Nothing to wait for.
No. Stridee reads activities from Garmin, COROS, Polar, Wahoo, Zepp, Hammerhead, Fitbit, Suunto, WHOOP and Apple Watch — the manufacturers themselves. There is no Strava integration and it is not on the roadmap. This page exists to help you choose between the two, not to sell you both.
Three cases. If your feature is built on segments, kudos, clubs or followers, that is Strava’s product and nothing here replaces it. If your users record on a phone and never sync a watch, those activities never reach us. And if you are building against your own account and already subscribe to Strava, their API is the shorter path — a bill you already pay beats a new one.
Two clauses matter for most products. Third-party apps may display a user’s Strava activity data to that user and to nobody else, which rules out coach dashboards, team views and club leaderboards. And the terms explicitly prohibit using data obtained through the API in artificial intelligence models or similar applications. Separately, a Strava subscription is a prerequisite for creating an app at all.
They reconnect once, naming the manufacturer of the watch they own, through a consent screen you never build. Your own external_user_id is the handle on both sides, so nothing in your database has to be rekeyed — the row gains a provider link rather than a new identity.
Not on reads, and nothing is charged per call, activity or endpoint. The limits that exist protect a third party: pushes to a watch are capped at 60 a minute, because the manufacturers rate-limit us across every customer at once. What a plan buys is how many of your users may connect a watch, and every plan is the whole API — all seven providers, every endpoint.
Pushed, not polled. A finished workout reaches the manufacturer and we deliver an activity.created event to your endpoint, sealed to your public key. There is no polling loop to write and no schedule to tune.
The full documentation is public and needs no account. Still have questions? Ask us in Discord