GitHunt

strava-cli

CLI tool to pull personal data from the Strava API v3.

Setup

  1. Install: uv sync
  2. Register a Strava API app at https://www.strava.com/settings/api
    • Callback domain: localhost
  3. Create a .env file (gitignored):
    STRAVA_CLIENT_ID=your_id
    STRAVA_CLIENT_SECRET=your_secret
    
  4. Authenticate:
    uv run strava auth login
    
    Or pass directly: uv run strava auth login --client-id=XXX --client-secret=XXX

Commands

strava auth login       # OAuth login (opens browser)
strava auth status      # Show auth state
strava auth refresh     # Force token refresh

strava profile          # Athlete profile
strava stats            # YTD and all-time stats
strava gear             # Bikes and shoes

strava activities       # List recent activities (--after, --before, --type, --limit, --json, --format md)
strava activity ID      # Activity detail (--json, --splits, --format md)
strava streams ID       # GPS/sensor data (--keys, --format json|csv|gpx)
strava week             # Weekly training summary (--after, --before, --type, --json, --format md)
strava training         # Training analysis (--weeks, --vdot, --type, --json, --format)

strava export           # Bulk export (--after, --before, --type, --include-streams, --output, --format json|csv|md)
strava sync             # Quick export to strava-export/activities.md

Development

uv run pytest           # Run tests
uv run strava --help    # CLI help

Languages

Python100.0%

Contributors

Created February 22, 2026
Updated March 11, 2026
oskarth/strava-cli | GitHunt