Kick hub

Kick Channel Emotes API

A channel's emotes and the shared sets together, so a chat renderer can resolve every code in one call.

GET /v1/kick/channels/{slug}/emotes

1 credit Failed requests are free Found, empty and not-found answers are all charged

About this endpoint

GET /v1/kick/channels/{slug}/emotes returns three lists: data.channelEmotes, the emotes the channel owns; data.globalEmotes, the shared emotes available everywhere; and data.emoji, the shared emoji set. Each entry has id, name and subscribersOnly.

subscribersOnly is true for emotes that only subscribers can use, and null when Kick does not say. An unknown channel returns data.lookupStatus: not_found with all three arrays empty.

Kick Channel Emotes API FAQ

What is the difference between the three lists?

channelEmotes are the channel's own emotes, globalEmotes are shared across Kick, and emoji is the shared emoji set. A chat renderer usually merges all three and looks codes up by name.

What does subscribersOnly mean?

True means only subscribers can use the emote. null means Kick does not say. The field is nullable, so check for true explicitly rather than assuming false.

Does an unknown channel return an error?

No. It returns lookupStatus: not_found with empty channelEmotes, globalEmotes and emoji arrays. The global sets are only attached to a found channel answer.

How many credits does an emote list cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.