Export and analyze your workout data from the Liftoff fitness app. A command-line tool to back up gym sessions, track bodyweight trends, and view exercise statistics — all from your terminal.
- Workout export — list, search, and display workouts in fitdown or JSON format
- Exercise filtering — filter by exercise name with word-prefix matching (e.g.
--exercise bench) - Date filtering — relative (
30d,4w,6m,1y) or absolute (2025-01-01) - Exercise statistics — per-exercise PR tracking, volume summaries, and monthly progress bar charts
- Bodyweight tracking — trend analysis with ASCII charts, plateau detection, and rate-of-change
- Multi-platform — pre-built binaries for macOS (Intel + Apple Silicon), Linux, and Windows
- JSON output — pipe workout data to jq, scripts, or other tools with
--format json
# Install with Homebrew brew tap quantcli/tap brew install liftoff-export # Log in and list recent workouts liftoff-export auth login liftoff-export workouts list --since 7d
Homebrew (macOS / Linux):
brew tap quantcli/tap brew install liftoff-export
Or download a pre-built binary from the releases page:
macOS (Apple Silicon):
curl -Lo /tmp/liftoff-export.zip https://github.com/quantcli/liftoff-export-cli/releases/latest/download/liftoff-export_darwin_arm64.zip unzip -jo /tmp/liftoff-export.zip -d ~/bin && rm /tmp/liftoff-export.zip chmod +x ~/bin/liftoff-export
macOS (Intel):
curl -Lo /tmp/liftoff-export.zip https://github.com/quantcli/liftoff-export-cli/releases/latest/download/liftoff-export_darwin_amd64.zip unzip -jo /tmp/liftoff-export.zip -d ~/bin && rm /tmp/liftoff-export.zip chmod +x ~/bin/liftoff-export
Linux (amd64):
curl -Lo /tmp/liftoff-export.zip https://github.com/quantcli/liftoff-export-cli/releases/latest/download/liftoff-export_linux_amd64.zip unzip -jo /tmp/liftoff-export.zip -d ~/bin && rm /tmp/liftoff-export.zip chmod +x ~/bin/liftoff-export
Windows (amd64):
Download liftoff-export_windows_amd64.zip from the releases page, extract it, and add the directory to your PATH.
Make sure ~/bin is in your PATH. If not, add this to your ~/.zshrc or ~/.bashrc:
export PATH="$HOME/bin:$PATH"
liftoff-export auth login # Log in to Liftoff liftoff-export auth import # Save a refresh token captured from the app liftoff-export auth logout # Remove stored auth tokens liftoff-export auth refresh # Manually refresh the access token
Google Sign-In accounts have no password, so auth login can't be used. Log
in on the phone app with an HTTPS proxy (mitmproxy, Proxyman) running, copy the
refreshToken from the user.signIn response, and hand it to auth import:
liftoff-export auth import --refresh-token "$RT" # verifies + saves echo "$RT" | liftoff-export auth import # same, token on stdin
For CI or containers, set LIFTOFF_REFRESH_TOKEN instead and skip the token file
entirely.
liftoff-export workouts list # List workouts in fitdown format liftoff-export workouts list --format json # Output as JSON liftoff-export workouts list --since 30d # Filter by relative date (30d, 4w, 6m, 1y) liftoff-export workouts list --since 2025-01-01 # Filter by absolute date liftoff-export workouts list --exercise bench # Filter to matching exercises liftoff-export workouts show 2025-03-08 # Show workout(s) for a date liftoff-export workouts show today # Show today's workout liftoff-export workouts show yesterday # Show yesterday's workout
liftoff-export workouts stats # Per-exercise summaries with monthly graphs liftoff-export workouts stats --detail # Per-session breakdown liftoff-export workouts stats --exercise curl # Filter to matching exercises liftoff-export workouts stats --since 6m # Filter by date liftoff-export workouts stats --format json # Output as JSON
liftoff-export bodyweights list # List recorded bodyweights liftoff-export bodyweights list --since 6m # Filter by date liftoff-export bodyweights stats # Stats with monthly graph and trends liftoff-export bodyweights stats --since 2025-01-01
Routines are reusable workout templates saved in the Liftoff app (the upstream API calls them "presets"; the JSON output preserves that naming):
liftoff-export routines list # List all your saved routines (fitdown) liftoff-export routines list --format json # Full JSON for jq / agents liftoff-export routines show Push # One routine by name (case-insensitive) liftoff-export routines show cmkbk9ugu0eej3pv0oyd41x8c # …or by id
Folder-organized routines are not rendered yet — file an issue if you need folder support.
Workouts are printed in fitdown format by default:
Workout January 30, 2025
Machine Tricep Extension
12@110
2x6@125
Assisted Pull Ups
3@-100
Scapular Pull Ups
10@+0
Walking
1.00mi 18:00
Liftoff is a fitness tracking app for logging gym workouts, bodyweight, and exercise progress. This CLI is an unofficial tool for exporting and analyzing your own data.