The official Python client for the WorkoutX API. Pull 1,400+ exercises with GIF animations, generate workouts, fetch supplements, and run Body Scans โ perfect for backend services, data science notebooks, and AI coaching tools. Minimal dependencies, type-hinted, works everywhere Python runs.
๐ฆ Publishing to PyPI shortly โ not yet installable. Get your key now and you'll be ready the moment it lands.
One client covers both products โ the Exercise API (API-key auth) and the Body Scan API (user JWT). The SDK attaches the right credential automatically.
Clean dictionaries you can drop straight into pandas, ML pipelines, or an LLM-powered coaching agent.
Automatic retries with backoff on 429 and 5xx, honoring Retry-After. Structured WorkoutXError with status, code and tips.
Exercises, GIFs, workouts, supplements and Body Scan โ all under wx.*. Auth handled transparently per product.
Exercise IDs are not sequential, so passing a human name to get() returns a 404. The find() helper tries an ID first, then falls back to a name search.
Run pip install workoutx-sdk. It supports Python 3.8+ and has minimal dependencies (only certifi for reliable TLS).
Yes. Responses are plain Python dicts/lists, so they slot directly into pandas, scikit-learn pipelines, or prompts for an LLM agent.
Create a free account in the Developer Portal and copy your wx_... key. Pass it as api_key.
Body Scan uses a logged-in user's JWT. Pass scan_token=, or scan_email= and scan_password= to let the SDK log in automatically.
Load your API key from an environment variable or secret manager rather than hard-coding it. Never commit keys to version control.
gif_url() puts the key in the query string for direct image loading. Since URLs can leak via logs and referrers, use a separate, restricted key for GIFs where possible.
The Body Scan scan_email/scan_password auto-login should only run in trusted server environments โ not in code shipped to end users.
Free tier included. 1,400+ exercises, GIFs, workouts, and Body Scan in one SDK.
Get your free API key