Wger Exercise Database Scraper
Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.
Wger Exercise Database Scraper
Scrape the complete wger.de open exercise database — 845+ exercises with multilingual names, muscle groups, equipment, images, categories, and full license attribution. No API key or authentication required.
What data does it scrape?
For each exercise the scraper returns:
| Field | Description |
|---|---|
exercise_id |
Numeric wger exercise ID |
uuid |
Stable UUID |
name |
Exercise name in the requested language |
description_html |
Full HTML description / instructions |
category |
Exercise category (Cardio, Legs, Arms, etc.) |
language |
Language ID used for this record |
primary_muscles |
Primary muscles targeted (newline-separated) |
secondary_muscles |
Secondary muscles (newline-separated) |
equipment |
Required equipment (newline-separated) |
images |
Exercise images with main-flag and license author |
videos |
Exercise videos |
aliases |
Alternative names for the exercise |
variations |
Variation group ID if the exercise belongs to a set |
license |
Content license (e.g. CC-BY-SA 4) |
license_author |
Attribution author for the content |
created |
Creation timestamp |
last_update |
Last update timestamp |
Why use this?
- No competitor: no other Apify actor wraps the wger exercise database
- License-compliant output:
licenseandlicense_authorfields are surfaced on every record so downstream apps stay CC/AGPL-compliant - Multilingual: set
languageto any wger language ID (1=German, 2=English, 19=Spanish, etc.) - Drop-in seed data: flat, query-ready records for fitness apps, personal trainer tools, LLM exercise recommendation systems
Usage
Default run — fetches English exercises:
{
"language": 2,
"maxItems": 15
}
Full English database:
{
"language": 2
}
German exercises:
{
"language": 1,
"maxItems": 100
}
Language IDs
Common language IDs supported by wger:
| ID | Language |
|---|---|
| 1 | German |
| 2 | English |
| 4 | Norwegian |
| 5 | French |
| 6 | Czech |
| 7 | Spanish |
For the full list see the wger language API.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
language |
Integer | 2 | Language ID (2 = English) |
maxItems |
Integer | all | Maximum records to return |
Data source
Data comes from the wger.de REST API — a free, open-source workout manager with CC/AGPL-licensed exercise content. The scraper uses polite rate limiting (600ms between requests) and is well within fair-use boundaries for read-only enrichment.