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
--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 7dHomebrew (macOS / Linux):
brew tap quantcli/tap
brew install liftoff-exportOr 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-exportmacOS (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-exportLinux (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-exportWindows (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 tokenGoogle 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 stdinFor 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 --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 workoutliftoff-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 --json # Output as JSONliftoff-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-01Routines 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 idFolder-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.