Skip to content
AF
Python library

withings-api (Python)

Python · PyPI: withings-api · latest 2.4.0 (2022-02-08) · registry read 2026-10-03

withings-api is a Python client for the Withings Health API that authenticates with OAuth 2.0, using a client ID and consumer secret from a Withings developer application. Its README shows a demo mode for testing against Withings' demo data. Its latest PyPI release dates from February 2022 and declares Python >=3.6,<4.0, so test it against your Python version before relying on it.

What it wraps

  • The Withings Health API over OAuth 2.0, through WithingsAuth and WithingsApi, per the README.

    “Python library for the Withings Health API”

    Source: README

Named in the registry description: Withings API.

Install

From PyPI

pip install withings-api

From the README

Registry and repository facts

Read from PyPI 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
2.4.0, published 2022-02-081,698 days before our 2026-10-03 read
First published
2019-10-06 · 27 versions published
Licence
MITPyPI license field
Platforms
not stated in registry metadata
Requires
python >=3.6,<4.0PyPI requires_python
Last commit, default branch
2022-03-051,673 days before our 2026-10-03 read · read by git on 2026-10-03
GitHub signals
111 stars · 10 open issues and PRs · not archived · last push to any branch 2022-04-22GitHub API, read 2026-10-03

Registry description: “Library for the Withings API”

What the README warns about

Each item is the project’s own statement, checked on 2026-10-03, quoted where the wording matters.

  • Demo mode. The README's example passes mode='demo' to WithingsAuth for testing, with a comment to remove it when getting real user data.

    Source: README

  • Cached test credentials. The README says its integration test caches credentials in a .credentials file, and to delete that file if you get an access-token-expired error.

    Source: README

The API underneath

A wrapper inherits every rule of the API it calls. These pages cover that layer directly.

Other Python packages on this list

Python libraries for fitness APIs: every package side by side, and how to choose →

  • garminconnect0.3.17 · 2026-09-29Garmin Connect's web services, signed in as the user with their own credentials.
  • garth0.8.0 · 2026-03-28Garmin's SSO login and the Garmin Connect API, through the mobile auth approach the README says Garmin's change broke.
  • stravalib2.6.0 · 2026-08-27The Strava V3 REST API, through a stravalib.client.Client class, per the README.
  • oura-ring1.0.1 · 2026-06-22The Oura API v2.
  • oura1.3.0 · 2024-04-23The Oura API, with v2 clients under oura.v2 (OuraClientV2, OuraClientDataFrameV2) whose methods are named after the URL paths, per the README.
  • fitbit0.3.1 · 2019-05-24The legacy Fitbit Web API, using requests-oauthlib and python-dateutil according to the README's requirements.

Questions

How do I test withings-api without real user data?
The README's example passes mode='demo' to WithingsAuth, which it describes as used for testing against Withings' demo data, and says to remove it when getting real user data. Its integration test script runs against the same demo data.
Which Python versions does withings-api support?
Its PyPI metadata declares requires_python >=3.6,<4.0, and its latest release, 2.4.0, was published 2022-02-08. A version range in metadata is the author's declaration, not a test result, so run your own tests on the interpreter you deploy.

Registry facts read by scripts/fetch-libraries.mjs on 2026-10-03 and refreshed weekly; the latest release was published 1,698 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