wger Workout Manager API
Free wger fitness API with no key for public data: exercise database with muscles worked, equipment, categories, images and nutrition information. Tested.
Endpoint tested and returned HTTP 200 on 19 Aug 2026
What is the wger Workout Manager API?
The wger API is a free, key-free API for the open-source workout manager, providing an exercise database with muscle groups, required equipment, categories, instructional images and a nutrition database.
wger is open-source fitness tracking software, and its public API exposes the underlying exercise and nutrition databases. The exercise records include which muscles are primary and secondary, what equipment is needed, and translations into several languages.
Reading public data needs no authentication at all. Only user-specific features — logging workouts, tracking weight — require a token, which makes the exercise database freely usable as a reference in any fitness app.
Quick facts
- Base URL
https://wger.de/api/v2- Authentication
- Public exercise and nutrition data needs no auth. User data requires a token.
- Rate limit
- No published limit for public reads.
- Pricing
- Free and open source, AGPL licensed. Exercise data is CC-BY-SA.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the wger Workout Manager API
Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. Fetch exercises from the database
GET https://wger.de/api/v2/exercise/?format=json&limit=1
curl 'https://wger.de/api/v2/exercise/?format=json&limit=1'const res = await fetch("https://wger.de/api/v2/exercise/?format=json&limit=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://wger.de/api/v2/exercise/?format=json&limit=1", timeout=20)
res.raise_for_status()
print(res.json()){
"count": 860,
"next": "https://wger.de/api/v2/exercise/?format=json&limit=1&offset=1",
"previous": null,
"results": [
{
"id": 9,
"uuid": "1b020b3a-3732-4c7e-92fd-a0cec90ed69b",
"created": "2023-08-06T10:17:17.422900+02:00",
"last_update": "2026-07-23T12:24:53.482746+02:00",
"category": 10,
"muscles": [
11,
8
],
"muscles_secondary": [
10,
6
],
"equipment": [
10
],
"variation_group": "a30b1f92-7b73-477e-abb0-e91993c5fb05",
"license_author": "deusinvictus"
}
]
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
format | string | Required | Set to `json`; the API defaults to a browsable HTML view. json |
limit / offset | integer | Optional | Pagination controls. 20 |
language | integer | Optional | Language id for translated exercise names. 2 |
category | integer | Optional | Exercise category id. 10 |
muscles | integer | Optional | Filter by primary muscle worked. 4 |
Response fields
countinteger- Total records available.
next / previousstring- Pagination URLs.
results[].idinteger- Exercise identifier.
results[].categoryobject- Exercise category such as Arms or Legs.
results[].muscles / muscles_secondaryarray- Primary and secondary muscles worked.
results[].equipmentarray- Equipment required.
results[].imagesarray- Instructional image URLs where available.
What you can build with the wger Workout Manager API
- Build a workout planner with a real exercise database
- Filter exercises by available equipment or target muscle
- Create a fitness reference or exercise encyclopaedia
- Add nutrition lookup to a health tracking app
Common errors and how to fix them
HTML instead of JSON
The `format=json` parameter was omitted.
Fix: wger serves a browsable API by default; always append ?format=json.
Exercise names missing
Names live in translations, not on the base record.
Fix: Use the exerciseinfo endpoints or specify a language to get translated names.
Empty images array
Not every exercise has illustrations.
Fix: Handle the missing case; image coverage is partial and community-contributed.
wger Workout Manager API — frequently asked questions
Is the wger API free?
Yes, public exercise and nutrition data requires no authentication. Only user-specific features like workout logging need a token.
Why am I getting HTML instead of JSON?
wger serves a browsable HTML API view by default. Append ?format=json to every request.
Does it say which muscles an exercise works?
Yes, each exercise lists primary and secondary muscle groups, plus the equipment required — which is what makes it useful for building workout planners.
Can I self-host it?
Yes, wger is open source under the AGPL. Self-hosting is a good option if you need the workout tracking features rather than just the exercise database.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
BMI Calculator
Calculate your Body Mass Index from height and weight in metric (cm/kg) or imperial (ft-in/lbs) units and see your WHO category with a color-coded badge.
Unit Converter
Convert between units of length, weight, temperature, area, volume, speed, time and data storage instantly, with a swap button and common conversion tables.
Alternatives to wger Workout Manager API
If wger Workout Manager does not fit, these sports & fitness apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| TheSportsDB | Free sports database API with a public test key: teams, players, leagues, fixtures and results across football, basketball, cricket and more, with images. Tested. | No key | Yes | 19 Aug 2026 |
| NHL Web API | Free NHL API with no key: live scores, standings, team rosters, player statistics and schedules from the official NHL data service. Tested curl example. | No key | No | 19 Aug 2026 |
| OpenLigaDB | Free OpenLigaDB API with no key: Bundesliga fixtures, results, tables and goalscorers, plus other leagues. Community-maintained open data. Tested example. | No key | No | 19 Aug 2026 |
| Squiggle (AFL) | Free Australian Football League API with no key: teams, fixtures, results, ladder standings and computer model predictions. Community-run. Tested example. | No key | No | 21 Aug 2026 |
| DiscGolfAPI | Free disc golf course API with no key: mapped courses by country with coordinates, region codes, operator details and explicit licence metadata. Tested example included. | No key | Yes | 21 Aug 2026 |
| F1API.dev | Free Formula 1 API with no key: current season calendar, race results, driver and constructor standings, circuits and historical champions. Tested example included. | No key | Yes | 21 Aug 2026 |
wger Workout Manager is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.