Get emote url by name, channel by emote prefix, or all emotes dump

I’d like to write a personal service on my local computer in tandem with AutoHotkey so that when I type ::someEmoteName:: it replaces the text with the emote. Kraken had an endpoint for getting a dump of all emotes, as did twitchemotes.com once upon a time, but Helix appears to lack this feature (at least it’s not in the docs), Kraken’s all emotes endpoint has been disabled, and twitchemotes removed their public API altogether.

Ideally I could fetch the url simply by passing a string, but if there’s a way I can type in an emote prefix, e.g. barb, and retrieve the channel info or even just the channel name, e.g. barbarousKing, I could then retrieve the channel’s emotes via the Helix API or scrubbing twitchemotes with puppeteer.

In the worst case, for Twitch channels with Discord servers, I could join the server, type the emote name in my own server in a private channel, and retrieve Discord’s copy of the emote. This approach is hardly ideal. It’s rather limited and Discord always pulls the 4x size of the emote images, meaning my service would need to resize them locally and I would not get the emotes optimized for the 1x and 2x sizes.

Alternatively, I could type emotes available to me in my bot channel’s chat, and retrieve the url that way. this is also not ideal, as I’d like access to emotes for channels I cannot afford to subscribe to.

I suspect since Helix lacks the emote dump public endpoint, this is simply not available–though twitchemotes.com somehow still retrieves all of the emote data, so it is possible.

Usage of Get Global Emotes

and Get Channel Emotes

Should get you what you need.

It does not. Given just the emote prefix/name, I don’t know how to determine the channel in order to use the get channel emotes endpoint.

Then you’d probably use Get User Subscription to check if you are a sub

Or emotesets on from GLOBALUSERSTATE

This would limit me to the channels I’ve subscribed to, and like I said in the OP (in an edit), I can’t afford to subscribe to all of the channels I would like to.

So you are trying to lookup emotes that you can’t use?

Yes. Since I’d merely be pasting the emotes into non-Twitch chat clients on my computer, I’d prefer access to every emote.

There is no practical way what you request.

And in theory might fall under grey area of the TOS.

The API, seems, to be designed to prevent you from what you are trying to do.

I imagine twitchemotes got a C&D hence their API is no more (and/or what their API did is replaced by the helix offering)

Gotchya. That’s what I figured. Thanks!

I just figured out how twitchemotes likely does it. One could periodically retrieve the list of all live streams, filter them to partners and affiliates, then retrieve the emotes for those channels.

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