Skip to content
AF
Flutter library

health (Flutter package)

Dart · pub.dev: health · latest 13.3.2 (2026-08-14) · registry read 2026-10-03

health is the pub.dev package, maintained in the carp-dk/carp-health-flutter repository, that reads and writes Apple Health on iOS and Health Connect on Android from Flutter. It removed Google Fit support in version 11.0.0. Its README notes that Health Connect restricts reads to 30 days from when permission was granted, and that older data needs the READ_HEALTH_DATA_HISTORY permission, which the package requests through requestHealthDataHistoryAuthorization.

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

Add the dependency

flutter pub add health

From the pub.dev install page

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.

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
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 isHealthDataHistoryAuthorized and requestHealthDataHistoryAuthorization, which require android.permission.health.READ_HEALTH_DATA_HISTORY in 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.

Other Flutter packages on this list

Flutter health data packages: every package side by side, and how to choose →

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.

← All health and fitness libraries