Avatars / Profile Pictures on `/helix/streams`?

Forgive me if I missed some information but if I wanted to show a list with Avatars/Profile pictures of 10 live streamers. I would have to provide 10 ID’s and then make 2 requests. One to the '/streams/' endpoint and then and 1 to the '/users/' endpoint to get the avatar/profile picture of each user.

User Avatars are public information and I do not see why it can’t be returned via the '/streams/' endpoint. I understand that you may not want to bloat the streams endpoint. But the '/streams/' endpoint can be accessed with 'no scope' and an 'App Access Token'. The '/users/' endpoint is lockdown to a 'User Token' and does not offer ability with 'App Access Token'. Which I understand is probably to protect user data like the 'email' address which is again fair enough. But in order to get the email address you have to pass a scope 'user:read:email' outside of that single piece of information there is no private data which needs the optional scope or real need for a 'user token'.

Ideally, you should be able to hit the '/users/' endpoint with just an 'App Access Token' and obviously the email is not returned or '/streams/' should include the avatar like the previous version of the API.

I looked to see if you use standardized avatar URL’s but also that is not the case. For some reason, Twitch add random numbers to the file names?

A standard URL contract would be great, Then I could just construct a URL: /blah/blah/blah/${username}/avatar.jpg suggested here:

Is it not possible to show a users avatar without making a user login to Twitch? This would be a shame as it means I would not be able to migrate my app. There are many use-cases for this kind of logic and it is used on every page of Twitch without being logged in, see image below for an example.


Is there really no way to do this without forcing users to authenticate with my website? Hopefully, there is?

Thank you for taking the time to read my questions.

That’s exactly how it does work. The users endpoint does NOT require a user access token. You only need a user access token (with appropriate scope) if you want to view their email. If you don’t want to view their email you just use an App Access token and you get back all the data other than their email address.

1 Like

Added a documentation bug ticket on the uservoice


1 Like

Great news and thank you both.

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