Wger
wger (wger Workout Manager) is a self-hosted, free and open source (AGPL-3.0) fitness, workout, nutrition and body-weight tracker written in Django. Its REST API is served under /api/v2/ on any wger instance — including the project's own hosted instance at wger.de — and publishes a complete OpenAPI 3.0.3 schema generated from the code at /api/v2/schema, covering 129 paths and 254 operations across routines, days, slots and per-iteration progression configs, workout logs and sessions, the community exercise database (exercises, translations, images, videos, muscles, equipment, categories), the ingredient and nutrition-plan catalog with an incremental ingredient-sync feed, body weight, body measurements, galleries and gamification trophies. System-wide reference data (exercises, ingredients, units) is readable without authentication; user-owned data takes a personal API token, a JWT issued via allauth-headless, an OAuth2/OIDC access token, or the session cookie. The project also ships a first-party Python API client, a first-party MCP server exposing 85 tools over the same API, React components, Flutter and Android apps, and Docker/Helm deployment stacks.
Wger publishes 63 APIs on the APIs.io network, including Check Language API, Check Permission API, Day API, and 60 more. Tagged areas include Sports And Fitness, Public APIs, Fitness, Nutrition, and Health.
Wger’s developer surface includes documentation, API reference, getting-started guide, support, signup flow, changelog, CLI, and 25 more developer resources.
1 APIs
1 MCP Servers
Individual APIs this provider publishes, each with its own machine-readable definition.
The check-language API from Wger — 1 operation(s) for check-language.
The check-permission API from Wger — 1 operation(s) for check-permission.
The day API from Wger — 2 operation(s) for day.
The deletion-log API from Wger — 2 operation(s) for deletion-log.
The equipment API from Wger — 2 operation(s) for equipment.
The exercise database. Related objects are referenced by ID. This is the writable endpoint of the two exercise representations.
The exercise-submission API from Wger — 1 operation(s) for exercise-submission.
The exercise-translation API from Wger — 2 operation(s) for exercise-translation.
The exercisealias API from Wger — 2 operation(s) for exercisealias.
The exercisecategory API from Wger — 2 operation(s) for exercisecategory.
The exercisecomment API from Wger — 2 operation(s) for exercisecomment.
The exerciseimage API from Wger — 3 operation(s) for exerciseimage.
The same exercises read-only, with categories, muscles, equipment, images, videos and translations expanded inline. Meant for external tools and integrations: one request return...
The gallery API from Wger — 2 operation(s) for gallery.
Nutritional information per ingredient, referencing related objects by ID. Read-only and rate limited.
The ingredient-image API from Wger — 2 operation(s) for ingredient-image.
The same data as ingredientinfo, but cursor paginated for mirroring the whole catalogue. No `count`, and only `next`/`previous` rather than arbitrary offsets. Combine with the `...
The same ingredients read-only, with language, license, image and weight units expanded inline. Meant for external tools and integrations: one request returns everything, with n...
The ingredientweightunit API from Wger — 2 operation(s) for ingredientweightunit.
The issue-refresh-token API from Wger — 1 operation(s) for issue-refresh-token.
The language API from Wger — 2 operation(s) for language.
The license API from Wger — 2 operation(s) for license.
Upper limit for the repetitions of a set, per iteration.
Upper limit for the rest between sets, per iteration.
Upper limit for the reps in reserve of a set, per iteration.
Upper limit for the number of sets, per iteration.
Upper limit for the weight of a set, per iteration.
The meal API from Wger — 3 operation(s) for meal.
The mealitem API from Wger — 3 operation(s) for mealitem.
The measurement API from Wger — 2 operation(s) for measurement.
The measurement-category API from Wger — 2 operation(s) for measurement-category.
The min-app-version API from Wger — 1 operation(s) for min-app-version.
The min-server-version API from Wger — 1 operation(s) for min-server-version.
The muscle API from Wger — 2 operation(s) for muscle.
The nutritiondiary API from Wger — 3 operation(s) for nutritiondiary.
Nutrition plans, referencing meals and items by ID.
The same plans read-only, with meals, items and their nutritional values expanded inline. Meant for external tools and integrations that want a whole plan in one request, with n...
The powersync-keys API from Wger — 1 operation(s) for powersync-keys.
The powersync-token API from Wger — 1 operation(s) for powersync-token.
Read-only view of the routine templates published by other users.
Repetitions for a set, per iteration.
Rest between sets, per iteration.
Reps in reserve for a set, per iteration.
Workout routines. The nested day, slot and config structure is available in one request under `/routine/{id}/structure/`.
The schema API from Wger — 1 operation(s) for schema.
Number of sets, per iteration.
The setting-repetitionunit API from Wger — 2 operation(s) for setting-repetitionunit.
The setting-weightunit API from Wger — 2 operation(s) for setting-weightunit.
The slot API from Wger — 2 operation(s) for slot.
The slot-entry API from Wger — 2 operation(s) for slot-entry.
Read-only view of the routines the user marked as a template, plus their trainer's, if they have one.
The token API from Wger — 2 operation(s) for token.
The trophy API from Wger — 3 operation(s) for trophy.
The upload-powersync-data API from Wger — 1 operation(s) for upload-powersync-data.
The user-statistics API from Wger — 2 operation(s) for user-statistics.
The user-trophy API from Wger — 2 operation(s) for user-trophy.
The userprofile API from Wger — 2 operation(s) for userprofile.
The version API from Wger — 1 operation(s) for version.
The video API from Wger — 2 operation(s) for video.
Weight for a set, per iteration.
The weightentry API from Wger — 2 operation(s) for weightentry.
The workoutlog API from Wger — 2 operation(s) for workoutlog.
The workoutsession API from Wger — 2 operation(s) for workoutsession.
Model Context Protocol servers that expose these APIs to AI agents.
Published pricing tiers and plan structures.
Documented rate limits and quota policies.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
OAuth scopes governing access to this provider's APIs.
aid: wger
deliveryModel:
model: unknown
open_source: unknown
commercial: true
callable_host: false
label: Delivery model not determined — needs a product licence on record
confidence: low
source:
- pricing
- repository-unlicensed
generated: '2026-08-28'
method: derived
accessModel:
pricing: free
onboarding: self-service
trial: false
try_now: true
public: true
label: Free / Open Source
confidence: high
source:
- https://wger.readthedocs.io/en/latest/api/api.html
- https://wger.de/api/v2/schema
generated: '2026-08-27'
method: searched
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/wger.png
name: Wger
description: wger (wger Workout Manager) is a self-hosted, free and open source (AGPL-3.0) fitness, workout, nutrition and
body-weight tracker written in Django. Its REST API is served under /api/v2/ on any wger instance — including the project's
own hosted instance at wger.de — and publishes a complete OpenAPI 3.0.3 schema generated from the code at /api/v2/schema,
covering 129 paths and 254 operations across routines, days, slots and per-iteration progression configs, workout logs and
sessions, the community exercise database (exercises, translations, images, videos, muscles, equipment, categories), the
ingredient and nutrition-plan catalog with an incremental ingredient-sync feed, body weight, body measurements, galleries
and gamification trophies. System-wide reference data (exercises, ingredients, units) is readable without authentication;
user-owned data takes a personal API token, a JWT issued via allauth-headless, an OAuth2/OIDC access token, or the session
cookie. The project also ships a first-party Python API client, a first-party MCP server exposing 85 tools over the same
API, React components, Flutter and Android apps, and Docker/Helm deployment stacks.
url: https://wger.de/en/software/api
specificationVersion: '0.23'
created: '2026-05-28'
modified: '2026-08-27'
x-source: public-apis/public-apis
x-category: Sports & Fitness
x-tier: 3
x-tier-reason: bulk-registered-from-public-apis
tags:
- Sports And Fitness
- Public APIs
- Fitness
- Nutrition
- Health
- Open-Source
- Self-Hosted
- Workout Tracking
- Django
- REST
tags_raw:
- Sports And Fitness
- Public APIs
- Fitness
- Nutrition
- Health
- Open Source
- Self Hosted
- Workout Tracking
- Django
- REST
apis:
- aid: wger:wger-check-language-api
name: Wger Check Language API
description: The check-language API from Wger — 1 operation(s) for check-language.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- check-language
properties:
- type: OpenAPI
url: openapi/wger-check-language-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-check-permission-api
name: Wger Check Permission API
description: The check-permission API from Wger — 1 operation(s) for check-permission.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- check-permission
properties:
- type: OpenAPI
url: openapi/wger-check-permission-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-day-api
name: Wger Day API
description: The day API from Wger — 2 operation(s) for day.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- day
properties:
- type: OpenAPI
url: openapi/wger-day-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-deletion-log-api
name: Wger Deletion Log API
description: The deletion-log API from Wger — 2 operation(s) for deletion-log.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- deletion-log
properties:
- type: OpenAPI
url: openapi/wger-deletion-log-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-equipment-api
name: Wger Equipment API
description: The equipment API from Wger — 2 operation(s) for equipment.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- Equipment
tags_raw:
- equipment
properties:
- type: OpenAPI
url: openapi/wger-equipment-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exercise-api
name: Wger Exercise API
description: The exercise database. Related objects are referenced by ID. This is the writable endpoint of the two exercise
representations.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- Exercise
tags_raw:
- exercise
properties:
- type: OpenAPI
url: openapi/wger-exercise-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exercise-submission-api
name: Wger Exercise Submission API
description: The exercise-submission API from Wger — 1 operation(s) for exercise-submission.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- exercise-submission
properties:
- type: OpenAPI
url: openapi/wger-exercise-submission-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exercise-translation-api
name: Wger Exercise Translation API
description: The exercise-translation API from Wger — 2 operation(s) for exercise-translation.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- exercise-translation
properties:
- type: OpenAPI
url: openapi/wger-exercise-translation-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exercisealias-api
name: Wger Exercisealias API
description: The exercisealias API from Wger — 2 operation(s) for exercisealias.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- exercisealias
properties:
- type: OpenAPI
url: openapi/wger-exercisealias-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exercisecategory-api
name: Wger Exercisecategory API
description: The exercisecategory API from Wger — 2 operation(s) for exercisecategory.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- exercisecategory
properties:
- type: OpenAPI
url: openapi/wger-exercisecategory-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exercisecomment-api
name: Wger Exercisecomment API
description: The exercisecomment API from Wger — 2 operation(s) for exercisecomment.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- exercisecomment
properties:
- type: OpenAPI
url: openapi/wger-exercisecomment-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exerciseimage-api
name: Wger Exerciseimage API
description: The exerciseimage API from Wger — 3 operation(s) for exerciseimage.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- exerciseimage
properties:
- type: OpenAPI
url: openapi/wger-exerciseimage-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-exerciseinfo-api
name: Wger Exerciseinfo API
description: 'The same exercises read-only, with categories, muscles, equipment, images, videos and translations expanded
inline. Meant for external tools and integrations: one request returns everything, with no IDs left to resolve.'
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- exerciseinfo
properties:
- type: OpenAPI
url: openapi/wger-exerciseinfo-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-gallery-api
name: Wger Gallery API
description: The gallery API from Wger — 2 operation(s) for gallery.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- Gallery
tags_raw:
- gallery
properties:
- type: OpenAPI
url: openapi/wger-gallery-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-ingredient-api
name: Wger Ingredient API
description: Nutritional information per ingredient, referencing related objects by ID. Read-only and rate limited.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- ingredient
properties:
- type: OpenAPI
url: openapi/wger-ingredient-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-ingredient-image-api
name: Wger Ingredient Image API
description: The ingredient-image API from Wger — 2 operation(s) for ingredient-image.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- ingredient-image
properties:
- type: OpenAPI
url: openapi/wger-ingredient-image-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-ingredient-sync-api
name: Wger Ingredient Sync API
description: The same data as ingredientinfo, but cursor paginated for mirroring the whole catalogue. No `count`, and only
`next`/`previous` rather than arbitrary offsets. Combine with the `last_update__gt` filter for incremental syncs.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- ingredient-sync
properties:
- type: OpenAPI
url: openapi/wger-ingredient-sync-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-ingredientinfo-api
name: Wger Ingredientinfo API
description: 'The same ingredients read-only, with language, license, image and weight units expanded inline. Meant for
external tools and integrations: one request returns everything, with no IDs left to resolve.'
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- ingredientinfo
properties:
- type: OpenAPI
url: openapi/wger-ingredientinfo-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-ingredientweightunit-api
name: Wger Ingredientweightunit API
description: The ingredientweightunit API from Wger — 2 operation(s) for ingredientweightunit.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- ingredientweightunit
properties:
- type: OpenAPI
url: openapi/wger-ingredientweightunit-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-issue-refresh-token-api
name: Wger Issue Refresh Token API
description: The issue-refresh-token API from Wger — 1 operation(s) for issue-refresh-token.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- issue-refresh-token
properties:
- type: OpenAPI
url: openapi/wger-issue-refresh-token-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-language-api
name: Wger Language API
description: The language API from Wger — 2 operation(s) for language.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- Language
tags_raw:
- language
properties:
- type: OpenAPI
url: openapi/wger-language-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-license-api
name: Wger License API
description: The license API from Wger — 2 operation(s) for license.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- License
tags_raw:
- license
properties:
- type: OpenAPI
url: openapi/wger-license-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-max-repetitions-config-api
name: Wger Max Repetitions Config API
description: Upper limit for the repetitions of a set, per iteration.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- max-repetitions-config
properties:
- type: OpenAPI
url: openapi/wger-max-repetitions-config-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-max-rest-config-api
name: Wger Max Rest Config API
description: Upper limit for the rest between sets, per iteration.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- max-rest-config
properties:
- type: OpenAPI
url: openapi/wger-max-rest-config-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-max-rir-config-api
name: Wger Max Rir Config API
description: Upper limit for the reps in reserve of a set, per iteration.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- max-rir-config
properties:
- type: OpenAPI
url: openapi/wger-max-rir-config-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-max-sets-config-api
name: Wger Max Sets Config API
description: Upper limit for the number of sets, per iteration.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- max-sets-config
properties:
- type: OpenAPI
url: openapi/wger-max-sets-config-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-max-weight-config-api
name: Wger Max Weight Config API
description: Upper limit for the weight of a set, per iteration.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- max-weight-config
properties:
- type: OpenAPI
url: openapi/wger-max-weight-config-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https://wger.de/api/v2/schema/ui
- type: GettingStarted
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: Authentication
url: authentication/wger-authentication.yml
- type: OAuthScopes
url: scopes/wger-scopes.yml
- type: RateLimits
url: rate-limits/wger-rate-limits.yml
- type: ErrorCatalog
url: errors/wger-problem-types.yml
- type: Conventions
url: conventions/wger-conventions.yml
- type: DataModel
url: data-model/wger-data-model.yml
- type: Sandbox
url: sandbox/wger-sandbox.yml
- type: Conformance
url: conformance/wger-conformance.yml
- aid: wger:wger-meal-api
name: Wger Meal API
description: The meal API from Wger — 3 operation(s) for meal.
humanURL: https://wger.readthedocs.io/en/latest/api/api.html
baseURL: https://wger.de/api/v2
tags:
- meal
properties:
- type: OpenAPI
url: openapi/wger-meal-api-openapi.yml
- type: Documentation
url: https://wger.readthedocs.io/en/latest/api/api.html
- type: APIReference
url: https:
# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wger/refs/heads/main/apis.yml
Every provider here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for providers
9 MCP tools reach this
find_providersBrowse and filter every provider in the catalog.
get_provider_artifactsEvery artifact this provider publishes, grouped by type.
get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
get_provider_ratingPRO — composite, band, trend and facet scores.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This provider
curl "https://apis.io/api/v1/providers/wger"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/wger/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/wger/evidence"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.