You can download my [Insomnia](https://insomnia.rest/) API collection [at this link](https://github.com/xfarrow/tapo-camera/blob/main/secret-apis/TapoCameraAPIs.yaml). The collection is not complete yet.
Each API call is in the form `https://{camera_ip}/stok={stok}/ds`, hence you need your camera's IP and a token, called stok. You can obtain the stok by calling `GetStok`. Keep in mind that this token expires every `x` minutes (I did not test the actual expiration time yet).
The APIs provide more pieces of information than the official app. For example the camera somehow geotagged itself (I never gave the permission to the app to use location services, probably the camera is using public IP's location to determine its position). This is not clearly shown to the end user, and carries privacy and security implications. This further proves the necessity to create libre solutions for these cameras.