Twitch & Kick Scraper — Streams, Channels, Micro-Streamers avatar

Twitch & Kick Scraper — Streams, Channels, Micro-Streamers

Pricing

from $1.75 / 1,000 channel profiles

Go to Apify Store
Twitch & Kick Scraper — Streams, Channels, Micro-Streamers

Twitch & Kick Scraper — Streams, Channels, Micro-Streamers

Live channels and streams from Twitch and Kick in one schema: followers, viewers, category, language, tags and — on Kick — the streamer's social links. Sort by fewest viewers to find micro-streamers. No login or API key.

Pricing

from $1.75 / 1,000 channel profiles

Rating

0.0

(0)

Developer

Chorelet

Chorelet

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Share

Live channels and streams from Twitch and Kick in one schema: followers, viewers, category, language, tags, account age and — on Kick — the social links the streamer published. As JSON, CSV or Excel, or through the API.

Three ways in: browse a category's live channels, look up a list of channels by name, or search both platforms by keyword. No account, no API key, no proxy — everything comes from the endpoints the platforms' own web apps call.

Why this Actor

  • Two platforms, one table. Twitch and Kick with identical fields, so a category sweep or a watchlist lands in a single spreadsheet instead of two.
  • Finds the small channels. Sort by fewest viewers and cap followers, and the run returns streamers with 0–200 followers — the people sponsorship and affiliate programmes look for and ranked lists never show.
  • Socials where they exist. Kick publishes Instagram, X, YouTube, TikTok and Discord for its streamers; those become links in the row. Twitch hides them from server-side clients and this Actor says so rather than shipping an empty promise.
  • Cheap listings, paid profiles. A row that rides along with a category page costs a quarter of a row that needed its own profile lookup, so a wide sweep stays cheap.

Sample output

One item of the dataset (long values shortened):

{
"platform": "twitch",
"channelName": "akaNemsko",
"followers": 380196,
"isLive": true,
"viewers": 2570,
"streamCategory": "Just Chatting",
"language": "EN",
"channelUrl": "https://twitch.tv/akanemsko"
}

What you get

  • Both platforms, one row shape, with a platform column — no second tool for Kick
  • Micro-streamer discovery: sort a category by fewest viewers and cap the follower count to surface channels with 0–200 followers, the ones sponsorship and affiliate programmes actually want to find
  • Kick socials: Instagram, X, YouTube, TikTok, Facebook and Discord, turned into links
  • Follower counts, bio and account age for every channel found, with one profile lookup per channel
  • Language filter that doubles as a way past Twitch's 100-row cap per category
  • Monitored daily

Input

  • Categories — Just Chatting, Software and Game Development, Chess. Twitch reads the category's live channels; Kick has no public category listing, so its live feed is filtered by category name.
  • Channels — names or URLs on either platform.
  • Search queries — keyword search across both.
  • Sort live channels by — most viewers, fewest viewers (micro-streamers) or recently started.
  • Languages, Minimum/Maximum followers, Minimum/Maximum viewers, Live channels only, Include channel details, Max results per target.

Limits and notes

  • Twitch does not expose streamer socials to server-side clients. The field exists in its API but is behind an integrity check that a datacenter IP cannot pass, so socials is filled for Kick channels and empty for Twitch ones. This Actor will not pretend otherwise, and it does not try to defeat the check.
  • Twitch returns at most 100 live channels per category per request and blocks paging beyond that the same way. Add languages to widen a sweep: each language is a separate request with its own 100.
  • Kick publishes no follower count in its live feed or search results — those rows get it from the profile lookup, which is why Include channel details is on by default.
  • viewers is a snapshot at the moment of the run; for a trend, schedule the Actor and keep the dataset.
  • Every bound (minFollowers, maxViewers…) treats 0 as "no limit".

Input example

{
"platforms": [
"twitch",
"kick"
],
"categories": [
"Just Chatting"
],
"sortBy": "viewers-desc",
"minFollowers": 0,
"maxFollowers": 0,
"minViewers": 0,
"maxViewers": 0,
"onlyLive": false,
"includeChannelDetails": true,
"maxResults": 50
}

How much does it cost?

Pay per channel — no subscription, no minimum, no charge for platform usage.

VolumePrice
1,000 channels$2.50 (+ $1.00 with stream)
10,000 channels$25.00 (+ $10.00 with stream)
100,000 channels$250.00 (+ $100.00 with stream)

The Apify free plan includes $5 of usage every month — about 2,000 channels with this Actor, no card needed. Nothing else is charged: platform usage is included in the price, and Apify Bronze, Silver and Gold subscribers get 10%, 20% and 30% off these prices.

Use it from code, n8n, Make, Zapier or an AI agent

Run the Actor and download the dataset in one call (JSON by default; add &format=csv or xlsx):

curl -X POST "https://api.apify.com/v2/acts/chorelet~live-streams-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"platforms": ["twitch", "kick"], "categories": ["Just Chatting"], "sortBy": "viewers-desc", "minFollowers": 0, "maxFollowers": 0, "minViewers": 0, "maxViewers": 0, "onlyLive": false, "includeChannelDetails": true, "maxResults": 50}'

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("chorelet/live-streams-scraper").call(run_input={"platforms": ["twitch", "kick"], "categories": ["Just Chatting"], "sortBy": "viewers-desc", "minFollowers": 0, "maxFollowers": 0, "minViewers": 0, "maxViewers": 0, "onlyLive": false, "includeChannelDetails": true, "maxResults": 50})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
  • n8n, Make, Zapier — use the Apify node/module: run the Actor, then "get dataset items".
  • Google Sheets, Slack, webhooks — add an integration on the run's Integrations tab.
  • AI agents — the Actor is available as a tool through the Apify MCP server; the dataset schema describes every field for the model.
  • Schedules — run it hourly, daily or weekly from the Schedules tab.

FAQ

Can I get Twitch streamers' social links?

No, and no Actor running on a server can: Twitch puts that field behind an integrity check that datacenter IPs cannot pass. Kick publishes them openly, and this Actor returns them for Kick channels.

How do I find small streamers to sponsor?

Pick a category, set Sort live channels by to fewest viewers and set Maximum followers to your ceiling. A test run on Software and Game Development returned channels with 0, 1, 10 and 90 followers, all live.

Why do I only get 100 channels from a category?

That is Twitch's cap per request, and paging past it is blocked. Add languages — each one is a separate request with its own 100 rows — or run several categories.

What is the difference between a profile row and a listing row?

A listing row comes from a category or search page and is charged as a stream. A profile row needed its own lookup — that is where the bio, account age, follower count and Kick socials come from — and is charged as a channel.

Does it need a Twitch or Kick account?

No. Both platforms serve this data to anonymous visitors, and the Actor uses the same public endpoints their websites do.

Support

Questions, missing fields or a source that changed? Open an issue on the Issues tab or write to support@chorelet.app — problems are usually fixed within a day, and the Actor is checked every morning by an automated test run. If the Actor saved you time, a short review on its Store page helps other people find it.