Guides — Apple Health data, end to end
Apple Health stores more than most people realize — heart rate, HRV, sleep stages, blood oxygen, workouts, ECG, medications, even daylight exposure — but the default export.zip is a single multi-hundred-megabyte XML file that nothing on your computer opens cleanly. These guides cover the two halves of the problem: getting the data out in a form you can actually use, and routing it to the system you want it in.
HealthSave is the iOS app that does both. The free tier exports CSV/JSON straight from your phone for any 7-day window. Pro ($24.99 one-time, no subscription) unlocks longer date ranges, PDF reports for your doctor, and background sync to your own server or API endpoint.
Get the data out of Apple Health
- Apple Health's export gives you an unusable XML file — here's how to get real CSVThe default export.zip is a 200 MB+ XML monstrosity. Three ways to convert it into clean per-metric CSVs you can actually open.
- Analyze Apple Health data in Excel (CSV, pivot tables, and charts)Spreadsheet-first workflow: import the CSVs, build a trend chart in five minutes, no coding.
- Analyze Apple Health data with AI (ChatGPT, Claude, or a local model)Hand the same CSVs to an LLM and ask real questions — patterns, anomalies, week-over-week deltas — without uploading anything.
- Apple Health 10-year backfill — export your full historyApple caps exports at one calendar year per request. Here's how to concatenate ten years into a single dataset.
- Apple Watch data gaps — why your export has missing hoursThe four reasons your Apple Watch stops recording (battery, off-wrist, watchOS bug, paired iPhone asleep) and what to do about each.
- How to export your Fitbit data in 2026 (heart rate, sleep, and the July 15 deadline)The Fitbit app became Google Health in May 2026. Three current routes — Google Takeout, in-app export, per-workout TCX — and the deletion deadline that just passed.
Specific metrics
- Export HRV and sleep data from Apple Health (and what the numbers mean)Both metrics live in Apple Health but get exported wrong by half the tools in this space. What to expect, what's normal, what the trends actually look like.
- Export Apple Watch ECG data (classification, average HR, and history)ECGs are a separate data type from regular heart rate samples. What you'll find in the export, and how to read the sinus-rhythm vs. AFib classification.
- Export Apple Health medications and dose historyMedications don't carry a quantity or unit — they're category events with a date. The right schema for spreadsheet work.
Self-hosted pipelines
- Apple Health to Postgres — build a private health databaseSync directly into a Postgres table you control. Schema, migration, and a query library for the most common questions.
- Store Apple Health data in your own database (self-hosted Postgres)The broader decision: Postgres alone, Postgres + TimescaleDB, or a dedicated time-series store. Tradeoffs honestly laid out.
- Apple Health to DuckDB — query years of health data locallyDuckDB eats the export.zip directly, no server, no Python ETL. Great for ad-hoc analysis on a laptop.
- Apple Health to Grafana — dashboards over your own historyStand up Grafana, point it at the Postgres (or InfluxDB, or Prometheus) pipeline, and you have a private health dashboard with no subscription.
- Apple Health to InfluxDB (self-hosted) — the honest pathInfluxDB is a natural fit for dense time-series. When it earns the operational complexity and when Postgres is simpler.
- Apple Health to Prometheus (and when TimescaleDB is the better fit)Prometheus is for service metrics, not health metrics — but if your homelab already runs it, here's how to make it work.
- Apple Health to MQTT — publish your metrics to a brokerFor Home Assistant and Node-RED users. Topic structure, QoS choices, retained vs. non-retained messages, and what not to put on a broker.
APIs and webhooks
- Apple Health webhook — POST your health data to your own endpointPush to any HTTPS endpoint on each sync. Auth headers, retry behaviour, idempotency keys, and the JSON payload shape.
- Apple Health custom REST API — query your own health dataStand up a server that exposes
GET /api/v2/apple/query?metric=heart_rate&from=.... The schema, the auth model, and a Node example. - Export Apple Health time-in-daylight to an APIThe newest Apple Health metric, with a quirky unit. How to capture it cleanly and what it actually tells you.
Home Assistant and self-hosters
- Push live Apple Health metrics into Home Assistant (self-hosted)No Observatory required — HealthSave writes
sensor.healthsave_*entities directly via the HA REST API. Template sensors, dashboards, and automations. - Build a personal Apple Health dashboard without a subscriptionThree honest architectures: pure phone, phone + server, or homelab-native. Cost, maintenance, and "what breaks at 3 AM" for each.
- Backends that speak HealthSave: official hub, community servers, build your ownThe ecosystem: HealthSave Observatory (the official server), community-built integrations, and what to look at if you want to write your own.
Help and troubleshooting
HealthSave: Export Health Data, on iPhoneGet on the App Store