Api.twitch.tv/kraken/streams/ endpoint unstable

One last note, one of my bot users from Germany reported similar issues. He was also having issues resolving tmi.twitch.tv around 6:20UTC, and I see you reported issues around the same time. I would think some sort of general network outage was going on, but I have no real proof of that.

Sure, i am using curl error code implementation to catch curl and http errorcodes.

I check the forums twice a day: when I start my day and when I’m close to finishing my day. Hence, my silence. :slight_smile:

What HTTP status codes are you getting for the offline and timeout cases? We haven’t had any other reports of these outages, but I’m investigating internally to see what might cause this.

i get curl errorcode 0 (all ok) so curl went ok, but the data is null. i have not experienced any timeout of my request (any httperrorcodes) but it seems as internally twitch times out and responses stream:null.

Experienced the same this morning with crosschecking hurl.it and also had stream:null instead of data but stream being perfectly fine. Both channels are still live and online without any offlinetime nor different ā€œcreated_atā€. Both channels are non-partner german streams and data is requested from 2 different german IPs from kraken by curl with client-id provided (identified).

UTC+2:
ERROR - 2016-05-27 09:10:45 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 09:10:30 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 09:05:37 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 09:05:22 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 09:05:06 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:51:00 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:50:44 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:50:28 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:45:36 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:45:24 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 08:45:20 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:45:09 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 08:25:36 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:25:20 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:25:04 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:15:35 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:15:26 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 08:15:19 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:15:11 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 08:14:55 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 08:10:11 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:09:55 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 08:09:39 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 07:59:01 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 07:58:46 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 07:58:37 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 07:58:30 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 07:58:21 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 07:50:24 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 07:50:17 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 07:50:09 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 07:50:01 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 07:49:53 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-27 07:49:45 --> stream offline betz0r with data in last minute

@DallasNChains can you crosscheck that with your internal data? response is stream:null as stream is offline but stream is indeed online, also experiencing this on twitch.tv as offline-overlay pops in.

Not sure if this is related to @betz0r’s issue , but we experienced issues with /streams/ at 2016-05-27 05:40:00 through 2016-05-27 06:30:00 UTC. Many of the live broadcasts went missing, and I presume would of returned null from /streams/:channel

In the top 100 alone you can see omissions from 2016-05-27 05:30:00 to 2016-05-27 06:10:00.json to 2016-05-27 06:40:00. There were multiple instances in that range where we didn’t see nl_Kripp, who at the time had over 30,000 viewers.

1 Like

@jwmalara where is your server calling kraken located? did you track kraken response time during these errors?

Called from AWS US-West-1, I don’t track the response times of the individual calls but they were inline with what we usually see.

Also confirmed that our 2nd platform in Linode’s Fremont, CA data center experienced the same issue.

Confirmed second fail of api service today:

UTC+2
ERROR - 2016-05-27 15:34:59 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 15:34:43 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 15:34:28 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 15:31:24 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-27 15:31:08 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-27 15:20:53 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-27 15:20:37 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-27 15:20:21 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-27 15:16:24 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-27 15:16:09 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-27 15:11:15 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-27 15:11:00 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-27 15:10:57 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 15:10:41 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 15:10:25 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 15:06:06 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-27 15:06:00 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 15:05:50 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-27 15:05:44 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 15:05:28 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:58:48 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:58:32 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:58:16 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:50:44 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:50:28 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:50:12 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:46:07 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:45:51 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:45:27 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:45:11 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:44:56 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:38:15 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:37:59 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:37:44 --> stream offline betz0r with data in last minute
ERROR - 2016-05-27 14:37:39 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:37:23 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:37:08 --> stream offline smerlowtv with data in last minute
ERROR - 2016-05-27 14:36:01 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-27 14:35:45 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-27 14:35:30 --> stream offline cillidbaaang with data in last minute

during this period another channel ā€œhornisse86ā€ was still live and its api calls brought no errors so data was received.

How many channels are you checking and how often? Your logs show a lot of requests in a fairly short timeframe.

cURL error code 0 doesn’t necessarily mean all OK. That error code can mean the request was successful or that the connection was closed before the remote server could return data. I’m guessing you’re hitting the latter case. What is your timeout duration?

Earlier you mentioned a timeout, which is why I ask. Regardless, you should have some HTTP status code. What are the status codes of your requests? 200? 408? Something else?

I am calling streams/:channel endpoint at max 12 channels each every 15s from same IP. No other api calls are made.

I only catch these http errorcodes:
if (($httpdStatus == 403) || ($httpdStatus == 404) || ($httpdStatus == 408) || ($httpdStatus == 0) || ($httpdStatus == 500) || ($httpdStatus == 502) || ($httpdStatus == 503) || ($httpdStatus == 504) || ($httpdStatus == 505) || ($httpdStatus == 509))

Only then an log message is generated, i added httpstatuscode now to log output to tell you the regarding http status if apicall fails.

My curtl http-accept-timeout is 10s and my curl response-timeout 30s.

@DallasNChains / @betz0r Same problems that I mentioned above from 5:20am - 6:40am PDT this morning.

@jwmalara, Are your logs all from the same endpoint? I noticed that the first log is an object compared to the second and third being an array. Just want to make sure I’m comparing the same data.

@DallasNChains My apologies, some processing was done on what I originally posted, but I’ve updated the gists with the raw response including the metadata.

I can grab some responses from this morning if it helps

@jwmalara, That’d be awesome. Does this always happen during the same span of time?

@DallasNChains

I’ve seen the issue pop up rarely and intermittently in the past but this is the first time I’ve noticed it happen consistently in months.

