Skip to content
AF
Open Dataset

Exercise taxonomy crosswalk: exercise databases to HealthKit and Health Connect

Almost none of it maps. Of the 149 category, equipment, muscle and body-part terms that free-exercise-db, wger and ExerciseDB v1 publish (read 2026-11-05), only one has the same name as a HealthKit or Health Connect workout type: free-exercise-db's "stretching". Their categories are body regions and training styles (Arms, Legs, strength, plyometrics), while HealthKit and Health Connect name activities, so a name-only crosswalk leaves "strength" unmapped rather than guessing STRENGTH_TRAINING. Exercise names do slightly better: 6 of free-exercise-db's 876 match a Health Connect exercise or segment type exactly. CC BY 4.0, JSON and CSV.

149 of 149 terms
TermDatabaseFacetSame name (mapped)Name contains it (not a mapping)
powerliftingfree-exercise-dbCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
strengthfree-exercise-dbCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.functionalStrengthTraining (HealthKit)traditionalStrengthTraining (HealthKit)EXERCISE_TYPE_STRENGTH_TRAINING (Health Connect)
stretchingfree-exercise-dbCategoryEXERCISE_TYPE_STRETCHING (Health Connect)EXERCISE_SEGMENT_TYPE_STRETCHING (Health Connect segment)—
cardiofree-exercise-dbCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.cardioDance (HealthKit)mixedCardio (HealthKit)mixedMetabolicCardioTraining (HealthKit)
olympic weightliftingfree-exercise-dbCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
strongmanfree-exercise-dbCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
plyometricsfree-exercise-dbCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
medicine ballfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
dumbbellfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM (Health Connect segment)
body onlyfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
bandsfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
kettlebellsfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
foam rollfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
cablefree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
machinefree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_TYPE_ROWING_MACHINE (Health Connect)EXERCISE_TYPE_STAIR_CLIMBING_MACHINE (Health Connect)EXERCISE_SEGMENT_TYPE_ROWING_MACHINE (Health Connect segment)EXERCISE_SEGMENT_TYPE_STAIR_CLIMBING_MACHINE (Health Connect segment)
barbellfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS (Health Connect segment)
exercise ballfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
e-z curl barfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
otherfree-exercise-dbEquipmentAn equipment term names no activity, so it is not mapped to a workout type.other (HealthKit)EXERCISE_TYPE_OTHER_WORKOUT (Health Connect)EXERCISE_SEGMENT_TYPE_OTHER_WORKOUT (Health Connect segment)EXERCISE_SEGMENT_TYPE_SWIMMING_OTHER (Health Connect segment)
abdominalsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
abductorsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
adductorsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
bicepsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
calvesfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
chestfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
forearmsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
glutesfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
hamstringsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
latsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
lower backfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
middle backfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
neckfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
quadricepsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
shouldersfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
trapsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.—
tricepsfree-exercise-dbMuscleA muscle term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION (Health Connect segment)
AbswgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
ArmswgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
BackwgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.EXERCISE_SEGMENT_TYPE_BACK_EXTENSION (Health Connect segment)
CalveswgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
CardiowgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.cardioDance (HealthKit)mixedCardio (HealthKit)mixedMetabolicCardioTraining (HealthKit)
ChestwgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
LegswgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
ShoulderswgerCategoryNo HealthKit or Health Connect constant has the same name after normalization; nothing is matched by meaning.—
BarbellwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS (Health Connect segment)
BenchwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_BENCH_PRESS (Health Connect segment)EXERCISE_SEGMENT_TYPE_BENCH_SIT_UP (Health Connect segment)
Cable machinewgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
DumbbellwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM (Health Connect segment)
Gym matwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
Incline benchwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
KettlebellwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING (Health Connect segment)
Pull-up barwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
Resistance bandwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
SZ-BarwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
Swiss BallwgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
none (bodyweight exercise)wgerEquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
Anterior deltoidEnglish name: ShoulderswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Biceps brachiiEnglish name: BicepswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Biceps femorisEnglish name: HamstringswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
BrachialiswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
GastrocnemiusEnglish name: CalveswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Gluteus maximusEnglish name: GluteswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Latissimus dorsiEnglish name: LatswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Obliquus externus abdominiswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Pectoralis majorEnglish name: ChestwgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Quadriceps femorisEnglish name: QuadswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Rectus abdominisEnglish name: AbswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Serratus anteriorwgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
SoleuswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
TrapeziuswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.—
Triceps brachiiEnglish name: TricepswgerMuscleA muscle term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION (Health Connect segment)
neckExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
lower armsExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
shouldersExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
cardioExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.cardioDance (HealthKit)mixedCardio (HealthKit)mixedMetabolicCardioTraining (HealthKit)
upper armsExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
chestExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
lower legsExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
backExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_BACK_EXTENSION (Health Connect segment)
upper legsExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
waistExerciseDB v1Body partA body-part term names no activity, so it is not mapped to a workout type.—
stepmill machineExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
elliptical machineExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
trap barExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
tireExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
stationary bikeExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
ab wheelExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
smith machineExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
hammerExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
ski ergometerExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
rollerExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_TYPE_ROLLER_HOCKEY (Health Connect)
resistance bandExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
bosu ballExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
weightedExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
olympic barbellExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
kettlebellExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_KETTLEBELL_SWING (Health Connect segment)
upper body ergometerExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
sled machineExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
EZ barExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
dumbbellExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_CURL_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_FRONT_RAISE (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_LATERAL_RAISE (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_ROW (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM (Health Connect segment)
ropeExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.jumpRope (HealthKit)EXERCISE_SEGMENT_TYPE_JUMP_ROPE (Health Connect segment)
barbellExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS (Health Connect segment)
stability ballExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
medicine ballExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
assistedExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
leverage machineExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
cableExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
bodyweightExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
towelExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
tennis ballExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
suspension trainerExerciseDB v1EquipmentAn equipment term names no activity, so it is not mapped to a workout type.—
tibialis anteriorExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
handsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
sternocleidomastoidExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
soleusExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
adductorsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
abdominalsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
grip musclesExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
wrist extensorsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
wrist flexorsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
latissimus dorsiExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
pectoralsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
rotator cuffExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
wristsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
brachialisExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
deltoidsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
feetExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
anklesExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
trapeziusExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
rear deltoidsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
quadricepsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
backExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_BACK_EXTENSION (Health Connect segment)
coreExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.coreTraining (HealthKit)
ankle stabilizersExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
rhomboidsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
obliquesExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
erector spinaeExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
hip flexorsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
levator scapulaeExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
abductorsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
serratus anteriorExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
forearmsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
bicepsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
upper backExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
cardiovascular systemExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
tricepsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.EXERCISE_SEGMENT_TYPE_DOUBLE_ARM_TRICEPS_EXTENSION (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_LEFT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_RIGHT_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_DUMBBELL_TRICEPS_EXTENSION_TWO_ARM (Health Connect segment)EXERCISE_SEGMENT_TYPE_SINGLE_ARM_TRICEPS_EXTENSION (Health Connect segment)
hamstringsExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
glutesExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—
calvesExerciseDB v1MuscleA muscle term names no activity, so it is not mapped to a workout type.—

Exercise names that match a workout or segment type

Of free-exercise-db’s 876 exercise names, 6 have exactly the same normalized name as a HealthKit or Health Connect constant.

ExerciseIts category and equipmentSame name
Barbell Shoulder Pressstrength · barbellEXERCISE_SEGMENT_TYPE_BARBELL_SHOULDER_PRESS (Health Connect segment)
Leg Pressstrength · machineEXERCISE_SEGMENT_TYPE_LEG_PRESS (Health Connect segment)
Plankstrength · body onlyEXERCISE_SEGMENT_TYPE_PLANK (Health Connect segment)
Running, Treadmillcardio · machineEXERCISE_TYPE_RUNNING_TREADMILL (Health Connect)EXERCISE_SEGMENT_TYPE_RUNNING_TREADMILL (Health Connect segment)
Sit-Upstrength · body onlyEXERCISE_SEGMENT_TYPE_SIT_UP (Health Connect segment)
Skatingcardio · otherEXERCISE_TYPE_SKATING (Health Connect)

The three databases and their licenses

  • free-exercise-db: Unlicense (public domain). Its license file or README says: This is free and unencumbered software released into the public domain. The category, equipment and primaryMuscles enums of its JSON Schema, and the name of every exercise in dist/exercises.json.
  • wger: Exercise data under Creative Commons licenses set per entry; code AGPL-3.0-or-later. Its license file or README says: Exercise/Ingredient Data: Creative Commons (see individual entries) The exercise categories, equipment and muscles its REST API v2 lists. Its exercises are not read here.
  • ExerciseDB v1: Repository LICENSE is AGPL-3.0; no separate data license found. Its license file or README says: GNU AFFERO GENERAL PUBLIC LICENSE The body parts, equipment and muscles of the free ExerciseDB V1 API at oss.exercisedb.dev, whose home page now carries the AscendAPI name ("Previously ExerciseDB") and says it needs no sign-up and no API key. Its exercises, and ExerciseDB v2, are not read here.

How the crosswalk is built, and its limits

  • A term is mapped only when it is a database category or an exercise name and its key equals a constant's key; key = the name lowercased with a leading EXERCISE_TYPE_ or EXERCISE_SEGMENT_TYPE_ removed and every character outside a-z0-9 removed. Equipment, muscle and body-part terms name no activity and are never mapped. nameContains lists constants whose words contain the term's words in order: a text coincidence shown for browsing, not a mapping.
  • Names are matched, not meanings. A category such as "strength" or "cardio" describes many activities, so it is left unmapped even where a constant's name contains it; those constants are listed under "name contains it" for browsing, and that column is a text coincidence, never a mapping.
  • Equipment, muscle and body-part terms are never mapped, because they describe how or where an exercise works, not which activity a workout session records.
  • wger's and ExerciseDB's exercise lists are not read, only their category, equipment, muscle and body-part lists; ExerciseDB v2, which its documentation says is accessed through RapidAPI, is not read either.
  • wger and ExerciseDB v1 were read through this site's source-snapshot workflow, because their hosts are blocked from where the site is built; each term's quote is kept in ops/sources/evidence/tools-exercise-taxonomy-crosswalk.json and re-checked against the live API.
  • The generator declares how many terms each list must have and refuses to write a shorter or longer one.

Sources read

Next step

Turning this into a choice of API: