Twitch & Kick Scraper – Live Streams, Channels, VODs, Clips avatar

Twitch & Kick Scraper – Live Streams, Channels, VODs, Clips

Pricing

$1.50 / 1,000 result records

Go to Apify Store
Twitch & Kick Scraper – Live Streams, Channels, VODs, Clips

Twitch & Kick Scraper – Live Streams, Channels, VODs, Clips

Twitch and Kick scraper in one normalized schema: channels with followers, live streams with viewer counts, VODs, clips and top categories. Public data only, no login or API keys. Track creators across both platforms.

Pricing

$1.50 / 1,000 result records

Rating

0.0

(0)

Developer

Enes Bulanık

Enes Bulanık

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Twitch and Kick scraper in one normalized schema: channels with followers and live status, live streams with viewer counts, VODs, clips and top categories. Public data only, no login or API keys. Use it instead of two separate single-platform scrapers when you track creators who stream on both Twitch and Kick, or when you need Kick data at all: every record has the same fields on both platforms.

Price: $1.50 per 1,000 records. No start fee. Channels that don't exist produce a free error row.

What data do you get?

Every dataset item has a type and a platform (twitch or kick), and every item has the same columns:

  • Channels: display name, followers, live now (yes/no), current viewers, stream title, category, language, stream start time, Partner/Affiliate/verified badges, avatar, bio, the creator's public social links, last live time, VOD count (Twitch)
  • Live streams: the most-watched streams right now, overall or in one category or language, with viewers, channel followers, title, category, language, tags, start time and preview image
  • VODs (past broadcasts): title, views, duration, category, publish date, thumbnail, URL
  • Clips: the most-viewed clips of the last day, week, month or all time, with views, duration, category, clip author and URL
  • Categories: the top games/categories by live viewers, with live channel counts and follower counts (Twitch)

Use cases

  • Influencer marketing and sponsorships: compare a creator's reach on Twitch and Kick (followers, live viewers, VOD and clip views) before a brand deal.
  • Esports and talent agencies: track a roster across both platforms on a schedule and see who is live, in which game, and with how many viewers.
  • Game marketing: see which streamers and languages carry your game right now, and how your category ranks against others.
  • Streaming market research: measure Kick against Twitch by category, language or creator, with comparable numbers.
  • Content teams and clippers: find the most-viewed clips and VODs of a channel for highlights.

