health (Flutter package)
Dart · pub.dev: health · latest 13.3.2 (2026-08-14) · registry read 2026-10-03
What it wraps
Apple Health (HealthKit) on iOS and Google Health Connect on Android, per the README and the platforms its pubspec declares.
“Enables reading and writing health data from/to Apple Health and Google Health Connect.”
Source: README
Named in the registry description: Apple HealthKit, Health Connect.
Install
Registry and repository facts
Read from pub.dev and the repository by a script, not typed by hand. Where the metadata does not state something, the row says so. Dates are shown as dates, with the gap to our read, rather than as a verdict on whether the project is alive.
- Registry
- pub.dev: health
- Latest version
- 13.3.2, published 2026-08-1450 days before our 2026-10-03 read
- First published
- 2019-11-08 · 91 versions published
- Licence
- MITpub.dev tags: license:mit
- Platforms
- Android, iOSpubspec flutter.plugin.platforms: android, ios
- Requires
- sdk >=3.8.0 <4.0.0 · flutter >=3.6.0pubspec environment
- Repository
- carp-dk/carp-health-flutter
- Last commit, default branch
- 2026-08-1450 days before our 2026-10-03 read · read by git on 2026-10-03
- GitHub signals
- 41 stars · 235 open issues and PRs · not archived · last push to any branch 2026-08-14GitHub API, read 2026-10-03
Registry description: “Wrapper for Apple's HealthKit on iOS and Google's Health Connect on Android.”
What the README warns about
Each item is the project’s own statement, checked on 2026-10-03, quoted where the wording matters.
No more Google Fit.
“this package has removed support for Google Fit as of version 11.0.0 and users are urged to upgrade as soon as possible.”
Source: README
The 30-day window, and the way out. The README documents
isHealthDataHistoryAuthorizedandrequestHealthDataHistoryAuthorization, which requireandroid.permission.health.READ_HEALTH_DATA_HISTORYin the manifest.“By default, Health Connect restricts read data to 30 days from when permission has been granted.”
Source: README
iOS floor. The README says the iOS side requires iOS 15.0 or later and ships as both a Swift package and a CocoaPods pod.
Source: README
Manual-entry filtering is not reliable on Android. The README calls it an open issue that
getTotalStepsInInterval(includeManualEntries: false)does not necessarily filter out manual steps there.Source: README
Routes. The README says Android only surfaces workout routes while the app is in the foreground, and that other apps' routes may come back flagged
ConsentRequired.Source: README
The API underneath
A wrapper inherits every rule of the API it calls. These pages cover that layer directly.
- Health Connect integration guide →The Android API these packages wrap: permissions, records, the 30-day window.
- Health Connect record reference →Every record class with Google's fields, permission strings and aggregate metrics — check the type you need exists before blaming the wrapper.
- HealthKit types vs Health Connect records →Which record a HealthKit type maps to, and the pairs that look equivalent but are not.
- Health Connect returns no data →The usual causes when a read comes back empty, whichever wrapper you use.
- HealthKit integration guide →The native API every iOS package here calls into: authorization, queries, background delivery.
- HealthKit ↔ Health Connect type matrix →The types a cross-platform plugin maps between the two stores.
Other Flutter packages on this list
Flutter health data packages: every package side by side, and how to choose →
- health_connector3.11.1 · 2026-09-16Apple HealthKit on iOS and Android Health Connect.
- health_kit_reporter2.3.1 · 2024-12-12Apple HealthKit on iOS, through the HealthKitReporter CocoaPods library.
- flutter_health_connect1.2.3 · 2023-03-08Android Health Connect.
Questions
- Does the Flutter health package still support Google Fit?
- No. Its README says Google Fit support was removed as of version 11.0.0 and urges users to upgrade, citing Google's decision to stop new sign-ups to the Fit API. On Android the package now reads and writes Health Connect.
- Why does the Flutter health package only return 30 days of Android data?
- The README says Health Connect restricts reads to 30 days from when permission was granted. To read further back, declare android.permission.health.READ_HEALTH_DATA_HISTORY and request it with requestHealthDataHistoryAuthorization; isHealthDataHistoryAuthorized tells you whether it was granted.
- Why does getTotalStepsInInterval still count manual steps on Android?
- The README describes it as an open issue: filtering manual entries depends on the writing app having recorded the entry method, and on Android getTotalStepsInInterval with includeManualEntries false does not necessarily filter out manual steps.
Registry facts read by scripts/fetch-libraries.mjs on 2026-10-03 and refreshed weekly; the latest release was published 50 days before our 2026-10-03 read. README quotes identify the project’s own statements; the selection, grouping and comparisons are AIFitnessAPI’s. For tagged releases of the main bridges, see the SDK release tracker.