Show HN: iOS Screen Time from a REST API
thescreentimenetwork.comWe're Oliver and Royce and we're the founders of Clearspace. We build tools to help people reduce their screen time (here’s us two years ago: https://news.ycombinator.com/item?id=35888644)
We get all kinds of requests from users for ways they'd like to use their screen time data.
- “Auto-donate $x to charity every time I exceed a limit or try to bypass it”
- “My 75 Hard group has a screen time requirement, can we set up group visibility?”
- “Let my personal agent know if it’s a good time to tackle things on my todo list”
- “Auto-report large deviations in my screen time to my therapist “
We aren't able to build for all of them, so we're releasing this API.
This is the first time iOS Screen Time is accessible on the web. Apple doesn’t expose it, but since we measure it ourselves, we can - via UI or API. We're launching this API so developers can build all these tools and more. Our goal is to enable more solutions to what we believe is the biggest problem in the world - the misalignment of human attention and intention in the digital world.
Here's a quick demo of setting up and using the API: https://drive.google.com/file/d/1QahETj3xaaIsn0JiNbuqvTaSLdx...
As someone who currently "bricks" his phone and has gamified it a bit by sharing my stats with my brother-in-law who also does that, this is cool. I do think "not spending time on your phone" needs to be celebrated more.
P.S. "bricks" meaning a very strict screentime set up, only basically phone + text is available M-F
I'd love to hear more about how you gamified it what your process is
This is amazing. I've been measuring my mental wellbeing through different data points. Currently manually importing my apple health data into a Jupyter notebook and measuring against my journal sentiment, finances and whatever I can gain access to. This would be another interesting data point.
Very cool. Are you able to get sleep data in there?
I can but the raw data is very noisy. I'm still working my way through it. I'll likely share this in a blog series or via Deepnote/Hex.tech
I've been building ActivityWatch as an open source local-first cross-platform time-tracker that does this too (also with an API).
We even built an app "Thankful" which let's users donate to creators they frequent way back in 2018. Never went anywhere, but I still kinda believe in the idea.
Nice to see you got iOS screen time working! We've tried over the years, but Apple always made it hard. I'll have a look how you approached it.
How (well) does this work cross-device? If I have the Clearspace app on both an iPhone and iPad, does the API aggregate the time as if they were one entity or is it possible to separate the two?
Unrelated to the REST API, I just installed your Clearspace app on my Android phone (Pixel 8 W/ GrapheneOS). I can't use the app without connecting it to my Google account and the app requires network permissions? (There are so many others on the Play Store that will sell your app usage data.) Sorry, but no.
Understandable, but yes we need auth and would rather use third party (google) for that, all things considered. And yes we need the network.
We don't sell your usage data.
Unfortunately, without the Google account I don't even get to the point where I could have a look at your ToS or anything like that.
Regarding auth, would a free tier or trial version or a one-time payment (each without auth) possibly make sense?
Forcing users to have adtech surveillance platform accounts (and agree to TOS of same) to use your app isn’t a good look.
They already have Android phones so the vast vast majority already have Google accounts.
I can see both sides. I want them to not require it but as a developer used to creating lean projects I can understand why they do.
Is this serious? Why is it not a good look?
Remember 95%+ of potential users of this app have not spent a minute concerned about Googles data harvesting.
The alternative is forcing users to create yet another account/password during signup. This always infuriates me as a user - especially in the days before iOS 18 when there was no password manager support on iOS.
It doesn't really feel like "forcing users into adtech surveillance platforms" if they're using Android - they already have a Google account it's literally built into the operating system.
The goal was and is to minimize friction and maximize security. For all the flaws of consumer subscription as a business model, it's beauty is that we don't have perverse incentives. Users pay us to protect their attention so we make money by being good at that. We don't have to or want to sell their data.
Not everyone that has an Android device has a Google account.
Could you just clarify how the data from someone's device gets to this API? Do they have to install something?
Yes - the Clearspace app. https://apps.apple.com/us/app/clearspace-reduce-screen-time/...
Would recommend creating an account in the API docs first because that way when you log into Clearspace you'll get an onboarding for API setup rather than general setup of the app
Maybe other apps in future will report data to the API as well
I love this! I think it would be even better to have a React Native SDK available and the ability to lock/unlock screen time via the API.
This is awesome, but it'd be great if you allowed for apps that we wanted to use more, not less.
I installed it and added my language learning app hoping to be able to use the API to report if I've studied enough. Unfortunately, it assumed I was trying to use this app less and immediately locked it.
Very cool! Are you able to get a breakdown by application?
someone lmk me when they've built the "venmo my friend when I go over 7 hrs in a day" service...i'll sign up immediately
I am not giving some random startup an API permission to make unsupervised payments on my behalf.
Not exactly the same but my app requires you to exercise (climb stairs/bike/cardio etc) to gain screen time points:
https://apps.apple.com/ca/app/run-for-fun-screen-time-focus/...
oh nice - i use the Clearspace step to scroll or pushup to scroll challenges for this: https://apps.apple.com/us/app/clearspace-reduce-screen-time/...
This is awesome, and it doesn’t surveil users either! A+!
Hi, thanks for that interesting tool. Totally unrelated question: I love the UI, did you use a public css framework/theme?
Tailwind but not a publicly available theme
Very cool! Are there plans to make it possible to restrict apps via rest API as well?
Yes if there's interest we'll add API functionality for
- lock/unlock apps
- exclude some apps from total screen time calculation
- get data about specific app usage
The webpage is not very usable on my iOS screen, is that on purpose?
Whoops, fixed thanks.
Wait is this just a proxy through to the clearspace app? Cool concept, might add this to Foqos (open source restrictions app). Is your API open source?
Clearspace is the only data source right now yes. Would love to have other options feeding in. Does Foqos measure total screen time on iOS?
This is great! I am really interested in trying this out. Also, I am wondering, are there solutions similar to this but on MacOS?
For retrieving Mac OS screen time programatically? Not that I'm aware of.
In any Apple device, In settings -> Screen Time there's an option for "share across devices". If that is turned on, all devices will report your cumulative totals. So if you're interested in retrieving your screen time from all your devices, you can turn that on and then your iPhone will report everything, which you could retrieve with this API. But you wouldn't be able to differentiate where the screen time came from.
This looks great, excited to try it out
This is a really cool concept but I unfortunately care too much about privacy to use you as the handler of all of my screen time data. I know that’s partially why y’all mention that it’s not for everybody but I would like to just say it is cool nonetheless!
Can you extend access to everyone with the link?
As in allow everyone with a link to programatically retrieve your screen time data? You can't limit by link at the moment but you can go public and allow anyone to programatically access your screen time data.
thescreentimenetwork.com is effectively a list of people doing just that. Does that answer your question?
no I just meant the google drive link :)
it says 'access denied' for me
fixed
So cool. How does it work?
1. You create an account
2. Log in with that account to the Clearspace app which uses on-device permission to report your data to the API
3. Use API key associated with that account to fetch your data or be notified about changes to it
Does that answer?
Yep. I love this, but does it require using the Cleaspace app / having a paid subscription?
> Does it require paid subscription
No
> Does it require using clearspace
Yes in the sense that it needs to downloaded and logged in on your phone. No in the sense that you don't have to open it or use it after setup
Excellent. Thanks for this!
love this idea a lot
i could not want this more, but ownership over this data is non-negotiable. i would pay a small yearly fee to support the tools that give me the ability to selfhost this.
I wish I had a mac to build this for you, sounds like a fun project