All integrations

Strava APIalternative.

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 });
}

The same run, two sources. One row goes to Strava, and for some readers it should settle it.

What is being comparedStrava APIStridee
Where it comes fromStrava’s copy, once the watch has syncedThe manufacturer, as the workout lands
Who you may show it toThe athlete who recorded it, nobody elseWhoever your users consent to
Training a model on itProhibited by the API agreementYours to use
Request ceiling200 per 15 min, 2,000 a day — 100 and 1,000 on readsNone on reads. Only pushes to a watch are capped, at 60 a minute
How many athletes1, then 10, then an app reviewYour plan’s ceiling, from day one
What it takes to startAn active Strava subscription, per developerA plan from $32.50 a month, 14 days free first
Devices coveredAnything synced to Strava, phone recordings includedGarmin, 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.

One call earlier in the chain. Your users consent on a screen we host, and finished activities arrive at your endpoint, sealed to your key.

+20 morenormalize · encryptone FIT fileYour backendPOST /webhooksYour appGET /v1/activities
Pricing

Two weeks free. Then from $32.50 a month.

Checkout is the signup. No waitlist, no sales call.

  • Garmin, COROS, Polar, Wahoo, Zepp, Hammerhead, Fitbit, Suunto, WHOOP and Apple Watch behind one integration
  • Every endpoint on every plan — never priced per call
  • 14 days free, and no card charged until they are up

Cancel any time from the Stripe billing portal, or email [email protected].

Plans start at

$32.50/month, billed annually

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 plans

14-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.

Strava API questions

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