You would need to call the Get Streams endpoint https://dev.twitch.tv/docs/api/reference/#get-streams, as this contains the viewer_count, and also will only return stream data while the stream is live so can be used to calculate uptime.
Yes, this is exactly how many apps do it. How frequently you poll the endpoint depends on the needs of your app, although because all Twitch endpoints use caching there is no point requesting the same data faster than once per minute.
The default rate limit is 800 requests per minute, but as I previously mentioned there is caching so just for getting a single streams data there’s no need to use more than 1 request per minute.