Apple Health → REST API

Send Apple Health Data to Any REST API or Webhook

POST your health metrics as JSON to any endpoint — your own backend, n8n, Make, Zapier, or a custom automation pipeline. Supports POST, PUT, PATCH with Bearer, Basic, or custom auth.

What you can do with Apple Health webhooks

Once the app is configured with a REST API endpoint, every sync posts a structured JSON payload to your server. Here is what that unlocks:

How to set up Apple Health to REST API (7 steps)

1

Download Health Data Export

Install Health Data Export & AI Analyzer from the App Store on your iPhone.

2

Open Settings → Sync → REST API

In the app, navigate to Settings, tap Sync, and select REST API as your sync destination.

3

Enter your endpoint URL

Paste your full endpoint URL — for example https://your-server.com/api/health or an n8n webhook URL.

4

Choose HTTP method

Select the HTTP method your endpoint expects: POST, PUT, or PATCH.

5

Choose auth and fill in credentials

Select None, Bearer Token, or Basic Auth and enter the required credentials. See the auth table below for guidance.

6

Add custom headers

Optionally add custom request headers — for example X-Api-Key: your-key for API gateway authentication.

7

Enable Auto-Sync

Toggle Auto-Sync on. The app will POST your health data to the endpoint on a schedule — no manual trigger needed.

JSON payload structure

The app sends a compact, structured JSON payload using the ai-preset-v1 format. Each section includes a human-readable summary and a daily breakdown array.

{ "formatVersion": "ai-preset-v1", "preset": { "id": "webhook_compact" }, "sections": { "steps": { "summary": "Avg 8,432 steps/day over 30 days", "days": [...] }, "sleep": { "summary": "Avg 7.2h/night, 22% deep sleep", "diagnostics": ["Consistent bedtime variance < 30min"], "days": [...] }, "workouts": { "summary": "14 workouts in 30 days", "days": [...] }, "resting_heart_rate": { "summary": "Avg 58 bpm, trending down", "days": [...] }, "hrv": { "summary": "Avg 42ms SDNN", "days": [...] } } }

n8n and Make integration

For n8n, create a Webhook node and copy its URL as the endpoint in the app. For a local n8n instance, no auth is required — just paste the webhook URL and select POST. The app will deliver the JSON payload on each sync.

Once the data is in n8n, you can use it to insert records into a database with a Postgres or MySQL node, send a Slack or Telegram summary using the messaging nodes, trigger further automations based on health signals, or forward clean JSON to any downstream service. Make and Zapier work the same way — use their webhook trigger URL as the endpoint.

Authentication options

Auth type When to use
None Local n8n or Make instances on your own network, or endpoints protected by IP allowlist / VPN.
Bearer Token Most REST APIs and cloud services. Sends an Authorization: Bearer <token> header. Use for your own backend, Supabase, or any JWT-protected endpoint.
Basic Auth Legacy APIs or self-hosted services that require a username and password. Credentials are base64-encoded in the Authorization header.

Download the app

Health Data Export is available on iPhone and iPad. Set up your REST API endpoint in minutes.

Download on the App Store

Related guides