Skip to content

Start building in minutes

_

SweatStack is the sports data platform behind your app. Athletes sign in with their wearable account, and you get their full training history through one API.

from sweatstack import Client
from datetime import date, timedelta

client = Client()
client.login()

# A year of trail running, normalized to one schema
data = client.get_longitudinal_data(
    sport="running.trail",
    start=date.today() - timedelta(days=365),
)
from fastapi import FastAPI
from sweatstack.fastapi import configure, instrument, AuthenticatedUser

configure(
    client_id="your-client-id",
    client_secret="your-client-secret",
    session_secret="your-fernet-key",
    app_url="http://localhost:8000",
)

app = FastAPI()
instrument(app)


@app.get("/activities")
def activities(user: AuthenticatedUser):
    return user.client.get_activities(limit=10)
# Response is a Parquet file
curl "https://app.sweatstack.no/api/v1/activities/longitudinal-data?sport=running.trail" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -o data.parquet

Core vs context

One of the hardest things to build in a sports data app is the thing no user will ever pick you for: authentication, schema normalization across a dozen wearables, athlete profiling, training-zone math. Every team writes it from scratch. Six months of real engineering, zero competitive edge.

SweatStack handles all of it. You bring the coaching logic, the training models, the experience athletes choose you for. That's the work that matters, and it's yours. Everything underneath is ours.

Read more about this →


What's in SweatStack

  • One unified API


    One API across every supported wearable. Same shape regardless of source.

    See the data model

  • Sign in with SweatStack


    One button replaces your login and registration. Users authenticate with the wearable account they already have, and arrive with their history already loaded.

    How it works

  • Years of history, one query


    Query months or years in seconds, including everything your user recorded long before they'd heard of you. No pipeline to maintain, no upstream rate limits.

    Longitudinal data

  • SweatStack for Teams


    A team account with unlimited internal tools for your staff. Athletes consent once; coaches and analysts open every tool from one dashboard.

    For pro teams and federations

  • What you build stays yours


    Your models, scores and annotations belong to your app. The physiology is the athlete's. The intelligence is yours.

    Who owns what

  • Transparent pricing


    Free for tinkerers. $30/m plus per-MAU for commercial use. No surprises, no contact-sales tier on the self-serve path. Early-stage startup? Apply for free MAU credits.

    See pricing

  • A real toolchain


    Python SDK, CLI, in-browser REPL, hosted Pages. Everything you need to ship, not just an API.

    Developer docs

  • Built for AI agents


    Install our skills once and your AI coding assistant ships SweatStack code that works. No more pasting docs into the chat window.

    AI agent skills

Browse the full developer docs →


Integrations

Today: Garmin Connect, Intervals.icu, Wahoo. Up next: Polar Flow and Suunto. Apple Health is on the longer-term roadmap.

Need something that's not on the list? We build custom integrations. Get in touch →


Your users show up with their history

Most athletes have years of training sitting in Garmin. On SweatStack they bring it with them. They sign in with the wearable account they already use, and their back catalogue loads into your app: up to five years of history, not a blank screen on launch. No waiting six weeks for your product to get good.

That works because the data lives with the athlete, not locked inside one app. They grant your app access, and they can take it away. In return, you build on the data instead of warehousing it. Storing years of raw timeseries, keeping it exportable, handling revocation when someone leaves: that's ours.

What stays yours: your product, your brand, your users, and the intelligence you build on top. The training scores, the models, the experience athletes pick you for. The physiology belongs to the athlete. What you make of it is yours.

We extend the same rights to developers: versioned terms, 12-month deprecation notice on the API, no exit fee.

Who owns what →

"So a user could take their data to a competitor?"

They could, and they already can, by exporting from Garmin. What they can't take is what your app built on top of it. We'd rather be straight about that than pretend switching costs are your moat.


Built with SweatStack


Stop rebuilding the basics

Start with a free account. Move to a paid tier when you go commercial.

Early-stage? Apply for the startup program →