It occured around the same time on the 25th and 26th, around 11pm (PDT). This morning it occurred at 5:20am. I’ll going to DM you the details and responses.

Same issue again today:

UTC+2
ERROR - 2016-05-28 14:38:25 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:38:13 --> stream offline lisparisienne with data in last minute
ERROR - 2016-05-28 14:38:09 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:38:05 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:37:58 --> stream offline lisparisienne with data in last minute
ERROR - 2016-05-28 14:37:53 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:37:49 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:37:42 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-28 14:37:33 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:37:26 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-28 14:37:11 --> stream offline hornisse86 with data in last minute
ERROR - 2016-05-28 14:36:52 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:36:36 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:36:21 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:34:59 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:34:43 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:32:59 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:32:44 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:32:28 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:31:58 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:31:42 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:31:27 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:27:47 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:27:31 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:27:22 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:27:07 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:26:51 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:08:10 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:08:02 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:07:55 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:07:54 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:07:47 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:07:39 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:07:38 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:07:22 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 14:02:57 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:02:54 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:02:41 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 14:02:38 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 14:02:31 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:02:16 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 14:02:00 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:58:14 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:57:58 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:57:42 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:57:38 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:57:32 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:57:22 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:57:16 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:57:06 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:57:00 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:47:56 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:47:40 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:42:50 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:42:45 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:42:34 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:42:29 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:42:14 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:38:15 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:37:59 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:37:26 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:37:11 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:36:55 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:32:50 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:32:50 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:32:34 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:32:34 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:32:28 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:32:18 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 13:32:12 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:31:57 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:22:49 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:22:33 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:22:17 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 13:12:52 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:12:36 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:12:20 --> stream offline ggsoundjack with data in last minute
ERROR - 2016-05-28 13:02:15 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:01:59 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 13:01:44 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 12:52:45 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 12:52:33 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 12:52:29 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 12:52:18 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 12:52:13 --> stream offline kchidoo with data in last minute
ERROR - 2016-05-28 12:52:02 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-28 12:22:53 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 12:22:37 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 12:22:21 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 12:07:27 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 12:07:11 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 12:06:55 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 11:57:30 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 11:57:15 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 11:56:59 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 11:52:35 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 11:52:19 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 11:52:03 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 11:42:51 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 11:42:36 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 11:42:20 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 11:42:18 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 11:42:03 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 11:41:47 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:42:54 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:42:38 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:27:31 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:27:16 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:27:00 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:22:13 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 10:21:57 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 10:21:41 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 10:17:48 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:17:35 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 10:17:32 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:17:19 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 10:17:16 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:17:15 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:17:00 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:16:44 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:12:27 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 10:12:24 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:12:11 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 10:12:08 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:07:00 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:06:44 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:06:28 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 10:02:23 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:02:07 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 10:01:51 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 09:52:27 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 09:52:12 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 09:52:07 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 09:51:56 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 09:51:51 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 09:51:36 --> stream offline germanbolle with data in last minute
ERROR - 2016-05-28 09:27:33 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 09:27:17 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 09:27:01 --> stream offline betz0r with data in last minute
ERROR - 2016-05-28 09:17:37 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 09:17:21 --> stream offline xhackforeverxdx with data in last minute
ERROR - 2016-05-28 09:17:05 --> stream offline xhackforeverxdx with data in last minute

for every logentry the response data is NULL.

@DallasNChains today i got an 503:

ERROR - 2016-05-28 20:36:16 --> stream offline juriabzianidze with data in last minute
ERROR - 2016-05-28 20:36:16 --> twitch.php: 0 503

Aaaand it’s happening again:

UTC+2
ERROR - 2016-05-29 13:39:02 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 13:39:02 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 13:38:46 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 13:34:56 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:34:41 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:34:25 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:34:12 --> stream offline enigmagaminghd with data in last minute
ERROR - 2016-05-29 13:33:56 --> stream offline enigmagaminghd with data in last minute
ERROR - 2016-05-29 13:33:40 --> stream offline enigmagaminghd with data in last minute
ERROR - 2016-05-29 13:29:32 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:29:17 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:29:01 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:24:42 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 13:24:26 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 13:24:11 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 13:14:43 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 13:14:27 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 13:14:26 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 13:14:11 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 13:13:55 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 13:04:55 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:04:39 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 13:04:23 --> stream offline cillidbaaang with data in last minute
ERROR - 2016-05-29 12:59:34 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 12:59:19 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 12:59:03 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 12:55:00 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 12:54:44 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 12:49:52 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 12:49:37 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 12:44:44 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 12:44:29 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 12:44:13 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:54:50 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:54:34 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:54:18 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:14:52 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:14:36 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:09:44 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:09:30 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 11:09:28 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:09:14 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 11:09:13 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 11:08:58 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 10:54:21 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:54:05 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:39:16 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 10:39:00 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 10:38:44 --> stream offline betz0r with data in last minute
ERROR - 2016-05-29 10:24:37 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:24:21 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:19:29 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:19:13 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:14:21 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:14:05 --> stream offline nenzar with data in last minute
ERROR - 2016-05-29 10:13:50 --> stream offline nenzar with data in last minute

I feel like it should be mentioned that you should not be calling any one endpoint more than once a minute because the caches do not update any faster than that, and sometimes even slower, and increases the chances of getting different servers giving you different responses.

Continuing the discussion from Api.twitch.tv/kraken/streams/ endpoint unstable:

I never heard of caching for a whole minute, but it should be ok as i cache on my side for around 40s only if no data is retreived i try to call the same endpoint every 15s and i am way lower than the overall 1request/s bottleneck like twitch stated in their api doc.