Documentation
User Manual
Export, route, and own your Health data.
On this page
Who This Is For
VitalPort is for:
People who want ownership of their Health data, not just another dashboard
People who want clearer daily context from their Health data
Developers and builders routing health data into their own systems, automations, or AI workflows
Anyone who wants to export and use their data outside the Apple ecosystem
People sharing structured health data with a coach, doctor, or care team
Anyone who has hit the limits of Apple Health and needs their data to actually move
VitalPort does not replace Apple Health.
It helps you understand your data, gives you practical recommendations, and lets you export clean, structured health data wherever you need it to go.
First Export: Start Here
Before exploring any other feature, do this first. It takes under two minutes and confirms VitalPort is working correctly on your device.
- Open VitalPort on your iPhone.
- Tap Connect Health if prompted and grant permissions.
- From the dashboard, tap Sync Now.
- Tap Export in the navigation bar.
- Leave the settings as default: JSON format, Today.
- Tap Generate.
- Tap Export and Share.
- From the iOS share sheet, tap Save to Files.
- You have now successfully exported your Health data. The file in your Files app is a complete, structured JSON snapshot of today's health metrics.
Note: If the dashboard shows no data after syncing, go to your iPhone Settings, find Health, tap Data Access and Devices, select VitalPort, and confirm the data types you want to share are toggled on.
What VitalPort Does
What It Does
- Reads your Health data on your iPhone
- Exports data as JSON or CSV files you can use anywhere
- Sends data automatically to webhook destinations, spreadsheet workflows, APIs, and automation systems you configure
- Lets you choose specific date ranges
- Runs background sync to keep your data current
What It Does Not Do
- No account or sign-in required
- No analytics, tracking, or ads
- Does not write to Health
- Does not share your data with anyone
- Does not replace Health or any fitness app
Requirements
- Device
- iPhone only (HealthKit is not available on iPad or Mac)
- iOS Version
- iOS 17.0 or later
- Health Data Source
- Apple Watch or any app that writes to Health
- App Version
- v0.10.55
Setup
Connect Health
On first launch, tap the Connect Health banner on the dashboard. VitalPort will show the standard Health permissions sheet. Select which data types to share.
VitalPort reads the following metrics when authorized:
- Steps
- Sleep analysis
- Heart Rate Variability (HRV)
- Resting Heart Rate
- Active Energy
- VO2 Max
- Weight
- Body Fat Percentage
- Workouts (with full activity type, e.g. Traditional Strength Training, Running, HIIT)
Note: If you deny a specific type, that metric shows as unavailable in the dashboard rather than causing an error. You can change permissions anytime in iPhone Settings under Health.
Weight Units
VitalPort defaults to your locale's unit (lb in the US, kg elsewhere). To change it, go to the Settings tab and select your preferred unit. This applies to the dashboard display and all exports.
Dashboard
The dashboard shows today's health summary. Metrics update automatically in the background and refresh each time you open the app.
Metrics
- Steps
- Daily step count
- Sleep
- Total sleep hours
- HRV
- Heart Rate Variability in milliseconds
- Resting Heart Rate
- Resting HR in BPM
- Active Energy
- Active calories burned
- VO2 Max
- Cardiorespiratory fitness estimate
- Weight
- Most recent weight reading
- Body Fat
- Most recent body fat percentage
- Workouts
- Sessions with activity type and duration
Today's Briefing Card
The Briefing card shows a plain-language summary of up to 6 health signals you choose. To customize:
Tap the settings icon on the Briefing card.
Select up to 6 signals from the list.
Tap Done. Your selections are saved on-device.
Sync Now
Tap Sync Now on the dashboard to manually pull the latest data from Health, refresh the local cache, and send to your active destination if one is configured.
Exporting Your Data
There are two ways to get data out of VitalPort: save a file to your device, or send it automatically to a destination you configure.
VitalPort exports are intentionally portable and interoperable so your data can move into the tools and workflows you already use.
Save a File (Export and Share)
Use this to generate a file and open it via the iOS share sheet.
- From the dashboard, tap Export in the navigation bar.
- Choose your Date Range: Today, Last 7 Days, or Last 30 Days.
- Choose your Format: JSON or CSV.
- Tap Generate.
- Tap Export and Share.
- From the share sheet, choose where to save or send the file.
Note: Changing the date range, format, or destination clears the current file. Always tap Generate again before sharing to ensure the file matches your selections.
Export Formats
JSON
Structured daily snapshots. Best for developers, AI ingestion, and API use. All metric keys are always present; missing data appears as null rather than being omitted.
CSV
Flat rows and columns designed for spreadsheets, dashboards, analytics tools, and automation workflows.
Date Ranges
- Today
- Today's data only
- Last 7 Days
- Rolling 7-day window
- Last 30 Days
- Rolling 30-day window
- 90 Days
- Coming soon
Send Data to an Endpoint
Destinations let you automatically POST your health data to a URL you control. This is for developers, AI pipelines, and integrations with external systems.
Destination Types
- JSON File
- Saves to a local JSON file in the app sandbox
- CSV File
- Saves to a local CSV file in the app sandbox
- Local Endpoint
- POSTs to an HTTP endpoint on your local network
- Cloud Endpoint
- POSTs to a remote HTTPS endpoint
- Webhook URL
- POSTs the JSON export envelope to any configured URL
- Google Sheets
- Sends exports to a Google Apps Script webhook endpoint for spreadsheet workflows.
- Notion
- Sends exports into Notion workflows using an automation or relay endpoint.
Google Sheets Export
VitalPort can send exports directly into Google Sheets using a Google Apps Script webhook endpoint.
Recommended settings:
Format: CSV
Layout: Long
Long-format CSV works best for spreadsheets, dashboards, and analytics workflows.
Basic setup flow:
1. Create a Google Sheet
2. Open Extensions → Apps Script
3. Deploy a Web App endpoint
4. Paste the Web App URL into VitalPort
5. Send exports from VitalPort
Note: The Apps Script Web App URL must end in /exec
Configure a Destination
From the dashboard, tap Export, then tap Destinations.
Select a destination type.
Enter your endpoint URL.
Set authentication if required (Bearer Token or API Key).
Tap Save Destination.
Note: Credentials are stored in the iOS Keychain. Always tap Save Destination before running a test. Secrets are never auto-saved on keystroke.
Test Your Destination
Run Export Test: Checks connectivity only. No health data is sent.
Send Export: Sends the last generated file to your destination.
Both modes show HTTP status, latency, and a response summary. If delivery fails, tap Retry Last Failed Delivery to resend without reconfiguring.
Automatic Scheduled Export
VitalPort can export your data on a schedule without you opening the app.
Schedule Options
- Off
- No automatic exports
- Daily
- Exports once per day at your preferred time
- Weekly
- Exports once per week on your chosen day and time
Set Up a Schedule
From the dashboard, tap the Settings tab.
Tap Scheduled Export.
Choose Daily or Weekly.
Set your preferred time and export date range.
Confirm a destination is configured and active.
Note: Scheduled exports use iOS Background App Refresh and run opportunistically when your device is charging or on Wi-Fi. If no sync has occurred in the last 6 hours, VitalPort also runs a catch-up sync the next time you open the app.
Check If Your Data Is Working
From the Export screen, VitalPort shows the current state of your data pipeline in plain language.
- Last sync time
- When VitalPort last read from Health
- Last successful export
- When data was last delivered to your destination
- Last failure
- Error reason if the last sync or export failed
- Records exported
- Number of daily snapshots in last run
- HTTP status
- Response code and latency for endpoint destinations
Fix Missing Data
If metrics are missing or exports are not behaving as expected, use the Diagnostics screen.
Open Diagnostics
From the dashboard, tap Settings, then tap Diagnostics.
What Diagnostics Shows
Health sample coverage per metric: authorized status, number of samples in last 30 days, last sample date
Workout metadata: recent workout count, activity type, metadata keys
VO2 Max debug information
Scheduled export last-run record
Refresh Health Permissions
After a VitalPort update, newly supported metrics may not appear automatically. From Diagnostics, tap Refresh Health Permissions, approve the new types in the system sheet, then tap Sync Now from the dashboard.
Privacy
No cloud service is included by default
Local exports are always user-initiated
Endpoint and webhook exports only occur when you configure a destination and trigger a sync
No analytics, no tracking, no third-party SDKs
Read-only access to Health. VitalPort never writes to your Health database.
Credentials are stored in the iOS Keychain, on your device only
Note: Your health data never leaves your device unless you configure a destination or use Export and Share to send it yourself.
Troubleshooting
Dashboard shows no data after setup
Go to iPhone Settings, tap Health, tap Data Access and Devices, select VitalPort, and confirm the data types you want are toggled on. Return to VitalPort and tap Sync Now.
A specific metric is missing
You likely denied that data type during setup. Go to iPhone Settings, Health, Data Access and Devices, VitalPort, and enable the missing type. Then tap Sync Now.
Export test fails
Confirm your URL is correct and reachable. Check that you saved your destination before testing. Verify your endpoint accepts POST requests with a JSON body. Review the HTTP status and error shown on the Export screen.
VO2 Max not showing
VO2 Max requires an Apple Watch and sufficient outdoor workout history. VitalPort looks back 90 days. If your device or tracking is recent, allow Health time to generate a reading.
Scheduled export not running
Go to iPhone Settings and confirm Background App Refresh is enabled for VitalPort. Check Diagnostics for last-run evidence to confirm the schedule is active.
Support
- Website
- vitalport.app
- App Store
- Use the App Store support link on the VitalPort listing for questions, feedback, or bug reports.
- App Version
- v0.10.55
To report a bug, include your iOS version, iPhone model, and a description of what happened. A screenshot of the Diagnostics screen is the most helpful thing you can send.
VitalPort. Your health data, your rules.