Case study
zwift-api: mapping Zwift's private data endpoints
zwift-api maps selected private Zwift HTTP data interfaces and implements a read-only Node client for profile, achievements, events, quests and catalogue data. Its documentation records proxy-captured endpoints and protobuf wire decoding without schemas. The author reports that epic-challenge progress travels over a realtime UDP path rather than the mapped HTTP endpoints.
- Targets
- Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 1
- Last commit
- 2026-09-11
- Language
- JavaScript
- License (GitHub)
- MIT
GitHub data as of 2026-11-10
Evidence
- Observed
- Code, documentation and a download method observed; no demo found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Node.js 18 or later; account endpoints require the user's Zwift credentials.
- Limits: The client is read-only; epic-challenge progress is outside its HTTP endpoint coverage.
- License: MIT license.
Cite
BibTeX
@misc{zwift-api-case,
title = {{zwift-api: mapping Zwift's private data endpoints}},
howpublished = {\url{https://github.com/noerdk/zwift-api}},
url = {https://github.com/noerdk/zwift-api},
urldate = {2026-11-08},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/zwift-api-case/}}
}Plain text
zwift-api: mapping Zwift's private data endpoints. https://github.com/noerdk/zwift-api (accessed 2026-11-08). Awesome REA entry: https://awesomerea.org/resources/zwift-api-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · noerdk/zwift-api · Revision ebd4869
- CONTRIBUTING.md GitHub · noerdk/zwift-api · Revision ebd4869
More in Protocols
- Gear VR Controller: decoding Samsung's BLE remote protocol · Case study
- Acer Predator Helios 16: reconstructing Linux lighting control · Case study
- Powerology AM8268N: reconstructing a USB display protocol for Linux · Case study
- SuperCam Thermal Viewer: reconstructing QuanLi camera streaming · Case study
- ktctl: reconstructing FiiO JA11 USB equalizer control · Case study
- AppleAVE2: reconstructing the IOKit wire format and driver validation path · Case study