How do I add an exercise API to a Flutter app?

WorkoutDB is plain REST, so a Flutter app calls it with the http or dio package and an X-API-Key header — no platform channel or native plugin needed. Each exercise response includes video, GIF, and photo URLs you render with video_player or Image.network.

The integration in practice

Because the API is transport-agnostic JSON over HTTPS, Flutter treats it like any other backend. Make a GET to /v1/exercises/search?query=squat with your key in the X-API-Key header, decode the response, and map each item into your model. The envelope is always { data, meta, requestId }, so your parsing code is identical across every endpoint.

For the demonstration clip, feed the returned mp4 URL straight into the video_player package; for a lightweight thumbnail loop, use the GIF URL with Image.network. The media is served over a CDN, so it streams the same on iOS and Android.

Related questions

Is there a Flutter/Dart SDK?
There is no Dart package, but you do not need one — the API is standard REST/JSON and works with http or dio in a few lines. An OpenAPI 3.1 spec is published if you prefer to generate a Dart client.
Will the videos play on both iOS and Android?
Yes. Videos are mp4 (with webm on higher tiers) served over a CDN, which the video_player package plays natively on both platforms.

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