# Available Exercise Categories in the Instagit Exercises Dataset

> Explore the Instagit Exercises Dataset and discover its ten distinct exercise categories including back, cardio, chest, and more. Find the perfect workout type easily.

- Repository: [Hasan Emir Yıldırım/exercises-dataset](https://github.com/hasaneyldrm/exercises-dataset)
- Tags: api-reference
- Published: 2026-08-01

---

**The hasaneyldrm/exercises-dataset contains ten distinct exercise categories: back, cardio, chest, lower arms, lower legs, neck, shoulders, upper arms, upper legs, and waist.**

The hasaneyldrm/exercises-dataset repository (also referred to as the Instagit exercises dataset) organizes fitness movements by anatomical focus. Each exercise record in [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) includes a mandatory `category` field that assigns the movement to one of ten body-part classifications. Understanding these available exercise categories enables precise filtering for workout applications and ensures data integrity when processing the dataset.

## Complete List of Available Exercise Categories

The dataset taxonomy enumerates ten primary body-part classifications. By scanning [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json), you can identify where each category first appears in the source data:

| Category | First Appearance |
|----------|------------------|
| **back** | Line 512 |
| **cardio** | Line 3706 |
| **chest** | Line 817 |
| **lower arms** | Line 7678 |
| **lower legs** | Line 614 |
| **neck** | Line 113002 |
| **shoulders** | Line 5797 |
| **upper arms** | Line 3401 |
| **upper legs** | Line 309 |
| **waist** | Line 5 |

These ten values represent the complete枚举 of exercise categories available in the repository. Each entry in the JSON array contains a string value matching one of these categories exactly.

## Dataset Schema and Structure

The categorical taxonomy is enforced through schema validation defined in [`data/exercises.schema.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.schema.json). This JSON Schema specifies the `category` property as a required string field, guaranteeing that every exercise object in [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) includes a valid body-part classification. The schema prevents null values and ensures consistent terminology across all entries, with categories ranging from localized muscle groups like "lower arms" to systemic classifications like "cardio".

## How to Extract Categories Programmatically

You can retrieve the complete list of available exercise categories using Python by loading the JSON file and extracting unique values from the `category` field:

```python
import json
from pathlib import Path

DATA_PATH = Path(__file__).parent / "data" / "exercises.json"

with DATA_PATH.open(encoding="utf-8") as f:
    exercises = json.load(f)

categories = sorted({ex["category"] for ex in exercises})
print("Available categories:")
for cat in categories:
    print("-", cat)

```

This script reads [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json), uses a set comprehension to collect unique category strings, and outputs them in alphabetical order. This approach validates that exactly ten categories exist in the dataset and provides a runtime-verified list for downstream applications.

## Summary

- The **hasaneyldrm/exercises-dataset** defines exactly **ten exercise categories**: back, cardio, chest, lower arms, lower legs, neck, shoulders, upper arms, upper legs, and waist.
- Category values are stored in the `category` field of each exercise object within [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json).
- The [`data/exercises.schema.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.schema.json) file enforces these categories as required properties, ensuring complete data coverage.
- Use Python's `json` module with set operations to programmatically extract and verify the available exercise categories against the source data.

## Frequently Asked Questions

### How many exercise categories are available in the dataset?

The dataset contains exactly **ten exercise categories**. These cover major body parts including back, chest, shoulders, upper and lower arms, upper and lower legs, waist, neck, and a dedicated cardio category for cardiovascular exercises.

### Where are the exercise categories defined in the repository?

Exercise categories are assigned within individual exercise records in [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json), specifically in the `category` field of each JSON object. The permissible values are constrained by [`data/exercises.schema.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.schema.json), which defines the field as a required string property in the JSON Schema specification.

### Is the category field required for every exercise entry?

Yes, according to the schema definition in [`data/exercises.schema.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.schema.json), the `category` field is a required property for every exercise object. This requirement ensures that no exercise entries exist without a valid body-part classification, maintaining dataset completeness and searchability.

### How can I filter exercises by category using Python?

Load [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) into a Python list, then apply a list comprehension to filter by the `category` key. For example, `[ex for ex in exercises if ex["category"] == "back"]` returns only back-focused exercises, allowing you to subset the dataset by any of the ten available exercise categories.