Kick.com Scraper - Streamers, Live Streams, VODs & Clips
Pricing
from $2.30 / 1,000 kick item delivereds
Kick.com Scraper - Streamers, Live Streams, VODs & Clips
Scrape Kick.com streamer profiles (followers, verified, bio, socials, live viewers), top live streams by category and language, VODs, clips and categories with viewers. Public JSON, no login. US$ 3 per 1,000 items; channels not found are free.
Pricing
from $2.30 / 1,000 kick item delivereds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Kick.com Scraper turns Kick's public data into clean, flat rows: streamer profiles with followers, verification, bio and social links, the top live streams right now by category and language, past broadcasts (VODs), clips and categories with live viewers. It is built for influencer marketing agencies, brand sponsorship teams and streaming analytics products that need Kick numbers without logging in and without paying US$ 15 per 1,000 channels.
- Influencer agencies: check followers, verification, socials and recent categories of a creator list before pitching a campaign.
- Sponsors and brand teams: find the most-watched live streams in your category and language every hour, and see who is live right now with how many viewers.
- Streaming analytics: track category viewers, VOD views, peak viewers and top clips over time with a schedule, and feed dashboards, BI or AI agents.
Price: US$ 3 per 1,000 items, no monthly fee. Channels that do not exist, blocked requests and empty results are free. AI agents can call it through the Apify MCP server.
At a glance
| This Actor | zhorex/kick-scraper (most used for "kick.com") | |
|---|---|---|
| Price per 1,000 channels, Free plan | US$ 3.00 | US$ 15.00 |
| Price per 1,000 channels, Gold plan and above | US$ 2.30 | US$ 15.00 (same on every plan) |
| Live streams, VODs, clips and categories | US$ 3.00 per 1,000 rows | Charged per channel only |
| Fee per run start | None | US$ 0.05 per 1,000 run starts |
| Channels that do not exist, empty filters, blocked requests | Free rows with an errorCode | Not stated on its page |
| Users in the last 30 days | 1 (published 2026-09-15) | 14 |
| Store rating | No reviews yet | No reviews yet |
| Public run success, last 30 days | No public runs yet; 29 of our 29 test runs succeeded | 99.8% (1,331 of 1,334) |
Competitor figures were read from the public Apify API (api.apify.com/v2/store?search=kick.com) on 2026-09-15 and change every day; the Store page always shows the live number. Among the ten most relevant Kick Actors that day, prices ran from about US$ 1 to US$ 15 per 1,000 rows, several of them with an extra fee of up to US$ 0.10 charged on every run start.
One real row
Minimal input (this is also the default input):
{ "mode": "channels", "channelNames": ["xqc", "adinross"] }
A real row from a run of 2026-09-15, trimmed (the full row and one example per mode are under "Output" below):
{"type": "channel","channelName": "xqc","channelUrl": "https://kick.com/xqc","channelId": 668,"displayName": "xQc","followersCount": 1111456,"verified": true,"isLive": false,"recentCategories": ["Grand Theft Auto V (GTA)", "Just Chatting", "Escape From Tarkov"],"instagram": "https://www.instagram.com/xqcow1/","twitter": "https://x.com/xqc","scrapedAt": "2026-09-15T18:07:46.101Z"}
What you can scrape
| Mode | Input | One row per | Typical use |
|---|---|---|---|
channels | channel names or URLs | channel | creator vetting, follower tracking |
liveStreams | optional categories, languages, min viewers, tags | live stream | top streams now, sponsor discovery |
videos | channel names or URLs | past broadcast (VOD) | views and duration of recent streams |
clips | channels, categories, or nothing for trending | clip | viral moments, highlight research |
categories | nothing (top N) or category slugs | category | category viewers leaderboard |
search | keywords | channel | find streamers by name |
Every row has a type field (channel, livestream, video, clip, category) so you can mix modes in one pipeline, plus scrapedAt.
Input examples
Channel profiles (this is also the default input):
{"mode": "channels","channelNames": ["xqc", "https://kick.com/adinross", "@amouranth"]}
Top 50 live streams in Just Chatting in Portuguese and Spanish with at least 50 viewers:
{"mode": "liveStreams","categories": ["just-chatting"],"languages": ["pt", "es"],"minViewers": 50,"maxResults": 50}
The 100 most viewed clips of a channel, all time:
{"mode": "clips","channelNames": ["xqc"],"clipSort": "view","clipPeriod": "all","maxResults": 100}
Top 100 categories by live viewers:
{"mode": "categories","maxResults": 100}
Coming from another Kick scraper?
The input names of the other Kick actors in the Store also work, so you can switch without touching your integration:
mode:channel_details,live_streams,top_channels,channel_videos(withvideoType:videosorclips),livestreams,subcategorieschannelNames,channelSlugs,channelUrls,startUrls,watchlistcategory,categorySlugs,minViewers,sortBy,maxResults,maxItemslivestreamLanguages,livestreamTags,searchKeywords
Output names follow the same convention as the market leader (channelName, displayName, followersCount, isLive, currentViewers, currentCategory, currentStreamTitle, viewers, thumbnailUrl), so most mappings keep working.
Output
Real rows from runs on the Apify platform on 15 September 2026.
Channel
{"type": "channel","channelName": "xqc","channelUrl": "https://kick.com/xqc","channelId": 668,"displayName": "xQc","bio": "THE BEST AT ABSOLUTELY EVERYTHING. THE JUICER. LEADER OF THE JUICERS.","avatarUrl": "https://files.kick.com/images/user/676/profile_image/conversion/931b4e8f-5445-427c-bd82-b473530390cc-fullsize.webp","followersCount": 1111456,"verified": true,"isAffiliate": false,"isBanned": false,"hasSubscriptions": true,"isLive": false,"currentViewers": null,"currentStreamTitle": null,"currentCategory": null,"recentCategories": ["Grand Theft Auto V (GTA)", "Just Chatting", "Escape From Tarkov"],"instagram": "https://www.instagram.com/xqcow1/","twitter": "https://x.com/xqc","youtube": "https://www.youtube.com/channel/UCmDTrq0LNgPodDOFZiSbsww","discord": "xqcow","scrapedAt": "2026-09-15T18:07:46.101Z"}
When the channel is live, isLive is true and currentViewers, currentStreamTitle, currentCategory, currentStreamLanguage, currentStreamTags and startedAt are filled.
Live stream
{"type": "livestream","rank": 2,"channelName": "alabinha5","channelUrl": "https://kick.com/alabinha5","displayName": "alabinha5","title": "JOGANDO OUTROS JOGOS e REACTS | 3 DIAS PRO NOVO FIFA","viewers": 2534,"category": "Just Chatting","categorySlug": "just-chatting","language": "pt","tags": [],"isMature": false,"startedAt": "2026-09-15T12:19:23Z","thumbnailUrl": "https://images.kick.com/video_thumbnails/PojA0sivArGt/gxyEwKQGmd9g/720.webp","isLive": true,"scrapedAt": "2026-09-15T18:07:48.081Z"}
VOD (past broadcast)
{"type": "video","videoId": "c3df33dd-375c-4955-862e-5fd0a32d43a1","channelName": "xqc","title": "LIVE HERE GTA V NOPIXEL ROLEPLAY","url": "https://kick.com/xqc/videos/c3df33dd-375c-4955-862e-5fd0a32d43a1","views": 52550,"peakViewers": 7218,"duration": 39804,"durationFormatted": "11:03:24","language": "English","category": "Grand Theft Auto V (GTA)","startedAt": "2026-09-14T19:57:58Z","thumbnailUrl": "https://images.kick.com/video_thumbnails/DsuAwCgUc9Bh/Jr2H5bkEnOFA/720.webp","videoUrl": "https://stream.kick.com/3c81249a5ce0/ivs/v1/196233775518/DsuAwCgUc9Bh/2026/9/14/19/57/Jr2H5bkEnOFA/media/hls/master.m3u8","scrapedAt": "2026-09-15T18:07:45.634Z"}
Clip
{"type": "clip","clipId": "clip_01H811MXG4FBR62FXPE1AXABDH","channelName": "xqc","displayName": "xQc","title": "soda","url": "https://kick.com/xqc/clips/clip_01H811MXG4FBR62FXPE1AXABDH","views": 327397,"duration": 30,"category": "Just Chatting","parentCategory": "irl","createdAt": "2023-08-17T06:07:19.490719Z","thumbnailUrl": "https://clips.kick.com/clips/dh/clip_01H811MXG4FBR62FXPE1AXABDH/thumbnail.png","videoUrl": "https://clips.kick.com/clips/dh/clip_01H811MXG4FBR62FXPE1AXABDH/playlist.m3u8","scrapedAt": "2026-09-15T18:07:45.869Z"}
Category
{"type": "category","rank": 1,"categoryId": 8,"name": "Grand Theft Auto V (GTA)","slug": "grand-theft-auto-v","url": "https://kick.com/category/grand-theft-auto-v","parentCategory": "Games","viewers": 269060,"tags": ["Shooter", "Action", "Open World"],"isMature": false,"scrapedAt": "2026-09-15T18:07:47.239Z"}
Rows that are not charged
A channel that does not exist, an invalid name, a category with no live streams or a blocked request becomes a row with errorCode and error, and is not charged:
{"type": "channel","input": "this-channel-does-not-exist-zz9","channelName": "this-channel-does-not-exist-zz9","error": "channel not found on Kick","errorCode": "CHANNEL_NOT_FOUND"}
Error codes: CHANNEL_NOT_FOUND, INVALID_CHANNEL, CATEGORY_NOT_FOUND, INVALID_CATEGORY, NO_RESULTS, CHANNEL_UNAVAILABLE, BLOCKED. The run only fails when nothing at all could be delivered because Kick blocked every retry, so one bad name in a list of 500 never ruins the run.
Field reference
| Field | Types | Description |
|---|---|---|
type | all | channel, livestream, video, clip or category |
channelName | channel, livestream, video, clip | channel slug, as in kick.com/ |
displayName | channel, livestream, clip | display name with capitalization |
channelUrl, channelId | channel, livestream, video, clip | link and numeric id |
followersCount | channel, category | followers (category only with slug input) |
verified, isAffiliate, isBanned, hasSubscriptions, vodEnabled | channel | channel flags |
bio, avatarUrl, bannerUrl | channel | public profile |
instagram, twitter, youtube, tiktok, facebook, discord, socialLinks | channel | social links set by the streamer |
isLive, currentViewers, currentStreamTitle, currentCategory, currentStreamLanguage, currentStreamTags, startedAt | channel | current live stream, if any |
recentCategories | channel | categories streamed recently |
rank, viewers, title, language, tags, isMature | livestream | live stream now, ranked by viewers |
videoId, views, peakViewers, duration, durationFormatted, videoUrl | video | VOD stats and HLS playlist |
clipId, views, likes, duration, createdAt, videoUrl | clip | clip stats and HLS playlist |
category, categorySlug, parentCategory | livestream, video, clip | category of the content |
categoryId, name, slug, viewers, tags, description | category | category with live viewers now |
url, thumbnailUrl | video, clip, category | page link and image |
input | all | the input line that produced the row |
error, errorCode | error rows | why nothing was delivered (not charged) |
scrapedAt | all | UTC time of the scrape |
Pricing
US$ 3 per 1,000 items on the Free plan, no monthly rental, no start fee. One charge is one row, whatever the mode.
| Apify plan | Price per row | Per 1,000 rows |
|---|---|---|
| Free | US$ 0.0030 | US$ 3.00 |
| Bronze | US$ 0.0027 | US$ 2.70 |
| Silver | US$ 0.0025 | US$ 2.50 |
| Gold and above | US$ 0.0023 | US$ 2.30 |
| Actor | Price per 1,000 channels | Live streams, VODs, clips |
|---|---|---|
| This actor | US$ 3 on Free, US$ 2.30 on Gold | US$ 3 per 1,000 rows |
| Kick scraper charged per channel (most used for "kick.com") | US$ 15 | channel event only |
| Kick scraper charged per run start | US$ 6 per 1,000 runs on Free, any run size | per run |
| Other Kick scrapers in the Store | US$ 1 to 21 plus start fees | varies |
Prices of other Actors as listed in the Apify Store on 2026-09-15.
Examples at the Free plan price: 100 creator profiles cost US$ 0.30. The top 500 live streams every hour for a day is 12,000 rows, US$ 36. Error rows are free, and you can cap spending with the maximum cost per run in the Apify Console.
Speed and cost, measured
Our own cloud runs on the Apify platform, 2026-09-15 and the days before, 512 MB of memory. "Platform cost" is what the run consumed in Apify usage; the percentage is that cost against what the Actor charges.
| Run | Rows | Time | Platform cost | % of the charge |
|---|---|---|---|---|
| Top live streams, no filter | 600 | 31 s | US$ 0.0041 | 0.23% |
| Top live streams, no filter | 200 | 17 s | US$ 0.0016 | 0.26% |
| Most viewed clips of one channel, all time | 500 | 44 s | US$ 0.0039 | 0.26% |
| Every category with live viewers | 626 | 552 s | US$ 0.0189 | 1.0% |
| Categories leaderboard | 100 | 10 s | US$ 0.0009 | 0.29% |
| VODs of two channels | 36 | 6 s | US$ 0.0004 | 0.37% |
| Two channel profiles | 2 | 3 s | US$ 0.0002 | 2.5% |
Twenty-nine test runs, twenty-nine successes, across builds 0.1.1 to 0.1.7. Small runs carry the fixed cost of starting the container, which is why two channels look expensive as a percentage and six hundred live streams do not. The Actor makes plain HTTP calls to the same public JSON kick.com uses in the browser, five at a time, with no browser and no login.
How to use it
Apify Console
- Pick a mode, fill the channels, categories or languages.
- Click Start. Results appear in the Output tab, with one table view per type (Channels, Live streams, VODs, Clips, Categories).
- Export as JSON, CSV, Excel or HTML, or copy the API link.
API
curl -X POST "https://api.apify.com/v2/acts/scrapewise~kick-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "liveStreams", "languages": ["en"], "maxResults": 100}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("scrapewise/kick-scraper").call(run_input={"mode": "channels","channelNames": ["xqc", "adinross"],})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["channelName"], row.get("followersCount"), row.get("isLive"))
Schedules and integrations
- Schedule
liveStreamsevery 15 or 60 minutes to build a viewer history per channel and category. - Send results to Google Sheets, Slack, Airtable, BigQuery, S3 or a webhook with Apify integrations.
- Use it from n8n, Make or Zapier with the Apify app: "Run actor" then "Get dataset items".
AI agents and MCP
The actor works as a tool in the Apify MCP server, so Claude, ChatGPT, Cursor and other MCP clients can call it:
https://mcp.apify.com/?actors=scrapewise/kick-scraper
Ask things like "Who are the top 20 Spanish streamers live on Kick right now?" or "Compare followers and recent categories of these 30 Kick creators". The flat output with type keeps it easy for an agent to read.
Limits and honest notes
- VODs: Kick serves the 24 most recent past broadcasts per channel through its public API. Older VODs are not available without login, so
videosreturns up to 24 per channel. - Live streams are a snapshot of the moment the run happens; schedule the actor for history. Filters by category and language are applied by Kick;
minViewersandtagsare applied on top. - Search returns up to 20 channels per keyword, which is Kick's own limit.
- Categories:
followersCountonly comes when you pass category slugs; the top list has live viewers. - Gambling, casino and betting categories are not collected in any mode.
- Chat messages are not collected, and the username of the viewer who created a clip is not included. The actor only returns public data about channels and their content.
- Kick sits behind Cloudflare. Requests go through Apify datacenter proxy, and blocked requests are retried on new IPs automatically.
If something breaks or you need a field, open an issue on the Issues tab. Issues are answered the same day.
FAQ
Do I need a Kick account, API key or cookies? No. The actor reads the same public JSON that kick.com uses in the browser, with no login.
How fast is it? In platform runs, 50 top live streams took one request, 100 clips took 5 requests in about 10 seconds, and 100 channel profiles take about 100 light requests that run 5 at a time.
How do I get the most-watched streams in one category?
Use liveStreams with categories: ["just-chatting"] (the slug from kick.com/category/just-chatting). Add languages to narrow by country audience.
Can I monitor if a streamer is live?
Yes. Run channels on a schedule: isLive, currentViewers, currentStreamTitle and currentCategory show the live state at that moment.
Why did I get fewer rows than maxResults? The channel has fewer VODs or clips, fewer streams match the filters right now, or Kick's own limits apply (24 VODs, 20 search results). You are only charged for rows delivered.
Are invalid channel names charged?
No. They come back as a row with errorCode and are free.
Can I export to CSV or Excel?
Yes, from the Output tab or the dataset API (format=csv or format=xlsx).
Does it collect chat or viewer data? No. Chat messages and personal data of regular viewers are out of scope. Only public channel, stream, VOD, clip and category data is returned.
Can I use it with other Kick actors' inputs?
Yes. channel_details, live_streams, top_channels, channel_videos, channelSlugs, category, minViewers and similar names are accepted.
Is scraping Kick legal? The actor collects only public data that anyone can see on kick.com without an account. You are responsible for how you use it; follow Kick's terms and data protection laws in your country.
Why are gambling and casino categories missing?
They are blocked on purpose, in every mode, by category name and by parent category. Twenty-four categories sit under Kick's gambling parent and none of them is collected. Categories whose name only looks like gambling, such as chat-roulette and buckshot-roulette, are collected normally.
Can I compare a Kick creator with their Twitch or YouTube channel?
Not in the same run. What this actor gives you is the Kick side plus the social links the streamer publishes on their Kick profile (instagram, twitter, youtube, tiktok, facebook, discord), which is usually enough to match the same person on another platform.
How do I build a viewer history instead of a snapshot?
Save the liveStreams or categories input as a task and attach an Apify schedule every 15 or 60 minutes. Each run appends a dated snapshot, and viewers plus scrapedAt is all a chart needs.
Can an AI agent call it?
Yes, through the Apify MCP server. The input is short, every field has a description, and every row carries a type, so an agent can mix modes without parsing anything.
Changelog
- 2026-09-15 (page): added the "At a glance" comparison with the most used Kick Actor, measured on the public Apify API that day, the minimal input and a real row in the first screen, the measured speed and cost table, the Store discount ladder and four more FAQ entries.
- 2026-09-15 (0.1.7): gambling, casino and betting categories blocked by parent category, whole word and slug; categories that only look like gambling (chat-roulette, buckshot-roulette, hunter-roulette) stay available.
- 2026-09-15 (0.1): first version. Modes
channels,liveStreams,videos,clips,categoriesandsearch; input names of other Kick scrapers accepted; error rows free; categories ranked by live viewers.
This actor only collects public data and respects the site's terms.
Em português
Kick.com Scraper extrai perfis de streamers (seguidores, verificado, bio, redes, viewers ao vivo), as lives com mais audiência por categoria e idioma, VODs, clips e categorias com viewers da Kick.com, sem login. Serve para agências de marketing de influência, patrocinadores e produtos de analytics de streaming.
- Agências: conferir seguidores, verificação e redes de uma lista de criadores.
- Patrocinadores: ver as lives mais assistidas da categoria e do idioma agora.
- Analytics: acompanhar viewers de categorias, views de VODs e clips com agendamento.
Preço: US$ 3 por 1.000 itens no plano Free (US$ 2,30 no Gold), sem mensalidade e sem taxa por execução. Canal inexistente, filtro sem resultado e requisição bloqueada voltam como linha gratuita com errorCode. Categorias de aposta, cassino e jogo de azar não são coletadas em nenhum modo.
Keywords: kick.com scraper, kick scraper, kick streamers, kick live streams, kick livestream viewers, kick clips, kick vods, kick channel followers, kick api, kick analytics, kick categories, streamer analytics, influencer marketing, twitch alternative.