What does the JSON response from an exercise API look like?

Every WorkoutDB endpoint returns the same JSON envelope: { data, meta, requestId }. data holds the exercise or list, meta carries pagination and counts, and requestId is there for tracing — so your parsing code is identical across the whole API.

A predictable shape

Consistency is what makes an API pleasant to integrate. WorkoutDB always wraps results in { data, meta, requestId }: a single exercise or an array lives under data, pagination and total counts live under meta, and requestId lets you correlate a response with your logs or a support request. You write your envelope handling once.

Each exercise object carries structured fields — body part, target muscle, equipment, category, difficulty — plus step-by-step instructions and ready-to-use video, GIF, and photo URLs. The full shape is documented in an OpenAPI 3.1 spec, and the @workoutdb/client TypeScript SDK gives you typed access without hand-writing interfaces.

Related questions

Is the response shape consistent across endpoints?
Yes. Every endpoint returns { data, meta, requestId }, so you handle the envelope once and reuse it everywhere.
How do I know the exact field types?
The API ships an OpenAPI 3.1 spec, and the @workoutdb/client TypeScript SDK provides typed models generated from it.

Build it on WorkoutDB

~873 exercises with demo video, ranked search, and four languages — over a clean REST API. Start free: 5,000 requests/month, no credit card.

Keep reading