New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Twitch API #599

Open
bastimeyer opened this Issue Oct 2, 2018 · 5 comments

Comments

Projects
None yet
4 participants
@bastimeyer
Member

bastimeyer commented Oct 2, 2018

As described in another issue earlier this year, Streamlink Twitch GUI will have to switch over to the new Twitch API by the end of the year, as the currently used one (v5) will be shut down at the end of the year:
#549 (comment)

I haven't looked deeply into the changes yet because I wanted to wait first, but a couple of things will have to be removed from the app and other will have to be changed. This isn't too much of a big deal, though.

The big deal here is the rate-limiting of the new API by 120 requests per minute per application.
https://dev.twitch.tv/docs/api/guide/#rate-limits

This is a major issue for Streamlink Twitch GUI, as it isn't just making many requests per user while browsing and using the app (I have always tried to keep the numbers of requests as low as possible), but it is also using its own client-id in Streamlink for requesting the stream data.

I don't have any numbers of how many people are using the app on a daily basis, but since I can see how often the app releases have been downloaded from GitHub and how many times the repo has been cloned, I know that these 120 requests per minute will definitely not suffice, at least during peak times.

Requests for increasing this limit for individual apps can be filed here:
https://dev.twitch.tv/limit-increase/
I'm not sure though if Streamlink Twitch GUI is "suitable" for this, as it's obviously not in Twitch's interest to support applications like this, as it bypasses ads on their site (if we compare the app to their website for browsing streams) and via Streamlink while watching streams.

I will file a request later this year after I have moved the code over to the new API, but in case it will be declined, we will have to look for another solution, like for example adding instructions on how to register a private "Streamlink Twitch GUI" application on Twitch, so that its generated client-id can be used by the user. I'm not sure though if that's against the ToS.

I will update this thread with more infos in the upcoming weeks.

@bastimeyer

This comment has been minimized.

Show comment
Hide comment
@bastimeyer

bastimeyer Oct 2, 2018

Member

Oh, and Streamlink itself will of course also have to implement the new API:
streamlink/streamlink#1346

Member

bastimeyer commented Oct 2, 2018

Oh, and Streamlink itself will of course also have to implement the new API:
streamlink/streamlink#1346

@gravyboat

This comment has been minimized.

Show comment
Hide comment
@gravyboat

gravyboat Oct 2, 2018

Member

@bastimeyer It's probably worth putting the request in before you start all the work just to get a better idea of whether they'll consider it or not in case this impacts design decisions. I've proposed what I think we should send for Streamlink over on streamlink/streamlink#1346 so maybe you can use something similar.

Member

gravyboat commented Oct 2, 2018

@bastimeyer It's probably worth putting the request in before you start all the work just to get a better idea of whether they'll consider it or not in case this impacts design decisions. I've proposed what I think we should send for Streamlink over on streamlink/streamlink#1346 so maybe you can use something similar.

@undeference

This comment has been minimized.

Show comment
Hide comment
@undeference

undeference Oct 5, 2018

As described in another issue earlier this year, Streamlink Twitch GUI will have to switch over to the new Twitch API by the end of the year, as the currently used one (v5) will be shut down at the end of the year

I've seen elsewhere, on the Twitch developer site even, that v5 will be shut down at the end of the year, but https://dev.twitch.tv/docs/v5/ says that v5 is deprecated but has no scheduled removal date (yet they will default to v5 on /kraken/ starting in 2019).

undeference commented Oct 5, 2018

As described in another issue earlier this year, Streamlink Twitch GUI will have to switch over to the new Twitch API by the end of the year, as the currently used one (v5) will be shut down at the end of the year

I've seen elsewhere, on the Twitch developer site even, that v5 will be shut down at the end of the year, but https://dev.twitch.tv/docs/v5/ says that v5 is deprecated but has no scheduled removal date (yet they will default to v5 on /kraken/ starting in 2019).

@bastimeyer

This comment has been minimized.

Show comment
Hide comment
@bastimeyer

bastimeyer Oct 5, 2018

Member

I totally didn't notice that. The Twitch devs must have changed their plans then. They received a lot of criticism for the deprecation of v5 earlier. As I said, I haven't followed the recent developments, but yeah, looks like nothing has to be changed here, at least for now.

New features like the category/stream tags and the deprecation of the communities still makes me want to look into the new API (/helix) though. I also don't know what will happen to the private endpoints of their old API (/api) which is used here for accessing the followed games, subscriptions and channel site panels.

Member

bastimeyer commented Oct 5, 2018

I totally didn't notice that. The Twitch devs must have changed their plans then. They received a lot of criticism for the deprecation of v5 earlier. As I said, I haven't followed the recent developments, but yeah, looks like nothing has to be changed here, at least for now.

New features like the category/stream tags and the deprecation of the communities still makes me want to look into the new API (/helix) though. I also don't know what will happen to the private endpoints of their old API (/api) which is used here for accessing the followed games, subscriptions and channel site panels.

@h1z1

This comment has been minimized.

Show comment
Hide comment
@h1z1

h1z1 Oct 7, 2018

I can understand the rate limiting but considering the last time I checked Steam it was using kraken still, it's wishful thinking on Twitch's end. I changed the clientid expecting they would at some point start targeting appliations. The continious scroll for example would only pull a few streams at a time. Then you have weird things like this:

hmmm

h1z1 commented Oct 7, 2018

I can understand the rate limiting but considering the last time I checked Steam it was using kraken still, it's wishful thinking on Twitch's end. I changed the clientid expecting they would at some point start targeting appliations. The continious scroll for example would only pull a few streams at a time. Then you have weird things like this:

hmmm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment