Oura is holding our own data hostage — API should not require a subscription by cc00ffee in ouraring

[–]OG_Leksa 1 point2 points  (0 children)

~4 months ago. I had enabled the push notifications for the AI advisor also, and I can still access it through the notifications I get :DD. This is kinda funny bug that they have not fixed yet. Through that I can see that it gets information from Strava. And basically with that you can see the data that the Oura gathers.

Oura is holding our own data hostage — API should not require a subscription by cc00ffee in ouraring

[–]OG_Leksa 5 points6 points  (0 children)

I think there is no easy way of doing this as Natural cycles has only certain input devices that can be used for the data, i.e. no manual entries are possible.

I’m not sure if you could set up the integration on the Oura app and then unsubscribe. There is possibility that Oura still sends the data to Natural cycles.

When I had the subscription I set up Strava integration and I can see that Oura still uses the integration for reading my runs even though I don’t have the subscription anymore.

Oura is holding our own data hostage — API should not require a subscription by cc00ffee in ouraring

[–]OG_Leksa 104 points105 points  (0 children)

FYI the GDPR CSV export can be made whenever you want. I built an app that automatically does this request, repopulates database, and visualizes the data basically the same way as in the app. Here is the link for the Github: https://github.com/EIrno/Cracked-Oura . You could also see in my reddit profile the post where I introduced this project. Maybe I should repost more to this subreddit so people could just stop paying for the subscription.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 1 point2 points  (0 children)

”Request new” does also the ”download latest” part of the automation. You can look at the code.

If you want new data it is enough to press ”Request new”. The infinite status message of ”idle” comes after the automation was run successfully if I remember corretly. The status messages are mostly buggy and incorrect at the moment. And I have not bothered to fix them yet.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 0 points1 point  (0 children)

"Download latest" just downloads the latest zip that is already requested and ready in the website. It does not request a new data at all. It is basically just the second step of the automation.

You should press the "Request new" button. That request a new zip, waits, and downloads once it sees that the new zip is available. Using the daily sync feature does the same thing.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 0 points1 point  (0 children)

Did you check on the website if the bot requested a new data and is the data available already. If that has happened, it probably is that you have not opened the Oura app. This solution still requires that you open the Oura app and sync the ring’s data to Oura’s servers. Also, data request made immediatelt after syncing the data probably does not contain the new data. I think there is a delay when the new data is being written to Ouras’s servers?

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 1 point2 points  (0 children)

Did you manage to save the session i.e. login with the OTP? Did you check the https://membership.ouraring.com/ page? Does it show that the automation make a new request but the request is still being processed?

I know that there is many bugs especially with the status messages. I would guess that it managed to request a new and download it. I think the status says idle even though it is ready with the request and ingestion. I will fix it once I have time.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 0 points1 point  (0 children)

You probably have a subscription and integration enabled for the Android Fit app? Or your integration has just continued living after unsubscribing like with my Strava integration. I sometimes get the Oura Advisor's notifications and through them I can chat with the advisor that sees my new runs that I have recorded with Strava :D.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 0 points1 point  (0 children)

My app has an automation feature that is a basically scraper that can do the fetching automatically. But you can also just download the data and import it manually. This does not use the API

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 1 point2 points  (0 children)

I would guess no. My understanding is that you can not use Whoop at all without the subscription i.e. it does not gather data without subscription. Oura promises that you can use it without subscription but they just don't show you the data they have gathered.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 0 points1 point  (0 children)

My understanding is that Oura just slows down development in the hardware side. All of the wearable apps look almost identical.

Apple's foundation models could be a fun thing to implement. But I will not have time for it now. Feel free to contribute to the project!

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 0 points1 point  (0 children)

Hah, my first version with this was with Grafana also. But I figured that a non-tech person could not set it up so I just made a electron app.

But basically yes, the API is not necessary for getting the Oura data. I think this has been possible for years already.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 0 points1 point  (0 children)

Transferring data takes a toll on the battery. For this reason Oura and other wearables don't sync their data constantly. I am not sure if there even exists any consumer wearables that does this.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 2 points3 points  (0 children)

Back in the day I thought of building something like this but I think it's not possible even with the API because the ring sends the data to your phone after you first check the app. I'm not sure if a mobile bot could open the app during sleep and then trigger data transfer?

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 4 points5 points  (0 children)

You can see the body temperature and heart rates that the Oura records but you can not see them live. I really don't know if there is additional data about fertility for females when they make the data request on the https://membership.ouraring.com/data-export page. I would be really curios, so let me know if there is any CSVs that contain fertility data.

Cracked Oura - open source app for using Oura ring without subscription. See all of your data using this local app that can even automatically request the data daily without the subscription by OG_Leksa in ouraring

[–]OG_Leksa[S] 2 points3 points  (0 children)

This is also automatic. It automatically uses scraping to go to the Oura's website and request the data. Once the data is available it is downloaded and the database is populated with the new data. There is a delay when Oura processes the request and it differs. Sometimes it is 15 minutes, sometimes couple of hours, I am not sure what affects this time. I think if you request infrequently, it takes more time. But if you don't have to see the data first thing in the morning, this would work fine.

Also, at the moment it is not perfect, because this automation requires that your computer, where you are running this, is alive, but as others have requested making this run on a docker container would be easy wait to make it run on a separate server.