· 16 min read
Kick Channel Scraper: 66 Data Fields, Up to 1,000 Free Results/Month
Each record from Kick Channel Scraper carries up to 66 output fields, providing detailed information about Kick.com streamer channels, including profile data, follower counts, live status, past broadcasts (VODs), clips, gift leaderboards, custom emotes, and the full category/subcategory taxonomy. This Actor retrieves data directly from Kick's public JSON API, requiring no login, cookies, or proxies. It's a powerful tool for researchers, analysts, and content creators looking to understand the Kick streaming ecosystem. However, it is not suitable for users who require search functionality for channels or videos, as this is not a supported feature.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open Kick Channel Scraper on Apify and run the prefilled example.
How reliable is Kick Channel Scraper in production?
Across the last 30 days of public runs on the Apify platform, Kick Channel Scraper recorded 365 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 365 | 100.0% |
| Failed | 0 | 0.0% |
| Aborted by the user | 0 | 0.0% |
| Timed out | 0 | 0.0% |
| Total | 365 | 100.0% |
No run failed or timed out in the last 30 days. Keep a retry and an alert on scheduled runs all the same: a clean month is a record, not a guarantee.
What does it cost to run Kick Channel Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. No run failed or timed out in the last 30 days, so the list price is a fair budget; keep a retry in place all the same.
The primary driver of cost is the number of results returned, which depends on the maxItems input control for most modes, or the number of channelSlug values provided. To estimate costs, perform a small test run with a low maxItems (the example input caps maxItems at 20, costing at most $0.10 in result charges) and evaluate the number of records produced before scaling up. This allows you to confirm the data structure and relevance without incurring significant charges.
How do you run Kick Channel Scraper from the API?
The schema marks 1 of its 7 controls as required: mode. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for Kick Channel Scraper, so the request works once your token is in place.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~kick-channel-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"channel","channelSlug":"xqc","clipSort":"date","clipPeriod":"all","clipCategory":"","subcategoryCategory":"","maxItems":20}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "channel",
"channelSlug": "xqc",
"clipSort": "date",
"clipPeriod": "all",
"clipCategory": "",
"subcategoryCategory": "",
"maxItems": 20
}
run = client.actor("crawlerbros~kick-channel-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "channel",
"channelSlug": "xqc",
"clipSort": "date",
"clipPeriod": "all",
"clipCategory": "",
"subcategoryCategory": "",
"maxItems": 20
}
const run = await client.actor('crawlerbros~kick-channel-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.
Which Kick Channel Scraper inputs matter, and which can you skip?
The mode control is required and determines the type of data to fetch, from channel profiles to clips or leaderboard entries. The channelSlug control is essential for most modes that target specific streamers. For a first run, you should specify a mode and a single channelSlug to get a feel for the output. The clipSort, clipPeriod, clipCategory, and subcategoryCategory controls are for filtering global clips and subcategories; these can be left at their defaults for initial exploration.
mode(string): What to fetch. Default:"categories".channelSlug(string): Kick channel/streamer username, e.g.xqc,adinross,trainwreckstv. Required forchannel,videos,leaderboard,emotesmodes. Leave blank forclipsglobal trending orsubcategories/categories/leaderboard-less browsing. Default:"".clipSort(string): Sort order for global trending clips. Ignored whenchannelSlugis set (channel clips are returned newest-first by the API). Default:"date".clipPeriod(string): Time window for global trending clips. Ignored whenchannelSlugis set. Default:"all".clipCategory(string): Restrict global trending clips to one top-level category. Ignored whenchannelSlugis set. Default:"".subcategoryCategory(string): Restrict the subcategory browse list to one of Kick's 6 top-level categories. Default:"".maxItems(integer): Hard cap on emitted records (ignored bychannelmode, which always emits exactly 1 record). Default:20.
Fixed-choice controls: mode accepts channel (Channel profile), videos (Channel VODs (past broadcasts)), clips (channel or global trending), subcategories (Browse subcategories (game/stream tags)), leaderboard (Channel gift leaderboard (top gifters)), categories (Top-level categories (all 6)), emotes (Channel emotes (channel-specific set)); clipSort accepts date (Newest first), view (Most viewed); clipPeriod accepts day (Past day), week (Past week), month (Past month), all (All time); clipCategory accepts "" (Any category), games, irl, music, gambling, creative, alternative; subcategoryCategory accepts "" (Any category), games, irl, music, gambling, creative, alternative.
What does Kick Channel Scraper return?
The records returned by Kick Channel Scraper are rich in detail, providing everything from a streamer's follower count and social links to individual VOD metadata and top gifter lists. This output is ideal for building analytics dashboards, content aggregation systems, or conducting detailed research on the creator economy. It conspicuously does not contain private viewer data, direct contact information for streamers, or real-time chat logs.
recordTypechannelvideoclipsubcategoryleaderboardEntrycategoryemoteslugchannelIdusernamebioprofilePicUrlfollowersCountverifiedisAffiliateisBannedvodEnabledsubscriptionEnabledsocialsbannerUrlchatroomisLivestreamTitleviewerCountstartTimestreamThumbnailUrlkickUrlvideoIdchannelSlugtitlelanguageisMaturedurationSecondsviewscreatedAtthumbnailUrlstreamUrlvideoStatusvideoUrlclipIdprivacylikesclipUrlchannelUsernamechannelProfilePicUrlcreatorUsernamecreatorSlugparentCategorysubcategoryIdnamedescriptionisPromotedviewersperiodallTimeweekmonthrankuserIdquantitycategoryIdiconemoteIdsubscribersOnlyemoteUrl
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Kick Channel Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Select your desired
mode. Start withchanneland a singlechannelSlugto understand the output structure for a specific streamer's profile. - Examine the
channeloutput: confirm fields likefollowersCount,isLive, andstreamTitleare populated as expected for an active streamer. - Switch to
videosmode with the samechannelSlugand amaxItemsof 5. Verify thattitle,durationSeconds, andviewsappear for each VOD. - If collecting global trending clips, set
modetoclipsand leavechannelSlugblank. Experiment withclipSort,clipPeriod, andclipCategoryto see how the results change. - Check the
clipsoutput for variety in categories and channels, ensuring the filters (clipSort,clipPeriod,clipCategory) are working as intended. - For bulk data collection, expand your
channelSluglist or increasemaxItems(up to 2000) for relevant modes, always monitoring output consistency. - Regularly review the
recordTypefield in your dataset to ensure each entry matches themodeyou intended, especially when combining different collection types in a single run.
How do you apply it? Three worked playbooks
These are Kick Channel Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Streamer analytics
Outcome: Track a creator's follower growth, live status, and VOD/clip performance over time
Configure: Set mode to channel and specify the channelSlug of the creator. For VODs, set mode to videos with the same channelSlug and a maxItems value, e.g., 50. For clips, use mode clips with the channelSlug and a maxItems of 50.
Working method: Begin by fetching the channel profile for a specific streamer. Then, schedule separate runs for their VODs and clips, storing the results with timestamps. Compare followersCount over time from channel profiles, and analyze views on VODs and clips to assess content performance and trends. Look for correlations between live status and follower growth.
Deliverable: A time-series dataset of channel profiles, VODs, and clips for one or more streamers, showing changes in follower counts, live events, and content engagement metrics.
Stop condition: Channel profile data for a specific channelSlug consistently returns with empty followersCount or isLive status, indicating a data source issue.
Use case 2: Content aggregation
Outcome: Pull recent VODs and clips for a highlight roundup
Configure: Set mode to videos or clips. If for a specific channel, provide its channelSlug. For global trending clips, omit channelSlug and set clipSort to view, clipPeriod to week or day, and maxItems to 100.
Working method: Start with a targeted run using mode=videos for a specific channelSlug to identify high-performing VODs. For trending content across Kick, set mode=clips with no channelSlug, sorting by view for the day or week. Evaluate the returned titles, views, and thumbnails to select content for your highlight reel. Combine results from both VODs and clips to create comprehensive roundups.
Deliverable: A curated list of video and clip metadata (titles, URLs, thumbnails, views) suitable for generating highlight summaries or news feeds.
Stop condition: Returned VODs or clips consistently have zero views or extremely short durationSeconds (e.g., less than 30 seconds), indicating irrelevant or malformed content.
Use case 3: Creator-economy research
Outcome: Analyze gift-leaderboard data to study viewer spending behavior
Configure: Set mode to leaderboard and provide the channelSlug of the streamer whose gift economy you want to study. Leave maxItems at its default for a comprehensive view.
Working method: Execute runs for mode=leaderboard across a selection of channelSlug values representing different streamer tiers or content types. Collect the data over several weeks or months, focusing on username, quantity, and period. Compare gifting patterns (all-time, weekly, monthly) across various channels to identify high-value viewers and analyze engagement trends related to gifting behavior. Look for specific usernames appearing frequently across different leaderboards.
Deliverable: A dataset of gift leaderboard entries for multiple channels, showing top gifters and their contribution quantities, categorized by period, suitable for quantitative analysis of viewer spending.
Stop condition: Leaderboard data consistently returns the same set of users and quantities across different period filters (e.g., week and month show identical results), suggesting a caching or data refresh issue upstream.
What breaks, and how do you design around it?
- Over the last 30 days, 0.0% of public runs failed and 0.0% timed out. Build retries and alerting around those rates rather than assuming every run completes.
When collecting VODs, be aware that Kick's API only returns the most recent broadcasts, not a full historical archive; you will need to schedule repeated runs to capture new VODs as they appear. For subcategories, the API has an internal ceiling around 200 records per query; plan to filter by subcategoryCategory if you need to browse specific niches more deeply. Global clips filtered by niche categories may take longer to collect a large maxItems due to the distribution of content; consider lowering maxItems or running multiple times if you encounter long run times.
When should you not use Kick Channel Scraper?
This Actor is not the right choice if your primary need is to monitor real-time chat interactions or obtain direct contact information for streamers or viewers. Kick's public API, which this Actor uses, does not expose real-time chat data or private user contact details, focusing instead on public channel metrics and content. If you require real-time chat analysis, you might need to explore dedicated streaming analytics platforms that integrate directly with Kick's chat API (if available and accessible). For obtaining contact details, an alternative approach might involve using publicly available social media scraping tools like Instagram Followers & Following Scraper or Facebook Followers & Following Scraper to find associated social media profiles, then attempting to locate contact information through those channels. If you need comprehensive Twitch data, the Twitch Scraper or TwitchTracker Analytics Scraper would be more appropriate.
What should you check before trusting the output?
- Check for missing
streamTitleorviewerCountinchannelmode records whenisLiveis true; this could indicate a temporary API issue. - Look for
videorecords withdurationSecondsas zero whenvideoStatusisavailable; this might point to a corrupted VOD entry. - Inspect
cliprecords for inconsistentcreatedAttimestamps, especially when usingclipSortbydate, to ensure correct chronological ordering. - For
leaderboardentries, verifyquantityvalues are positive andusernamefields are not empty, as zero-quantity or anonymous entries are usually irrelevant. - When collecting
emotes, confirm thatemoteUrlfields resolve to valid images andsubscribersOnlyflags are correctly set. - If
maxItemsis used withclipsorsubcategoriesmode, ensure the number of records returned is close to or exactlymaxItems, unless an upstream limit is reached.
None of this proves a record is correct. It gives a scheduled Kick Channel Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What kind of data can I get about a streamer's live status?
When fetching a channel profile using mode=channel, the output includes isLive, streamTitle, viewerCount, and streamThumbnailUrl fields. These provide real-time information about whether a streamer is currently broadcasting, the title of their stream, how many viewers they have, and a link to the live thumbnail. If the channel is offline, isLive will be false and the other live-specific fields will be omitted from the record.
How can I get all available VODs for a channel?
Kick's public API for VODs (past broadcasts) only returns the most recent items per channel, and it does not offer further pagination to access older VODs. This Actor surfaces all the VODs that the API exposes. To collect as many as possible, set mode to videos, specify the channelSlug, and use the highest allowed maxItems value (2000), but be aware that the actual number returned may still be limited by the API's internal ceiling for recent VODs.
Does this Actor provide global trending clips or just channel-specific ones?
This Actor supports both. If you set mode to clips and provide a channelSlug, it will return clips specific to that channel. If you set mode to clips but leave channelSlug blank, it will fetch global trending clips. For global clips, you can further refine the results using clipSort (by date or views), clipPeriod (past day, week, month, or all time), and clipCategory filters.
What happens if a run fails or times out?
Telemetry shows that in the last 30 days, 365 runs succeeded out of 365, with 0 failed runs and 0 timed out runs. This indicates a very high reliability. If a run were to fail or time out, Apify's platform would typically notify you. You would then need to review your input parameters or the run logs to identify the cause, potentially trying a smaller maxItems or a different channelSlug if you suspect the issue is with the target data.
Can I filter subcategories by more than one top-level category?
No. When using mode=subcategories, the subcategoryCategory input control allows you to restrict the browse list to only one of Kick's 6 top-level categories. If you need to collect subcategories from multiple top-level categories, you will need to run the Actor separately for each category you wish to filter by. Leaving subcategoryCategory blank will return subcategories across all categories.
Where to go next
When you are ready to run it, open Kick Channel Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the Kick Channel Scraper Actor page for the current input schema, pricing tier, and run history.
If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:
- Profile scrapers covers 114 Actors in this family.
Other Actors we maintain for related data:
- TwitchTracker Analytics Scraper: Scrape TwitchTracker.com channel analytics, category/game stats, top-streamer and top-subscriber leaderboards, top-games rankings, per-language Twitch statistics, and site-wide Twitch statistics.
- YouTube Channel Scraper: Scrape YouTube channel info and video listings.
- Twitch Scraper: Scrape Twitch, search channels/categories/videos/clips, fetch top live streams, channel info, top games, VOD metadata, and clip details.
- Instagram Followers & Following Scraper: Scrape Instagram followers and following lists.
- Facebook Followers & Following Scraper: Scrape Facebook Page and Profile followers, following, and friends previews plus aggregate follower/following counts, with structured location/workplace/school parsing.
- LinkedIn Profile Scraper Ultra: Scrape detailed LinkedIn profiles - work history, education, skills, languages, certifications, follower counts, and more.
- LinkedIn Profile Scraper Pro Ultra: Professional-grade LinkedIn profile scraper for bulk enrichment.
Related guides:
- Telegram Public Channels Scraper: Up to 1,000 Free Results a Month
- Deploying YouTube Channel Scraper for Targeted Creator Intelligence
- Facebook Followers Scraper: Get 8-Row Previews and Total Counts (2026)
- Instagram Followers & Following Scraper: 3 Practical Use Cases
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-25.
Actor last updated by its maintainers on 2026-07-14.
Run outcome figures cover the 30 day public window ending 2026-09-25.
Featured actors
Kick Channel Scraper
Scrape Kick.com streamer channels - profile info, follower counts, live status, VODs, clips, gift leaderboards, custom emotes, and the full category/subcategory taxonomy. No login, no proxy, public JSON API.
Run on Apify ↗