Add game title and avatar to /helix/streams?

Hello,

I’m building on an app but ran into a roadblock.
As v5 of the API is deprecated I did the only logical thing and went ahead and used the new API.
Now the last piece is to get the game title, which isn’t available anywhere?
It is on the roadmap, labeled as “exploring”, but having to look it up separately ain’t optimal, imo.

Basically I wanna display a list of live streams, including avatar and the game title.
Should that really require 3 api requests? It’s such a common use case.

Can we please get the game title + avatar url added to /helix/streams?

^ I agree

You say it’s ‘such a common use case’, can you provide some examples of all the places that would need it? I’m just curious because personally I don’t want to see this new API being bloated with redundant fields (which I believe was something Helix was trying to avoid), when from my experience it would only be a very small set of developers that would need to have the game title and avatar included in every single streams request result.

An additional API request is quite insignificant when you consider that a games name will be infrequently changing and so is something that can easily be cached and stored so that to translate a game ID into a name can be done on your side, and not through Twitch. Same for an avatar too. And even if for whatever reason you don’t store a map of game ID’s to game names, you still don’t need the game name returned every single request to the stream because if the game ID didn’t change from the last time you polled the stream, the game name didn’t change either so you would only need to make additional requests to the games api when the game ID changes.

Sure, I could cache it, as you say, they won’t change often.

But even then it would still require additional requests, comparing to v5 which just needs 1.

My app runs client side and as I see it I currently got 2 options, after they make the first request to /helix/streams in order to get the remaining info (avatar + game).

  1. Cache all avatar urls and game titles. Resulting in 1 request to twitch and a 2nd to my own server.
  2. Skip my server. Resulting in 3 requests to twitch instead from the client.

None of the alternatives are optimal, in my opinion.

Neither is there a way to look up the game title from a game id, currently.

Some examples.

On every page on twitch.tv,
the homepage, the sidebar, teams-page, etc.

http://www.speedrunslive.com/

Shout-out commands in chat are one common use case for game titles “Check out twitch tv/whoever, last seen playing whatever

2 Likes

All of my own use cases for the /streams/ endpoint is wanting to know what streams are currently live, and the name of the game that stream is playing. I understand wanting to keep the results as bloat free as possible. But I think this would be worth it.
As for caching the games locally for our own look ups, is there even an endpoint to do that in v5? Since helix/games/ is not live yet. Am I missing something? All I see it top games…

Officially there’s only this, which returns the top 10 games, as far as I know.

/kraken/streams only returns the game title, while /helix/streams only returns the game id. Unless the ID’s are synced with GiantBomb (which according to the docs they ain’t?) the only way to map out ID => TITLE is to hit both API’s with the same user ids :confused:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.