# WorkoutDB API > The exercise database API, done right — ~870 exercises with rich media, fuzzy + full-text > search, combinable filters, and English/Spanish content. WorkoutDB is a freemium REST API. Authenticate with an `X-API-Key` header (create a key in the dashboard). Every response uses the envelope `{ data, meta, requestId }`. Base URL defaults to http://localhost:3100 (production: https://api.work-out-db.com, once live). ## Docs - [Full guide for agents](/llms-full.txt): complete, self-contained reference — auth, envelope, errors, every endpoint with examples. - [OpenAPI 3.1 spec](/openapi.json): machine-readable contract. - [Postman collection](/workoutdb.postman_collection.json): import and go (set the `apiKey` variable). - [TypeScript SDK](https://www.npmjs.com/package/@workoutdb/client): `@workoutdb/client`. - [Answers](/answers): question→answer guides on exercise data, demo video, fitness images, search, AI integration, and pricing. ## Endpoints - `GET /v1/exercises/search` — Ranked search (trigram similarity + full-text rank, accent-insensitive) - `GET /v1/exercises` — List/filter exercises (combinable query params) - `GET /v1/exercises/{idOrSlug}` — Get one exercise by cuid or slug - `GET /v1/bodyparts` — List body parts (localized) - `GET /v1/muscles` — List muscles (localized) - `GET /v1/equipment` — List equipment (localized) - `GET /v1/categories` — List categories (localized) - `GET /v1/meta` — Counts + every filterable value in one call (app-bootstrap friendly)