Site index
Every page on AIFitnessAPI in one place: 276 pages across 21 sections, plus the tools and the blog. Generated from the same data the pages are, so it cannot fall behind them.
Main
- Home
- Search every page and answer
- Fitness & health API directory
- Compare two APIs side by side
- Which fitness API should I use? (picker)
- Fitness API cost planner
- HealthKit ↔ Health Connect type reference
- Every HealthKit type identifier
- Every HealthKit error code
- Health SDK release tracker
- Why “today’s steps” is a bug (live demo)
- Changes & deadlines tracker
- API change alerts — watch what you depend on
- Monthly digest archive
- The State of Fitness APIs 2026
- How to build an AI fitness app
- Build a fitness app with no code, just APIs
- Google Fit shutdown centre
- Fitbit Web API retirement centre
- Open datasets (CC BY 4.0)
- Embeds & badges for your site
- Glossary
- Blog
- How we verify
- About
- Newsletter
- Privacy
Fitness APIs (10 pages)
- Fitness APIs — section index
- The Best Exercise Database APIs for Developers (2026)
- The Best Wearable Fitness & Health-Data APIs (2026)
- The Best Health-Data Aggregator APIs (2026)
- The Best AI Workout & Motion-Tracking APIs (2026)
- The Best Nutrition & Food Database APIs (2026)
- Free & Open-Source Fitness APIs (2026)
- Apple HealthKit vs Google Health Connect (2026)
- Terra vs Vital (Junction): Health-Data APIs Compared (2026)
- Fitbit API vs Garmin API (2026)
- Fitness API vs Building Your Own: How to Decide (2026)
Guides (11 pages)
- Guides — section index
- Camera Pose Tracking for Fitness Apps: A Practical Guide
- How to Add Rep Counting to Your Fitness App
- How to Add Real-Time Form Feedback to a Workout App
- How to Track Workouts Without a Wearable (Camera-Only)
- How to Add AI Workout Tracking to an iOS App (Swift)
- How to Add AI Workout Tracking to an Android App (Kotlin)
- How to Add AI Workout Tracking to a React Native App
- How to Add AI Workout Tracking to a Flutter App
- How to Add AI Workout Tracking to a Web App (JavaScript)
- How to Improve Pose-Detection Accuracy in Your App
- How to Evaluate AI Motion Tracking SDKs
Build Guides (24 pages)
- Build Guides — section index
- How to Build a Home Workout App (2026)
- How to Build an AI Fitness Coaching App (2026)
- How to Build a Strength Training App (2026)
- How to Build a Running App (2026)
- How to Build a Yoga App (2026)
- How to Build a Personal Training App (2026)
- How to Build a Physical Therapy / Rehab App (2026)
- How to Build a Corporate Wellness App (2026)
- How to Build a Nutrition Tracking App (2026)
- How to Choose a Tech Stack for a Fitness App (2026)
- How to Build a Weight Loss App (2026)
- How to Build a Meal Planning App (2026)
- How to Build a Sleep Tracking App (2026)
- How to Build a Recovery App (2026)
- How to Build a Meditation App (2026)
- How to Build a Cycle Tracking App (2026)
- How to Build a Step Challenge App (2026)
- How to Build a Senior Fitness App (2026)
- How to Build a Cycling App (2026)
- How to Build a Swimming App (2026)
- How to Build a Hiking App (2026)
- How to Build a HIIT App (2026)
- How to Build a Triathlon App (2026)
- How to Build a Kids Fitness App (2026)
Integration Guides (11 pages)
- Integration Guides — section index
- How to Integrate Apple HealthKit (2026)
- How to Integrate Google Health Connect (2026)
- How to Integrate the Fitbit API (2026)
- How to Integrate the Strava API (2026)
- How to Integrate the Garmin API (2026)
- How to Integrate the Oura API (2026)
- How to Integrate the WHOOP API (2026)
- How to Integrate Terra (Health-Data Aggregator) (2026)
- How to Integrate the Nutritionix API (2026)
- How to Integrate the ExerciseDB API (2026)
- How to Integrate the Polar API (2026)
Troubleshooting (25 pages)
- Troubleshooting — section index
- Why Is My Fitness API Returning 401 Unauthorized?
- How to Fix the OAuth redirect_uri Mismatch Error
- Why Is My Fitness API Refresh Token Not Working?
- How to Fix Fitbit API 429 (Rate Limit) Errors
- Why Is HealthKit Returning No Data?
- Why Is Google Health Connect Returning No Data?
- Why Is My Strava Webhook Not Firing?
- Why Is Wearable Data Missing or Delayed?
- Can't Get Garmin API Access? Here's What's Going On
- Google Fit API Is Deprecated — What to Use Instead
- Oura Personal Access Tokens Are Deprecated — Here's the Fix
- Fitbit Error Code 401: What It Means and How to Fix It
- HealthKit Authorization Denied: What It Means and What It Hides
- Strava API 401 Unauthorized: What It Means and How to Fix It
- HealthKit Background Delivery Not Working: Why Your Observer Never Fires
- HealthKit errorDatabaseInaccessible: Reads Fail While the Device Is Locked
- HealthKit errorHealthDataUnavailable: The Device Does Not Support HealthKit
- HealthKit errorHealthDataRestricted: An MDM Profile Turned HealthKit Off
- HealthKit errorNoData: The Query Ran and Found Nothing
- HealthKit errorInvalidArgument: Finding the Argument HealthKit Rejected
- HealthKit errorAuthorizationNotDetermined: You Called Before You Asked
- HealthKit errorRequiredAuthorizationDenied: Clinical Records Are a Separate Class
- HealthKit Workout Session Errors: Four Cases, Two of Them Undocumented
- HealthKit errorNotPermissibleForGuestUserMode: Writes Blocked in a Guest Session
- Undocumented HealthKit Errors: Handling a Case Apple Never Described
Concepts (13 pages)
- Concepts — section index
- What Is a Fitness API?
- What Is a Health-Data Aggregator?
- On-Device vs Cloud Health Data: What's the Difference?
- What Is OAuth 2.0 (and How Health APIs Use It)?
- What Are Webhooks (and Why Fitness APIs Use Them)?
- What Is Pose Estimation (for Fitness Apps)?
- What Is HRV (Heart Rate Variability)?
- What Is VO2 Max (and How Do Wearables Estimate It)?
- What Are Sleep Stages (Awake, Light, Deep, REM)?
- How Do Fitness Apps Estimate Calories Burned?
- Webhooks vs. Polling for Fitness Data: How to Decide
- What Are OAuth Scopes (and How Health APIs Grant Them)?
- What Is RPE (Rating of Perceived Exertion)?
Alternatives (11 pages)
- Alternatives — section index
- The Best Fitbit API Alternatives (2026)
- Google Fit API Alternatives (It's Deprecated) (2026)
- Garmin API Alternatives When You Can't Get Access (2026)
- The Best Strava API Alternatives (2026)
- The Best Oura API Alternatives (2026)
- The Best WHOOP API Alternatives (2026)
- Apple HealthKit Alternatives (2026)
- The Best Terra (tryterra.co) Alternatives (2026)
- The Best Nutritionix Alternatives (2026)
- The Best ExerciseDB Alternatives (2026)
- KinesteX Alternatives, From the Team Behind KinesteX (2026)
Compliance (10 pages)
- Compliance — section index
- Does My Fitness App Need to Be HIPAA Compliant?
- GDPR for Fitness Apps: What Developers Need to Know
- Is Fitness Data PHI? PII, PHI, and Health Data Untangled
- Does the FDA Regulate Fitness Apps?
- Apple App Store Health Data Rules: What You Need to Ship a HealthKit App
- What does Google Play's health data policy require?
- How to Store Health Data Securely
- How to Get Valid User Consent for Health Data
- What Does a Fitness App Privacy Policy Need to Include?
- Health Data Retention and Deletion: A Developer's Guide
Migrations (10 pages)
- Migrations — section index
- How to migrate from Google Fit to Health Connect
- Migrating from the Fitbit Web API to the Google Health API
- Adding Android to a HealthKit app
- Consolidate wearables: replace direct integrations with one aggregator
- Migrate from an aggregator to direct provider integrations
- How to switch from one health data aggregator to another
- Migrate from polling to webhooks for a fitness API
- Adapting Your Integration to Strava's API Changes
- Keep Users Connected During a Fitness API Migration
- Migrate off a deprecated fitness API
Pricing (11 pages)
- Pricing — section index
- Fitbit API Pricing: What Does It Actually Cost?
- Garmin API Pricing: What Does It Actually Cost?
- Strava API Pricing: What Does It Actually Cost?
- Oura API pricing: what it actually costs
- WHOOP API Pricing: What Does It Actually Cost?
- Health data aggregator API pricing: how Terra, Junction, Rook, and Spike charge
- What does a nutrition API cost?
- Exercise Database API Pricing: What Does It Cost?
- Are Fitness APIs Free? An Honest Overview
- How Much Does a Fitness API Cost?
- Fitness API Free Tiers Compared: What Free Actually Includes
Comparisons (17 pages)
- Comparisons — section index
- Oura vs WHOOP: Which API for Your App?
- Fitbit vs Apple Watch: Which for Your App?
- Strava vs Garmin: Which API for Your App?
- Fitbit vs Oura API: Which for Your App?
- WHOOP vs Garmin: Which for Your App?
- Terra vs ROOK: Which Aggregator API for Your App?
- Terra vs Spike Health: Which Aggregator for Your App?
- Nutritionix vs Edamam: Which Nutrition API to Use?
- Edamam vs Spoonacular: Which Nutrition API?
- ExerciseDB vs wger: Which Exercise API for Your App?
- KinesteX vs Sency: Which Motion Tracking SDK?
- KinesteX vs QuickPose: Decide by How Much You Want to Build
- KinesteX vs MediaPipe: Which Layer Do You Want to Own?
- Apple Watch vs WHOOP: Which for Your App?
- Apple Watch vs Garmin: Which Should You Build On?
- Rook vs Spike: Which Health-Data API Fits Your Build?
- USDA FoodData Central vs Open Food Facts: Which Free Food Data?
Health Data (14 pages)
- Health Data — section index
- Heart Rate API: How to Get Heart-Rate Data Into Your App
- HRV API: How to Get Heart Rate Variability Data
- VO2 Max API: How to Get VO2 Max Data
- Blood Oxygen (SpO2) API: How to Get SpO2 Data
- Sleep Tracking API: How to Get Sleep Data Into Your App
- Step Counting API: How to Get Step Data
- Workout Detection API: Get Recorded Workout Sessions
- GPS Activity API: How to Get Route Data from Workouts
- Calorie Tracking API: How to Get Calorie Data
- Body Composition API: Weight, Body Fat, and Lean Mass Data
- Menstrual Cycle API: How to Get Cycle Tracking Data
- Blood Glucose API: How to Get Glucose Data Into Your App
- Blood Pressure API: How to Read BP Data In Your App
- Respiratory Rate API: How to Get Breathing-Rate Data
AI Motion (13 pages)
- AI Motion — section index
- Pose Estimation Models Compared: MediaPipe, MoveNet, YOLO and More
- 2D vs 3D Pose Estimation for Fitness Apps
- Pose Estimation Accuracy: What It Means and What Drives It
- Multi-Person Pose Tracking: Top-Down vs Bottom-Up
- On-Device vs Cloud Pose Estimation: Which to Choose
- Real-Time Pose Estimation: Frame Rate, Latency, and Model Trade-offs
- Pose Estimation Hardware Requirements: What You Actually Need
- How Rep Counting Works: The Algorithm Explained
- How Camera-Based Form Feedback Works
- Build vs Buy: AI Motion Tracking
- MediaPipe vs MoveNet: Decide by What You Compute Downstream
- MediaPipe Pose Landmarker Models: Lite vs Full vs Heavy
- Apple Vision Framework Body Pose: The Native iOS Option
AI Features (11 pages)
- AI Features — section index
- AI Workout Plan Generation: How to Build One That Ships
- AI Food Logging: Text and Photo Nutrition Entry That Actually Works
- Personalizing Your App With a User's Own Wearable Data
- Grounding an LLM in Your Exercise Database
- Writing the System Prompt for an AI Fitness Coach
- AI vs Rules-Based Coaching: Where a Language Model Actually Helps
- How to Evaluate an AI Fitness Feature
- Guardrails for an LLM That Gives Fitness Advice
- Choosing an LLM for a Fitness App: Pick by Job, Not by Leaderboard
- What Does an AI Fitness Feature Cost to Run?
- Structured Output for Workout Plans: Constraining What the Model Returns
Architecture (15 pages)
- Architecture — section index
- Incremental Sync: Reading Only What Changed Since Last Time
- Backfilling Years of Wearable Data Without Hitting Rate Limits
- Background Sync That Does Not Depend on the Phone Waking Up
- Webhook ingestion for health data: making at-least-once delivery safe
- Mapping Users to Wearable Provider Accounts and Devices
- Deduplicating Health Data From Multiple Sources
- Normalizing wearable data across providers
- Timezones and Day Boundaries: Whose Midnight Defines the Day?
- Missing Data and Gaps in Health Metrics
- How Should You Store Health Time-Series Data?
- Resolving Sync Conflicts in an Offline-First Workout Log
- Versioning Derived Metrics and Recomputing Health History
- Monitoring a Health Data Pipeline for Silent Failures
- Deleting and Exporting a User's Health Data
- Caching Fitness API Responses Without Serving Stale Health Data
Testing (14 pages)
- Testing — section index
- How to Test a HealthKit Integration
- Test Data for Health Connect: Fakes, the Toolbox, and the Generators You Write
- Mock Wearable Data That Is Ugly Enough to Find Bugs
- Testing Background Sync: Three Tests, and Only One Is Real
- Testing an OAuth Integration: The Token Lifecycle, Not the Login Screen
- Provider Sandboxes: Build the Fake, Keep One Real Account
- Testing Webhooks Locally: Replay Signed Payloads, Not Just the Handshake
- Testing 429 Rate-Limit and Outage Handling in a Health Backfill
- Testing Camera Features When You Have No Camera
- Testing Pose Estimation Accuracy with a Regression Corpus
- How to Test a Rep Counting Algorithm
- CI for an App That Needs a Real Device
- Testing Offline Sync and Conflict Resolution
- Testing That a User's Health Data Is Actually Deleted
Cookbook (6 pages)
- Cookbook — section index
- Recipe: Single-Flight Refresh-Token Rotation
- Recipe: A Replay-Safe Health Webhook Receiver
- Recipe: A Rate-Limit-Aware Fetch Wrapper
- Day-Boundary Rollup: Grouping Samples by Civil Date
- Rep Counter: A State Machine and the Scorer That Guards It
- Backfill Checkpointer: A Resumable Window Walker
Connected Devices (12 pages)
- Connected Devices — section index
- Connect a Bluetooth Heart Rate Monitor to Your App (2026)
- Reading Cycling Power, Cadence, and Speed Sensors in an App
- What Is FTMS? The Bluetooth Fitness Machine Service (2026)
- Treadmill App Integration: Reading FTMS Treadmill Data
- Smart Bike Trainer Integration: FTMS and Cycling Power
- Getting Rowing Machine Data Into an App (2026)
- Live Heart Rate From Apple Watch in Your App (2026)
- Wear OS Health Services for Live Workout Data (2026)
- ANT+ vs Bluetooth for Fitness Sensors (2026)
- Web Bluetooth for Fitness Apps in the Browser (2026)
- Core Bluetooth for Fitness Devices on iOS (2026)
- Testing Bluetooth Fitness Device Integrations (2026)
Engagement & Retention (14 pages)
- Engagement & Retention — section index
- Push Notifications for a Fitness App: Permissions and Payload
- Live Activities for Workout Tracking on iOS
- Fitness App Widgets and Watch Complications
- Wear OS Ongoing Activity for Workout Tracking
- Engagement SDKs for Fitness Apps: The Categories, Honestly
- Streaks and Habit Loops in a Fitness App
- Leaderboards and Challenges in a Fitness App
- Adding Social Features to a Fitness App
- Gamification in Fitness Apps: Which Mechanics Fit Exercise
- Does Camera Coaching Improve Retention?
- How to Measure Retention in a Fitness App
- A/B Testing an Engagement Feature
- Fitness App Engagement Metrics That Matter
- Notification Fatigue and Opt-Out in Fitness Apps
Watch Apps (12 pages)
- Watch Apps — section index
- Anatomy of a watchOS Workout App
- HealthKit on Apple Watch: What Changes on the Wrist
- Background Execution on Apple Watch: Two Mechanisms
- WorkoutKit: Scheduling Workouts Into Apple's Workout App
- Mirroring an Apple Watch Workout to iPhone
- Wear OS Fitness App Anatomy: Standalone or Not (2026)
- Wear OS Exercise Tracking with Health Services (2026)
- Wear OS Tiles for a Fitness App (2026)
- Wear OS Phone Sync: The Data Layer and Its Limits (2026)
- watchOS vs Wear OS: Building the App That Runs on the Watch
- Watch App Battery: The Constraint That Decides Scope
- Testing Watch Apps Without a Watch on Every Desk
Accessibility (12 pages)
- Accessibility — section index
- VoiceOver and the numbers that change during a set
- TalkBack and the Android workout screen
- What to call an exercise, a set and a rep range
- Making a health chart readable without the chart
- Dynamic Type on a workout screen: what breaks at 200 percent
- Touch targets when the hand is shaking
- Colour contrast when the screen is in sunlight
- Reduce Motion in a coaching interface
- Gestures and hands-free control during a workout
- Haptics when the audio channel is already busy
- Captions, subtitles and audio descriptions for workout video
- Testing accessibility in a fitness app
Posts
- The Fitness API Cost Your Users Pay
- Ten Health Metrics, Two Platforms
- Your HealthKit Bridge Last Shipped in 2024
- 'No Data' Means Four Different Things
- HRV Is SDNN on iOS and RMSSD on Android
- How We Verify, and What a Stamp Can't Say
- 64 Cumulative, 53 Discrete: Sum or Average
- Nutrition: HealthKit's Biggest Group at 39
- Apple's Newest HealthKit Types Are a Roadmap
- HealthKit's 9 Mobility Types, Barely Used
- The HealthKit Error That Never Fires
- 58 HealthKit Types Apple Never Explains
- HealthKit: 127 of 240 Types Are iOS 8.0
- Google Fit: The Signal Came in 2024
- Four Fitness APIs Are Free and Expensive
- Four Ways an API Says Contact Sales
- Integrate Fitness APIs in Risk Order
- 12 of 24 Fitness APIs Have an Approval Gate
- 6 Confirmed, 7 Reported: Grade Your Dates
- One Field, Three Tries, Two Honest Nulls
- The Health App That Never Touches HealthKit
- Welcome to AIFitnessAPI
- How to Choose a Fitness API in 2026