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
¶
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
¶
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
¶
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.