Sounds like you should be collecting and caching channel objects for 24 hours, just poke /streams/ to check for online status, using the cached channel object as a base for a offline stream (updating your cached from the online packet).
I’ve been wondering the same thing. At the moment I’m just looping over an array of the channels I want to retrieve information about, with an individual http: request for each one.
Unfortunately, if the channel isn’t streaming at the time of the request, the response doesn’t provide the information I need about the channels. So I’m stuck with doing 25+ separate channel http requests (and requesting the streaming information separately).