That tis the API to Get Streams and will return a stream if the channel is live and nothing if not.
Another alternative is to use EventSub and use Stream.online/offline to store your status in a DB/somewhere instead of calling the API each time someone loads your website. (If API-ing then you want to be using a cronjob and storing in DB/somewhere so you don’t run out out rate limit if 1000 people load your website at the same time)
Yes this is a public data endpoint.
Any ClientID and any token type can fetch this data on the Get Streams endpoint you have indicated