Kick Creator Scraper
Scrape Kick.com creators: followers, verified status, live or offline, current stream title, category and viewers. By username, search term or live feed.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
channels,searchTerms,browseLive(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.0033 per creator = $3.3 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Creator scraped | One Kick creator with follower count, verification and the current stream. Channels that do not exist are never charged. | $0.0033 |
Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-09-20, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
channels | The creators you already know by name. A username, a kick.com link or a link with a tab on the end all work - xqc, https://kick.com/xqc and kick.com/xqc/videos are the same channel. Up to 200 per run. These are read first, before anything found by search or from the live feed. | array |
searchTerms | Words to look up in Kick's own channel search, for finding creators you cannot name yet. Up to 10 terms, and Kick returns at most 20 channels per term - it has no second page, so a term that matches thousands of channels still gives you 20. They come back roughly by follower count, largest first. | array |
browseLive | Switch this on to walk Kick's live feed instead of naming channels. It pages through who is currently on air and reads each one, newest broadcasts first, until the row limit is reached. | boolean |
category | Narrows the live feed to one Kick category, written as it appears in the URL: just-chatting, grand-theft-auto-v, counter-strike-2. Leave it blank for every category. It has no effect on usernames or search terms. | string |
language | Which language edition of the live feed to walk. Kick groups its live feed by broadcast language, so en gives you English-speaking streams, fr French, de German. Defaults to en. | string |
liveOnly | Only deliver, and only charge for, creators who are on air at the moment they are read. Useful with search terms, where most matches will be offline. Someone who goes offline between being found and being read is dropped, and is not charged. | boolean |
maxItems | How many creator rows to return in total. Named channels are read first, then search terms, then the live feed. Keep it low while you are testing - you pay per row. Hard ceiling 1,000. | integer |
proxyUrls | Leave this empty for a normal run. Fill it in only if you want the traffic to leave through proxy servers you already pay for, one URL per line, in the form http://user:pass@host:port. | array |
What you get
A structured dataset — each result includes fields like:
usernamechannelSlugchannelUrlfollowersCountverifiedisLivestreamViewersstreamTitlestreamCategorystreamStartedAtstreamLanguagelastCategorybioprofilePictureExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
Related tools in Developer & Research Tools
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
GitHub Scraper
Search GitHub repos and users: stars, forks, language, topics, licence, plus user bio, company and followers. No token needed. $0.90 per 1,000 rows.
Stack Overflow / Stack Exchange Scraper
Search Stack Overflow and Stack Exchange by keyword or tag. Score, answer count, views, reputation and body text. $2 per 1,000 questions.
Package Registry Scraper (npm + PyPI)
Get npm and PyPI package metadata as JSON. Version, license, author, repo, keywords and npm monthly downloads. $2 per 1,000 packages.
arXiv Scraper
Search arXiv papers by title, author, abstract or category. Get full abstracts, authors, categories, DOI, dates and PDF links. $2 per 1,000 papers.
OpenAlex Scholarly Works Scraper
Search 250M+ OpenAlex papers with no API key. Get titles, authors, venue, year, citations, DOI, OA links and full abstracts. $2.00 per 1,000 papers.
Crossref Scholarly Works Scraper
Search 150M+ papers on Crossref: DOI, title, authors, journal, publisher, date, citations and abstract. No API key. $1.00 per 1,000 works.
Where this tool sits
- Categories
- Developer & Research Tools
Kick Creator Scraper: followers, live status and the current stream for any Kick channel
Name Kick creators, search for them, or read whoever is on air, and you get one row per creator: follower count, the verified tick, whether they're live and, if they are, the stream title, category, viewer count and start time. Each row also carries the bio and the social handles the creator typed into their own profile. The limit to know first: Kick's search gives at most 20 channels per term and has no second page, so a term as broad as "fortnite" still returns 20.
There are no email addresses here, and nothing goes looking for them. The form arrives with two real channels in it, so pressing Start without editing reads those two and bills two rows.
| Input | Kick usernames or channel links, search terms, or the live feed |
| Output | One row per creator |
| Ceiling | 1,000 rows per run: up to 200 named channels, 10 search terms of 20 channels each |
| Account needed | None |
| Price | $3.30 per 1,000 creators, flat on every plan |
🔍 What Kick Creator Scraper does
Three ways in, one row out. Name the channels you already follow, put words through Kick's own channel search, or switch on the live feed and read whoever is broadcasting. However a creator was found, the row is built from their channel page, so every row has the same fields and foundVia tells you which way it came in.
Named channels go first, then search results, then the live feed, until maxItems is reached. A creator who turns up twice, say named and then again on the live feed, is read and charged once.
The live fields are read the moment the row is built. isLive: true means they were on air then. It is a snapshot, so to follow a channel through the day, run it on a schedule.
Misspelled lists stop themselves. If 25 channels in a row come back with nothing, the run ends and says so rather than working through the rest of the list.
📥 What you give it
{
"channels": ["xqc", "adinross"],
"searchTerms": ["fortnite"],
"browseLive": true,
"maxItems": 40
}
| Field | If you leave it empty | What it is |
|---|---|---|
channels | none | Usernames or links, up to 200. xqc, https://kick.com/xqc and kick.com/xqc/videos are the same channel. The form arrives with two in it. |
searchTerms | none | Up to 10 words for Kick's channel search. Each gives at most 20 channels, roughly biggest first. |
browseLive | off | Read whoever is on air, newest broadcasts first, until the row limit. |
category | every category | Live feed only. The category as it appears in Kick's own links, such as just-chatting or grand-theft-auto-v. |
language | en | Live feed only. Kick splits its live feed by broadcast language: en, fr, de and so on. |
liveOnly | off | Deliver, and charge for, only the creators who are on air when they're read. |
maxItems | 20 | Total rows, 1 to 1,000. |
proxyUrls | empty | Only if you want the requests to go out through servers of your own, as http://user:pass@host:port. |
📤 What you get back
A real row from a real run, a creator found on the live feed:
{
"ok": true,
"charged": true,
"recordType": "creator",
"username": "Bigbangah84",
"channelSlug": "bigbangah84",
"channelUrl": "https://kick.com/bigbangah84",
"followersCount": 76,
"verified": false,
"isLive": true,
"streamViewers": 0,
"streamTitle": "VIBE WITH ME!!!!!",
"streamCategory": "Don't Look Back!",
"streamCategorySlug": "dont-look-back--3",
"streamStartedAt": "2026-09-20T08:18:56.000Z",
"streamLanguage": "English",
"streamIsMature": true,
"streamTags": [],
"streamThumbnail": "https://stream.kick.com/thumbnails/livestream/128219187/thumb0/video_thumbnail/thumb0.jpg",
"lastCategory": "Don't Look Back!",
"lastCategorySlug": "dont-look-back--3",
"bio": null,
"profilePicture": "https://files.kick.com/images/user/106144295/profile_image/conversion/47602805-f51e-4a6a-a3ce-ec27e1857cc7-fullsize.webp",
"bannerImage": null,
"isAffiliate": true,
"isBanned": false,
"subscriptionEnabled": true,
"vodEnabled": true,
"twitter": null,
"instagram": "bigbangah84",
"youtube": "www.youtube.com/@Bigbangah84",
"tiktok": null,
"discord": "Bigbangah84",
"facebook": null,
"channelId": 104910174,
"userId": 106144295,
"foundVia": "browseLive",
"scrapedAt": "2026-09-20T10:08:32.304Z"
}
| Field | What it is |
|---|---|
followersCount | A plain number, ready to sort on. |
verified | True or false, never null. |
isLive, streamViewers, streamTitle, streamCategory, streamStartedAt | The broadcast at the moment of reading. Every stream field is null when the creator is offline, and 0 viewers is a real answer. |
streamThumbnail | A still from the live video, when Kick attaches one. Most of the time it doesn't. |
lastCategory | The category the channel used most recently, filled in whether they're live or not. |
bio | The channel bio exactly as written, links and line breaks included. |
twitter, instagram, youtube, tiktok, discord, facebook | Whatever the creator typed into their own profile. A handle on one channel, a path or a whole link on the next, as the youtube value above shows. Null when left blank. |
channelId, userId | Kick's numeric ids. A rename changes the username, not these, so join on them. |
foundVia | channels, search:<your term> or browseLive. |
🧾 Reading the output
Three kinds of row can land in the dataset.
| Row | How to spot it | Charged |
|---|---|---|
| A creator | recordType: "creator" | yes |
| The sample row | _sample: true and recordType: "sample" | no |
| A diagnostic | _diagnostic: true, with an errorCode and a details sentence | no |
The sample row only appears when nothing was named, searched or switched on. Filter on recordType being creator and you have just the creators.
errorCode | What it means |
|---|---|
NOT_FOUND | Kick has no channel by that name. It may be misspelled, renamed or deleted, and Kick answers the same way for all three. |
NO_RESULTS | A search term matched nobody, the live feed was empty for that language and category, or the run stopped early. details says which. |
BLOCKED | Kick answered, but not with that channel's record. |
RATE_LIMITED | Kick asked for a pause. Try again a little later. |
NETWORK, TIME_BUDGET and the rest | Rare. The details sentence says what happened. |
Only the first 30 problems get a row each. After that, one row counts the rest.
▶️ How to run it
1. Open Kick Creator Scraper and click Try for free. 2. Put usernames or links into Kick usernames or channel links, words into Search terms, or tick Read whoever is live right now. 3. For the live feed, fill in Category (live feed only) and Language (live feed only) if you want to narrow it. 4. Set Maximum rows, and tick Skip creators who are offline if you only want people on air. 5. Click Start, then download the dataset as JSON, CSV or Excel, or read it from the API.
💰 How much does it cost?
$3.30 per 1,000 creators, flat on every Apify plan.
You pay per creator row. The sample row and the diagnostic rows are never charged, a creator found twice is charged once, and with Skip creators who are offline ticked, the offline ones are dropped before they're charged.
💡 What people use it for
- Keeping tabs on creators you sponsor or compete with. Run the same names on a schedule and compare
followersCountandisLivefrom one run to the next. - A shortlist in a niche: a few search terms, filtered by follower count, with the socials each creator published attached.
- Finding new streamers in a category. A browse run with
categoryset turns up the channels that just went live, which is where small creators show up first. - A dashboard of live viewer counts across a set of channels, without keeping a connection open to each one.
🚧 What it does not do
- More than 20 channels per search term. Kick's search stops there and has no second page.
- Start with the biggest live streams. The live feed comes newest broadcast first, so a browse run is mostly streams that just began, many with nobody watching yet. It also reads at most 20 pages of the feed.
- Emails. There's no email field and nothing is worked out from the bio.
- Check the social handles. They're whatever the creator typed, and some are wrong.
- Chat, clips, VODs or past broadcasts. One row per creator, as they are right now.
- Subscriber counts or earnings. Kick doesn't publish them.
- History. Each run is a fresh snapshot. Keep the rows yourself to build a trend.
🧭 Which creator scraper do you need?
| If you want | Use |
|---|---|
| Kick creators with their follower count and live status | This one |
| TikTok profiles: followers, likes and bio | TikTok Profile Scraper |
| Instagram profiles: exact follower counts and bio links | Instagram Profile Scraper |
| The videos on a YouTube channel, with views and dates | YouTube Channel Scraper |
❓ Questions people ask
Do I need a Kick account or an API key? No. Everything read here is what Kick shows anyone who opens a channel.
What if a username doesn't exist? You get a free NOT_FOUND row for it and the run moves on. Twenty-five misses in a row end the run, on the reasoning that the list is probably wrong.
Can I watch a long list to see who's live? Yes, but leave Skip creators who are offline unticked for that and filter on isLive yourself. With it ticked, 25 offline creators in a row count as 25 misses and end the run before it reaches the rest of your list.
Why did I get fewer rows than I asked for? Usually the 20-per-term search limit, offline creators dropped by Skip creators who are offline, or the same creator found twice. The diagnostic rows say which.
How fresh are the live numbers? Seconds old when the row is written. A busy stream's viewer count will have moved by the time you open it.
Is this legal? These are public profile pages, but a creator's name and handles are personal data in many places, so keep what you need and be careful republishing it. Apify's article on whether web scraping is legal is worth reading first.
🆘 If something breaks
Open the Issues tab on the actor page and send the input you used and the run ID. The diagnostic rows in the dataset usually name the reason already.