Skip to content
AF
Own Your Data

Export your own health and fitness data

Recently re-verified:How to export your Apple Health data, and read the file (Nov 5),How to export your Health Connect data on Android (Nov 5),How to download your personal data from Samsung Health (Nov 5)

Most platforms let you download your own data, but each in its own place and shape. Apple Health exports an XML archive from the iPhone; Health Connect writes a scheduled zip to your cloud storage for restoring on another phone; Samsung Health, Oura, Polar, Strava and COROS prepare an archive on request; Fitbit data comes through Google Takeout once the account is a Google Account; Suunto exports one workout at a time. Several also offer an API for your own account: Garmin’s Personal API, Fitbit’s Personal app type, Strava’s single-player mode and Polar’s AccessLink. Each page here gives the vendor’s own steps, what the export leaves out, and what could not be verified.

Every source at a glance

From each vendor’s help center or developer page, read 2026-11-05. “Could not verify” means the vendor’s page could not be read from where this was written, not that the feature is missing.

SourceOfficial exportFormat and gapsAPI for your own data
Apple HealthiPhone Health app: Summary, your picture, Export All Health DataXML (Apple's guide)None for a person; HealthKit is read by apps on the device
Health ConnectSettings: Health Connect, Manage data, Backup and restore, Scheduled export (Android 14+)A zip in your cloud storage, for restore; contents not documentedNone for a person; read by apps on the device
Samsung HealthSamsung Health: More options, Settings, Download personal dataFiles in My Files, Downloads, Samsung Health; format not statedDeveloper route only
Garmin ConnectCould not verify: Garmin's export help could not be readPersonal API: activity JSON and FIT, health JSONGarmin's Personal API: a key from Garmin Connect web, pull only
Fitbit / Google HealthGoogle Account: Google Takeout with Google Health selected. Fitbit login: Data Export, Request DataTakeout zip or tgz; single GPS workouts as TCXFitbit Web API Personal app type: your own account, intraday included
OuraMembership Hub: Export data, Request your data (any user, up to 10 days)Durations in seconds; fields per the Oura API V2 docsOAuth2 Oura API; personal access tokens deprecated
Polaraccount.polar.com: Download your data (two weeks to download)No activity or sleep summaries (derived data excluded)AccessLink: any registered Polar Flow user can create a client
StravaStrava.com: Settings, My Account, Download your account (website only)Per activity: original (often FIT), TCX, GPXNew apps start in single-player mode (your account only)
SuuntoSuunto app, per workout: the three-dot menuFIT (everything) or GPX (location, time, heart rate); no-GPS workouts FIT onlyNot offered for personal use
COROSTraining Hub on a desktop: Activity List, Export Data; daily and sleep data by support requestFIT or TCX by emailDeveloper routes, compared in the integration guide
WHOOPCould not verify: WHOOP's export help could not be readCould not verifyWHOOP Developer Dashboard: create an App (up to 5), OAuth 2.0
WithingsCould not verify: Withings's export help could not be readCould not verifyPublic API, which Withings says is designed for individuals and partners without a formal contract

Sources for the WHOOP and Withings rows: WHOOP Developer Platform: Getting Started; Withings developer site. Every other row’s sources are listed on its page.

One page per source

Look inside an Apple Health export

The Apple Health export explorer opens your export.zip or export.xml in the browser, in a background worker that reads it in chunks, and lists every record type with its count, first and last date, units and sources, with a daily chart and a CSV download per type. The file never leaves your computer. A synthetic sample is one click away if you want to try it first.

Analysis notebooks

Three Jupyter notebooks that use only pandas and matplotlib. Each one was run against this site’s synthetic samples before publishing, so the outputs you see on GitHub are real runs. The samples are generated data, labeled synthetic in their first line, and the CSVs use column names chosen here, not any vendor’s layout: point the notebook at your own file and adjust the column names it lists at the top.

  • Apple Health export.zip to pandas

    Reads export.zip or export.xml from the iPhone Health app; streams the Record elements into a DataFrame, counts every type, and charts daily steps, resting heart rate and nightly sleep.

    Open in ColabView on GitHubDownload .ipynb

  • A daily-summary CSV: trends and a weekly view

    Reads a one-row-per-day CSV (steps, sleep, resting heart rate, weight); parses dates, adds 7-day rolling means, compares sleep with next-morning resting heart rate, and resamples by week.

    Open in ColabView on GitHubDownload .ipynb

  • An activity-list CSV: weekly training volume

    Reads a one-row-per-workout CSV (start time, type, duration, distance, heart rate); sums minutes and distance per week and activity type, and charts the stacked weekly volume.

    Open in ColabView on GitHubDownload .ipynb

Synthetic inputs: apple-health-export-synthetic.zip, daily-summary-synthetic.csv, activities-synthetic.csv. Generated by scripts/build-own-data-samples.mjs from a fixed seed; not anyone’s data.

Python libraries

The Python packages this site tracks are clients for vendors’ web APIs. Registry facts as read on 2026-10-03; each links to its page with license, repository activity and caveats. The full comparison is Python libraries for fitness APIs.

  • garminconnect 0.3.17 (2026-09-29): Python 3 API wrapper for Garmin Connect
  • garth 0.8.0 (2026-03-28): Garmin SSO auth + Connect client
  • stravalib 2.6.0 (2026-08-27): A Python package that makes it easy to access and download data from the Strava V3 REST API.
  • oura-ring 1.0.1 (2026-06-22): Python client for the Oura API v2 with OAuth2 support.
  • oura 1.3.0 (2024-04-23): Oura API client
  • fitbit 0.3.1 (2019-05-24): Fitbit API Wrapper.
  • withings-api 2.4.0 (2022-02-08): Library for the Withings API

Frequently asked questions

Which fitness platforms let me download all of my own data myself?

From the vendors' own help pages read on November 5, 2026: Apple Health (Export All Health Data on the iPhone), Health Connect (a scheduled zip export on Android 14 and up, for restoring), Samsung Health (Download personal data), Fitbit and Google Health (Google Takeout or Fitbit's Data Export), Oura (Membership Hub, for any user), Polar (account.polar.com, without derived activity and sleep), Strava (Download your account, on the website) and COROS (Training Hub, activities as FIT or TCX). Suunto documents per-workout FIT and GPX export. Garmin's, WHOOP's and Withings's export help could not be read for this page.

Which wearables offer an API for a person's own data without a company contract?

As their developer pages read on November 5, 2026 put it: Garmin's Personal API gives an individual a key from Garmin Connect web; the Fitbit Web API's Personal app type reads only the developer's own account; Strava apps start in single-player mode, limited to your own account, and need a Strava subscription; any registered Polar Flow user can create an AccessLink client; Withings describes its Public API as designed for individuals and partners without a formal contract. Oura's API works through OAuth2 now that personal access tokens are deprecated. Suunto does not offer its API for personal use.

What is the easiest way to analyze a wearable data export in Python?

Read the export into pandas, parse the dates, and roll up by day or week before charting. The notebooks on this page do that with pandas and matplotlib only: one streams an Apple Health export.zip with iterparse, one handles a one-row-per-day summary CSV, and one a one-row-per-workout CSV. They run on synthetic samples, so swap in your own file's path and column names.

All 30 questions in Own Your Data, answered

Independent comparison, last reviewed November 5, 2026. Pricing, rate limits, and feature availability change often — confirm current details in each provider’s official documentation before you commit. Product and company names are trademarks of their respective owners; AIFitnessAPI is not affiliated with, endorsed by, or sponsored by any product listed here.