Kick hub

Kick Channel API

One slug in, the whole channel out: profile, socials, chat rules, links, badges, recent categories and the live stream when there is one.

GET /v1/kick/channels/{slug}

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

About this endpoint

GET /v1/kick/channels/{slug} returns data.channel with id, userId, slug, url, username, bio, avatarUrl, socials, followers, isVerified, isAffiliate, isBanned, subscription, subscriberBadges, chat, links, recentCategories and livestream.

Channel slugs are case-insensitive and can contain letters, digits, underscores and hyphens. The canonical form comes back in data.channel.slug, which is the value the other channel routes use. An unknown slug returns data.lookupStatus: not_found and data.channel: null. The HTTP status stays 200 because the request itself completed.

Kick Channel API FAQ

How do I look up a Kick channel by slug?

Call GET /v1/kick/channels/{slug} with your Social Fetch API key in x-api-key. Use the slug, for example xqc or pala_okey. Read data.lookupStatus, then data.channel for the profile.

What is in the channel profile?

data.channel includes bio, avatarUrl, url, followers, isVerified, isAffiliate, isBanned, vodEnabled, subscriptionEnabled, subscription.priceUsd, subscriberBadges, chat modes, socials, link panels, recentCategories and livestream. A link panel with no target is omitted; a panel's title and imageUrl are null when the channel data does not include them. livestream is null while the channel is offline.

What happens for an unknown channel?

The response is lookupStatus: not_found with channel: null and HTTP 200. Treat that as a completed miss, not a transport error, and check lookupStatus before storing a row.

How many credits does a channel lookup 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.