How to use it

  1. Enter one or more Channels. A plain name like xqc is checked on both Twitch and Kick. A link (https://www.twitch.tv/shroud, https://kick.com/westcol) or a prefix (twitch:shroud, kick:westcol) checks only that platform.
  2. Optionally turn on Include VODs and/or Include top clips.
  3. Optionally set Top live streams per platform (with a category such as Just Chatting and/or a language such as es) and Top categories per platform.
  4. Click Start. Download the results as JSON, CSV, Excel or HTML, or connect them to Make, Zapier, n8n, Google Sheets or webhooks.

Input

FieldTypeDescription
channelsarray of stringsChannel names or links. Plain names are looked up on every selected platform.
platformsarraytwitch and/or kick. Default: both.
includeVideosbooleanAdd each channel's latest VODs. Default false.
maxVideosPerChannelinteger1–100, newest first. Default 10.
includeClipsbooleanAdd each channel's most-viewed clips. Default false.
clipsPeriodstringday, week, month or all. Default week.
maxClipsPerChannelinteger1–100 on Twitch, up to 20 on Kick. Default 10.
maxLiveStreamsintegerTop live streams per platform (0 = off).
liveCategorystringOnly live streams in this category, e.g. Just Chatting, Fortnite, grand-theft-auto-v.
liveLanguagestringOnly live streams in this language, e.g. en, es, tr, pt.
maxCategoriesintegerTop categories per platform (0 = off). Twitch: up to 100.
proxyConfigurationobjectOptional. Used only if a platform blocks a request.

An empty input ({}) returns the 10 most-watched live streams on each platform.

Example: a creator report for three creators, plus the top Spanish-language streams:

{
"channels": ["xqc", "https://www.twitch.tv/shroud", "kick:westcol"],
"includeVideos": true,
"maxVideosPerChannel": 5,
"includeClips": true,
"clipsPeriod": "month",
"maxClipsPerChannel": 5,
"maxLiveStreams": 40,
"liveLanguage": "es"
}

Output

Real sample output from a run (empty fields are left out here; in the dataset every field is present and set to null when unknown):

Kick channel (live)

{
"type": "channel",
"platform": "kick",
"id": "669746",
"url": "https://kick.com/westcol",
"title": "EL ELEGIDO STREAM CON IKER CASILLAS",
"channelLogin": "westcol",
"channelName": "Westcol",
"followers": 4177861,
"isLive": true,
"viewers": 12918,
"category": "Slots & Casino",
"language": "es",
"startedAt": "2026-10-08T18:15:16.000Z",
"isVerified": true,
"profileImageUrl": "https://files.kick.com/images/user/690420/profile_image/conversion/2b9d7205-...-fullsize.webp",
"socialLinks": ["https://instagram.com/westcol", "https://x.com/WestCOL", "https://tiktok.com/@westcol"],
"lastLiveAt": "2026-10-08T18:15:16.000Z"
}

Twitch channel (live)

{
"type": "channel",
"platform": "twitch",
"id": "37402112",
"url": "https://www.twitch.tv/shroud",
"title": "[FARM ODYLES HERE] ALSO I MIGHT MAKE A CLERIC MMO ...",
"channelLogin": "shroud",
"channelName": "shroud",
"followers": 11295317,
"isLive": true,
"viewers": 6989,
"category": "AION 2",
"language": "en",
"tags": ["English", "DropsEnabled"],
"startedAt": "2026-10-08T17:08:36.000Z",
"publishedAt": "2012-11-03T15:50:32.878Z",
"isPartner": true,
"videoCount": 1600
}

Kick clip

{
"type": "clip",
"platform": "kick",
"id": "clip_01M3TDDSN44DVA0WKMZYV6M9RV",
"url": "https://kick.com/xqc/clips/clip_01M3TDDSN44DVA0WKMZYV6M9RV",
"channelLogin": "xqc",
"views": 24238,
"category": "Just Chatting",
"publishedAt": "2026-10-01T00:24:07.885Z",
"durationSeconds": 101,
"clipCreator": "plutotrades111"
}

Twitch category

{
"type": "category",
"platform": "twitch",
"id": "509658",
"url": "https://www.twitch.tv/directory/category/just-chatting",
"category": "Just Chatting",
"viewers": 501998,
"broadcasters": 5987,
"categoryFollowers": 53247087,
"tags": ["IRL"]
}

Error (free)

{
"type": "error",
"platform": "kick",
"channelLogin": "nope_zz9q_user",
"errorCode": "NOT_FOUND",
"error": "Kick channel \"nope_zz9q_user\" does not exist."
}

All fields: type, platform, id, url, title, channelLogin, channelName, channelId, channelUrl, description, followers, isLive, viewers, views, category, categoryId, language, tags, startedAt, publishedAt, durationSeconds, isMature, isPartner, isAffiliate, isVerified, thumbnailUrl, profileImageUrl, socialLinks, lastLiveAt, videoCount, clipCreator, broadcasters, categoryFollowers, scrapedAt. Error rows add errorCode, error and input.

The dataset has ready-made views in Apify Console: Overview, Channels, Live streams, VODs & clips and Categories & errors.

Pricing

Pay per event: you pay only for the records you get. Platform usage is included.

EventPriceWhen it is charged
result$0.0015 per record ($1.50 / 1,000)Each channel, live stream, VOD, clip or category saved
ErrorsFreeMissing channels, unknown categories, failed requests
JobRecordsCost
1 creator on both platforms, profile only2$0.003
10 creators on both platforms + 10 VODs + 10 clips each420$0.63
Top 100 live streams on Twitch and Kick, hourly for a day4,800$7.20

Tip: set Max cost per run in the run options. The scraper stops cleanly when your budget is reached.

Use with AI agents (MCP)

This Actor works as a tool for AI agents through the Apify MCP server. Add it with https://mcp.apify.com?tools=openharvest/twitch-kick-streaming-scraper, or let the agent find it with search-actors ("twitch kick scraper").

Example call-actor input an agent can use to answer "Is this creator bigger on Twitch or on Kick, and is he live right now?":

{
"channels": ["xqc"],
"includeClips": true,
"clipsPeriod": "week",
"maxClipsPerChannel": 5
}

The agent compares followers, isLive, viewers and the clip views per platform. This run takes a few seconds and costs about $0.02.

FAQ

Do I need a Twitch or Kick account, or API keys? No. The scraper reads the same public data the twitch.tv and kick.com websites show to logged-out visitors.

What happens when a creator uses different names on Twitch and Kick? Use a link or a prefix for each platform, e.g. twitch:name1 and kick:name2. Plain names are looked up on both platforms, and a name that exists on only one gives one free NOT_FOUND row for the other.

How are "top live streams" picked? They are sorted by current viewers. On Kick the scraper reads Kick's live directory. Twitch shows at most 30 streams in its global list, so for larger lists or a language filter the scraper combines the top streams of the most-watched categories and sorts them by viewers. Inside one category, Twitch returns up to 100 streams per language, and larger requests are split by language.

Why are there at most 20 Kick clips per channel? Kick's public clips list has one page of 20 clips per sort order and period. Twitch returns up to 100.

Why is the language or last-live time empty for some offline Kick channels? Kick shows the stream language and start time only while a channel is live. The category falls back to the channel's most recent category.

Can I run it on a schedule? Yes. Use Apify Schedules, for example every 15 minutes for a live-viewers time series of your roster, or daily for follower growth.

Can I use it via API? Yes: through the Apify API, the JavaScript and Python clients, or integrations such as Make, Zapier, n8n, Google Sheets and webhooks.

This Actor collects only publicly available data that Twitch and Kick show to any logged-out visitor: channel profiles, public stream information, public VODs, clips and category statistics. It does not log in, does not read chat, private messages or subscriber-only content, and does not collect emails or phone numbers. Social links are included only when the creator has published them on the channel. It does not download video files. Scraped data can still include personal data such as names and bios, so make sure your use complies with the laws that apply to you (for example GDPR) and with each platform's terms. Do not use the data for spam or unsolicited messages. If you are unsure, consult a lawyer.

Other actors by the same developer that work well with this one:

  • YouTube Transcript Scraper – Captions, Subtitles & Video Data: the same creators' YouTube videos and transcripts
  • Steam Reviews & Games Scraper – Prices, Players & Top Sellers: player counts and reviews for the games people stream
  • Google Trends Scraper – Interest Over Time & Related Queries: search interest for a game or creator
  • Bilibili Scraper – Videos, Search, Rankings, Comments & Danmaku: Chinese video and live creator data
  • Douyin Scraper – Creator Profiles, Videos & Trending, No Login: Chinese short-video creator data

Support & feedback

Found a bug or need a missing field? Open an issue in the Issues tab with the channel name and platform.