Skip to content

Models

Data classes returned by the API.

User

kickpy.models.user.User(user_id, name, email, profile_picture) dataclass

Represents a Kick.com user.

Channel

kickpy.models.channel.Channel(active_subscribers_count, canceled_subscribers_count, broadcaster_user_id, slug, channel_description, banner_picture, stream, stream_title, category, active_gifted_subscribers_count=0) dataclass

Represents a Kick.com channel.

active_subscribers_count instance-attribute

Active subscribers, including gifted subscriptions.

active_gifted_subscribers_count = 0 class-attribute instance-attribute

Active gifted subscriptions, a subset of active_subscribers_count.

Stream

kickpy.models.stream.Stream(url, key, is_live, is_mature, language, start_time, thumbnail, viewer_count, custom_tags=None) dataclass

Represents a Kick.com stream.

Category

kickpy.models.categories.Category(id, name, thumbnail, tags=None) dataclass

Represents a Kick.com category.

LiveStreamV2

Returned by fetch_livestreams_v2() and fetch_user_livestreams().

kickpy.models.livestreams.LiveStreamV2(id, broadcaster_user, category, channel, has_mature_content, language_code, started_at, thumbnail, title, viewer_count, tags=list()) dataclass

Represents a Kick.com livestream from the v2 livestreams endpoints.

viewer_count instance-attribute

Will be 0 if the streamer has opted not to share their viewer count.

broadcaster_user_id property

Shortcut for broadcaster_user.id.

slug property

Shortcut for channel.slug.

kickpy.models.livestreams.LiveStreamUser(id, username, profile_picture) dataclass

Represents the broadcaster of a v2 livestream.

kickpy.models.livestreams.LiveStreamChannel(slug) dataclass

Represents the channel of a v2 livestream.

LiveStream (deprecated)

Returned by the deprecated v1 fetch_livestream() and fetch_livestreams().

kickpy.models.livestreams.LiveStream(broadcaster_user_id, category, channel_id, custom_tags, has_mature_content, language, slug, started_at, stream_title, thumbnail, viewer_count, profile_picture=None) dataclass

Represents a Kick.com livestream from the deprecated v1 endpoint.

Use :class:LiveStreamV2 with KickClient.fetch_livestreams_v2() or KickClient.fetch_user_livestreams() instead.

LivestreamStats

kickpy.models.livestream_stats.LivestreamStats(total_count) dataclass

Represents livestream statistics.

Page

Returned by cursor-paginated methods (fetch_livestreams_v2(), fetch_categories(), fetch_reward_redemptions()). Iterate it like a list and pass next_cursor back as cursor to get the next page.

kickpy.models.pagination.Page(items=list(), next_cursor=None) dataclass

Bases: Generic[T]

A single page of results from a cursor-paginated endpoint.

Behaves like a read-only list of items (iteration, len(), indexing and truthiness all work). Pass next_cursor back to the same method as its cursor argument to fetch the following page. next_cursor is None when there are no more pages.

has_next property

Whether another page can be fetched with next_cursor.

AccessToken

kickpy.models.access_token.AccessToken(access_token, expires_at, token_type, refresh_token=None, scope=None, token_kind='app') dataclass

TokenIntrospection

kickpy.models.access_token.TokenIntrospection(active, client_id=None, token_type=None, scope=None, exp=None) dataclass

Represents the result of introspecting an access token.

When active is False no other information is returned by Kick.

token_type = None class-attribute instance-attribute

Either "app" or "user".

scopes property

The granted scopes as a list.

ChatResponse

kickpy.models.chat.ChatResponse(is_sent, message_id) dataclass

Represents the response from sending a chat message.

EventsSubscription

kickpy.models.events_subscriptions.EventsSubscription(app_id, broadcaster_user_id, created_at, event, id, method, updated_at, version) dataclass

Represents a Kick.com event subscriptions.

EventsSubscriptionCreated

kickpy.models.events_subscriptions.EventsSubscriptionCreated(name, subscription_id, version) dataclass

Represents a Kick.com event subscriptions created.

Channel Rewards

kickpy.models.rewards.ChannelReward(id, title, cost, description, background_color, is_enabled, is_paused, is_user_input_required, should_redemptions_skip_request_queue) dataclass

Represents a channel points reward.

kickpy.models.rewards.ChannelRewardRedemption(id, redeemed_at, redeemer, status, user_input) dataclass

Represents a channel reward redemption.

kickpy.models.rewards.RedemptionsByReward(reward, redemptions=list()) dataclass

Represents redemptions grouped by reward.

kickpy.models.rewards.MinimalChannelReward(id, title, cost=None, description=None, can_manage=None, is_deleted=None) dataclass

Represents a minimal channel reward in redemption responses.

kickpy.models.rewards.RedemptionUser(user_id) dataclass

Represents a user who redeemed a reward.

kickpy.models.rewards.FailedRedemption(id, reason) dataclass

Represents a failed redemption in accept/reject responses.

KICKs Leaderboard

kickpy.models.kicks.KicksLeaderboard(lifetime=list(), month=list(), week=list()) dataclass

Represents the KICKs leaderboard with lifetime, month, and week rankings.

kickpy.models.kicks.KicksLeaderboardEntry(gifted_amount, rank, user_id, username) dataclass

Represents a single entry in the KICKs leaderboard.

Ads

kickpy.models.ads.AdBreak(id, remaining_ad_breaks) dataclass

Represents an ad break that was accepted by Kick.

kickpy.models.ads.AdBreakStatus(opted_in, ads_blocked, auto_ads_active, remaining_ad_breaks, limits=None, ad_breaks=list()) dataclass

Represents the ad break status of the authenticated broadcaster channel.

kickpy.models.ads.AdBreakStatusItem(id, status, source, break_duration_seconds, created_at) dataclass

Represents a single ad break in the ad break status of a channel.

kickpy.models.ads.AdBreakLimits(max, period_seconds) dataclass

Represents how many ad breaks can be run over a period of time.