The unofficial API for GoPro cameras (The WiFi enabled models)
A note on HERO8: For GoPro Connect (Webcam Mode), use Hero9 commands; For other commands, use Hero7 commands.
This is a community effort to document the API calls between GoPro cameras and GoPro's Smartphone App via WiFi. It has 4 sections for each camera model:
Note: HERO4 camera is now the base for the future API, since the calls will be the same for HERO4 and above.
They did offer a mobile library - but they shut it down. This repository will continue to be updated until GoPro stops releasing cameras and ceases operations.
But... Now they offer BLE/WiFi API documentation, tutorials and examples over at OpenGoPro.
This is an effort to document the mobile app APIs used by GoPro, internally called gpControl APIs or Smarty APIs. OpenGoPro is somewhat limited in what endpoints are available over WiFi. Fortunately they've kept the BLE part 100% identical to what we documented over here.
OpenGoPro only supports the Hero9 Black (at least officially - their BLE commands are compatible with older BLE-enabled cams given the proper characteristic). This repository covers nearly a decade of GoPro camera releases.
This repository will get updates only if the gpControl API is kept available, if the GoPro App ceases to use gpControl and switches to OpenGoPro, what's the point?
Bluetooth is used to turn camera on after WiFi AP is disabled in deep sleep, as well as for turning on/off wifi.
But on Hero9, it's used for status retrieval, all commands and changing settings, turning on,