{
  "name": "Fitness API Changes & Deadlines 2026",
  "version": "2026.1",
  "publisher": "AIFitnessAPI (aifitnessapi.com)",
  "license": "CC BY 4.0",
  "methodology": "One row per dated ecosystem event tracked on https://aifitnessapi.com/changes — deprecations, deadlines, term changes, model freezes. The status field is the point of the dataset: confirmed means a vendor's own words are quoted on the linked page; reported means vendor or community notices we could not confirm on an official page; watch means an undated live risk. Date precision is kept exactly as sourced (\"2026-09\" means a reported month) and is never sharpened. Every row links the page on this site that carries the sourced claim, and verifiedOn records when that page was last checked. The undated watch items published on /changes are excluded here because they carry no date to publish.",
  "generatedFrom": "src/data/changes.ts CHANGE_EVENTS (generated by scripts/build-datasets.mjs)",
  "fields": {
    "date": "Event date at the precision the source supports (YYYY, YYYY-MM or YYYY-MM-DD)",
    "sortDate": "Full ISO date used only for ordering when `date` is fuzzy",
    "title": "Short name of the event",
    "summary": "What changed, in the words the linked page can support",
    "status": "confirmed | reported | watch — the evidence grade, see methodology",
    "source": "aifitnessapi.com page carrying the sourced claim",
    "sourceLabel": "Title of that page",
    "verifiedOn": "Date this entry was last checked against its source page"
  },
  "stats": {
    "totalItems": 13,
    "byStatus": {
      "confirmed": 6,
      "reported": 7
    },
    "confirmed": 6,
    "reported": 7,
    "watch": 0,
    "earliestSortDate": "2023-04-15",
    "latestSortDate": "2026-12-31"
  },
  "items": [
    {
      "date": "2026-12",
      "sortDate": "2026-12-31",
      "title": "Google Fit APIs: end of documented support",
      "summary": "Google's own documentation states Fit APIs \"will be supported until the end of 2026\" (verified against developer.android.com on July 31, 2026). Migration targets differ by integration shape: Health Connect on-device, Health Services on Wear OS, or the Google Health API for server-side reads.",
      "status": "confirmed",
      "source": "https://aifitnessapi.com/google-fit-shutdown",
      "sourceLabel": "Google Fit shutdown hub",
      "verifiedOn": "2026-07-31"
    },
    {
      "date": "2026-09",
      "sortDate": "2026-09-20",
      "title": "Fitbit → Google Health side-by-side window reported to close",
      "summary": "A window in which the legacy Fitbit Web API and the Google Health API run side by side is reported to extend into late September 2026 — the practical dual-read period for migrating integrations.",
      "status": "reported",
      "source": "https://aifitnessapi.com/migrate/fitbit-web-api-to-google-health",
      "sourceLabel": "Fitbit → Google Health migration playbook",
      "verifiedOn": "2026-08-11"
    },
    {
      "date": "2026-09",
      "sortDate": "2026-09-15",
      "title": "Fitbit Web API turndown (reported window)",
      "summary": "The legacy Fitbit Web API's retirement in favour of the cloud Google Health API is reported to land around September 2026. No official day is confirmed on a page we could verify; some third-party guides name September 30, which is weaker evidence, not stronger. Tokens are reported not to transfer — every user re-consents via Google OAuth.",
      "status": "reported",
      "source": "https://aifitnessapi.com/fitbit-api-shutdown",
      "sourceLabel": "Fitbit API shutdown center",
      "verifiedOn": "2026-08-11"
    },
    {
      "date": "2026",
      "sortDate": "2026-06-01",
      "title": "Strava developer terms: Standard-tier subscription (reported)",
      "summary": "Strava's developer access terms reportedly changed during 2026, with Standard-tier developers said to need a paid Strava subscription. The architectural constraints matter more than the fee: athlete data may generally only be displayed back to that athlete, and using it to train AI/ML models is prohibited.",
      "status": "reported",
      "source": "https://aifitnessapi.com/migrate/adapt-to-strava-api-changes",
      "sourceLabel": "Adapting to Strava API changes",
      "verifiedOn": "2026-08-12"
    },
    {
      "date": "2026-05",
      "sortDate": "2026-05-15",
      "title": "Fitbit accounts: Google Account consolidation gate (reported)",
      "summary": "Users on legacy Fitbit-only logins are reported to need consolidation into a Google Account by roughly mid-May 2026, and reportedly cannot use the successor API until they do — a gate on your migration, not a detail inside it.",
      "status": "reported",
      "source": "https://aifitnessapi.com/fitbit-api-shutdown",
      "sourceLabel": "Fitbit API shutdown center",
      "verifiedOn": "2026-08-11"
    },
    {
      "date": "2026",
      "sortDate": "2026-04-01",
      "title": "WHOOP membership restructuring",
      "summary": "WHOOP has restructured its membership recently. Because WHOOP requires both a developer membership and an active end-user membership for data to flow, a restructuring moves two columns of the cost model at once — verify current terms before budgeting.",
      "status": "reported",
      "source": "https://aifitnessapi.com/pricing/whoop-api-pricing",
      "sourceLabel": "WHOOP API pricing",
      "verifiedOn": "2026-08-12"
    },
    {
      "date": "2026",
      "sortDate": "2026-03-01",
      "title": "Nutritionix open free tier reportedly curtailed",
      "summary": "Reports conflict on whether Nutritionix's open free tier still exists; higher tiers route through a Syndigo sales contact. If the free tier is gone, the freemium classification shifts toward sales-gated.",
      "status": "reported",
      "source": "https://aifitnessapi.com/pricing/nutrition-api-pricing",
      "sourceLabel": "Nutrition API pricing",
      "verifiedOn": "2026-08-12"
    },
    {
      "date": "2025-12",
      "sortDate": "2025-12-15",
      "title": "Oura personal access tokens deprecated",
      "summary": "Oura deprecated personal access tokens in December 2025 — scripts and internal tools built on PATs need the OAuth flow instead. This page's phrasing has been quoted back to us in search queries, a sign assistants cite it.",
      "status": "confirmed",
      "source": "https://aifitnessapi.com/fix/oura-personal-access-token-deprecated",
      "sourceLabel": "Oura PAT deprecation fix",
      "verifiedOn": "2026-08-02"
    },
    {
      "date": "2025-06-30",
      "sortDate": "2025-06-30",
      "title": "ANT+ membership and certification programs discontinued (reported)",
      "summary": "Per widely-quoted announcements from the ANT+ organization — the official page was unreachable in our research pass, so this stays reported — the ANT+ membership and certification programs were discontinued on June 30, 2025, with certification applications accepted only until March 31, 2025. Device profiles and documentation reportedly remain available and existing devices are unaffected; coverage cites the EU Radio Equipment Directive as a driver. For new fitness apps, BLE is the practical default radio.",
      "status": "reported",
      "source": "https://aifitnessapi.com/devices/ant-plus-vs-bluetooth",
      "sourceLabel": "ANT+ vs Bluetooth for fitness sensors",
      "verifiedOn": "2026-08-14"
    },
    {
      "date": "2024",
      "sortDate": "2024-07-01",
      "title": "Strava tightened its developer program",
      "summary": "Strava tightened developer-program rules in 2024 — the start of the stricter display, branding, and access regime its API operates under today.",
      "status": "confirmed",
      "source": "https://aifitnessapi.com/migrate/adapt-to-strava-api-changes",
      "sourceLabel": "Adapting to Strava API changes",
      "verifiedOn": "2026-08-12"
    },
    {
      "date": "2024",
      "sortDate": "2024-06-01",
      "title": "MoveNet: no model updates observed since 2024",
      "summary": "No updates to the MoveNet pose models have been observed since 2024. The single-person models remain Apache-2.0; treat the weights as stable rather than evolving.",
      "status": "confirmed",
      "source": "https://aifitnessapi.com/motion/mediapipe-vs-movenet",
      "sourceLabel": "MediaPipe vs MoveNet",
      "verifiedOn": "2026-08-02"
    },
    {
      "date": "2024-05-01",
      "sortDate": "2024-05-01",
      "title": "Google Fit: new developer sign-ups closed",
      "summary": "Google closed Google Fit API sign-ups for new developers on May 1, 2024 — the first hard milestone of the Fit sunset. Existing integrations continued to work.",
      "status": "confirmed",
      "source": "https://aifitnessapi.com/google-fit-shutdown",
      "sourceLabel": "Google Fit shutdown hub",
      "verifiedOn": "2026-07-31"
    },
    {
      "date": "2023-04",
      "sortDate": "2023-04-15",
      "title": "MediaPipe Pose Landmarker weights: last modification",
      "summary": "The served MediaPipe Pose Landmarker .task model files were last modified in April 2023. The framework evolves; the pose weights have not — pin versions and treat model updates as an event, not a stream.",
      "status": "confirmed",
      "source": "https://aifitnessapi.com/motion/mediapipe-pose-landmarker-models",
      "sourceLabel": "Pose Landmarker model guide",
      "verifiedOn": "2026-08-02"
    }
  ]
}