Twitch Channel Scraper (Followers, Viewers, Emails) avatar

Twitch Channel Scraper (Followers, Viewers, Emails)

Pricing

from $1.40 / 1,000 channel scrapeds

Go to Apify Store
Twitch Channel Scraper (Followers, Viewers, Emails)

Twitch Channel Scraper (Followers, Viewers, Emails)

Paste Twitch channel names or links and get followers, live status and viewers, game, language, partner status, last stream, bio, business emails and social links from the panels. No login. Export to Excel, CSV or JSON.

Pricing

from $1.40 / 1,000 channel scrapeds

Rating

0.0

(0)

Developer

Julio Barcellos Rangel

Julio Barcellos Rangel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

Twitch Channel Scraper takes a list of Twitch channel names or links and returns each channel's stats and contact details: followers, live status and viewers, game, language, partner status, last stream, bio, business emails and social links from the panels. It is a Twitch streamer scraper for brands, agencies and esports teams who look for sponsorship partners or track channel growth. Use it as a Twitch follower count checker or to find Twitch streamer emails and export them to Excel, CSV or JSON, with no login.

What does Twitch Channel Scraper do?

You paste Twitch channels. The scraper asks Twitch for the same public channel data the twitch.tv website shows, 20 channels per request, and saves one row per channel.

It accepts these forms, mixed in the same list:

Input formExample
Channel namepokimane
Channel name with @@pokimane
Channel linkhttps://www.twitch.tv/kaicenat

Names are lowercased and duplicates are removed, so Pokimane, @pokimane and twitch.tv/pokimane count as one channel.

For each channel you get the follower count, whether it is live right now (with viewers, title, game and tags), the title and category currently set, the last broadcast, partner and affiliate status, the bio, any email addresses written in the bio or panels, social links found in the panels, and the profile and banner images. No Twitch account, OAuth token or API key is needed.

What data can you extract?

FieldWhat it meansExample
inputThe channel name the scraper read from your linepokimane
loginTwitch login namepokimane
urlChannel linkhttps://www.twitch.tv/pokimane
channelIdTwitch numeric user ID44445592
displayNameDisplay namepokimane
followersNumber of followers9442180
descriptionChannel biohi ♡ i stream sometimes 📧 Business inquiries: …
isLiveLive at the moment of the runtrue
viewersCurrent viewers, only when live9904
streamTitleTitle of the live stream, only when live[some1saydrops?] NEW WEEK NEW ME!
streamGameGame or category of the live streamAION 2
streamStartedAtWhen the live stream started2026-10-12T16:59:01Z
streamTagsTags of the live stream (empty when offline)["English", "DropsEnabled"]
languageBroadcast language from the channel settingsEN
currentTitleStream title currently set on the channel (also when offline)im sorry
currentGameCategory currently set on the channelJust Chatting
lastStreamAtStart time of the last broadcast2026-09-28T20:38:29.567135Z
lastStreamTitleTitle of the last broadcastim sorry
lastStreamGameCategory of the last broadcastJust Chatting
isPartnerTwitch Partnertrue
isAffiliateTwitch Affiliatefalse
emailsEmail addresses found in the bio and panel texts["teampokimane@wmeagency.com"]
socialsFirst panel link per network: youtube, instagram, twitter, tiktok, discord, facebook, kick, linktree{"tiktok": "https://www.tiktok.com/@poki"}
panelLinksEvery unique link in the channel panels["https://streamelements.com/pokimane/tip", …]
profileImageUrlProfile picture (300 px)https://static-cdn.jtvnw.net/jtv_user_pictures/…-profile_image-300x300.png
bannerImageUrlChannel banner imagehttps://static-cdn.jtvnw.net/jtv_user_pictures/…-profile_banner-480.jpeg
createdAtWhen the channel account was created2013-06-07T14:25:22.266478Z
scrapedAtWhen the row was collected2026-10-12T20:22:09.582Z
errorOnly on error rows: why the channel was not returnedChannel not found or banned

The live examples (viewers and the stream… fields) come from a real earlier run on a channel (shroud) that was live at the time; the other examples are pokimane. When a channel is offline, viewers, streamTitle, streamGame and streamStartedAt are null and streamTags is empty.

How to use Twitch Channel Scraper

  1. Open Twitch Channel Scraper in Apify Console (sign in or create an Apify account).
  2. In Channels, paste channel names or links, one per line. Thousands at once are fine.
  3. Leave Proxy on the default Apify Proxy unless you have a reason to change it.
  4. Click Start. The log shows how many channels were returned.
  5. Open the Output tab, then click Export to download JSON, CSV, Excel or HTML.
  6. Optional: save the input as a task and schedule it to track follower growth or see who is live at a given time.

Input

FieldTypeDefaultDescription
channelsarray of strings (required)["pokimane", "https://www.twitch.tv/kaicenat"]Twitch channel names or links (twitch.tv/name).
proxyobject{"useApifyProxy": true}Apify Proxy settings.

There is no "max results" setting: each channel returns one row. A channel name must be 2 to 25 letters, numbers or underscores. Lines that are not a valid name or twitch.tv link get an error row instead of being skipped silently.

Example input:

{
"channels": [
"pokimane",
"https://www.twitch.tv/kaicenat",
"@shroud"
],
"proxy": {
"useApifyProxy": true
}
}

Output example

A real row from the latest run:

{
"input": "pokimane",
"login": "pokimane",
"url": "https://www.twitch.tv/pokimane",
"channelId": "44445592",
"displayName": "pokimane",
"followers": 9442180,
"description": "hi ♡ i stream sometimes 📧 Business inquiries: teampokimane@wmeagency.com",
"isLive": false,
"viewers": null,
"streamTitle": null,
"streamGame": null,
"streamStartedAt": null,
"streamTags": [],
"language": "EN",
"currentTitle": "im sorry",
"currentGame": "Just Chatting",
"lastStreamAt": "2026-09-28T20:38:29.567135Z",
"lastStreamTitle": "im sorry",
"lastStreamGame": "Just Chatting",
"isPartner": true,
"isAffiliate": false,
"emails": ["teampokimane@wmeagency.com"],
"socials": {
"youtube": "https://www.youtube.com/c/pokimane",
"twitter": "http://www.twitter.com/pokimanelol",
"instagram": "http://www.instagram.com/imane",
"tiktok": "https://www.tiktok.com/@poki",
"discord": "https://www.discord.gg/poki"
},
"panelLinks": [
"https://streamelements.com/pokimane/tip",
"https://secure.twitch.tv/products/pokimane/ticket",
"https://www.youtube.com/c/pokimane",
"http://www.twitter.com/pokimanelol",
"http://www.instagram.com/imane",
"https://www.tiktok.com/@poki",
"https://www.discord.gg/poki"
],
"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/912232e8-9e53-4fb7-aac4-14aed07869ca-profile_image-300x300.png",
"bannerImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/cfaf7ac8-56d9-4f3a-b5b0-328e90976ea3-profile_banner-480.jpeg",
"createdAt": "2013-06-07T14:25:22.266478Z",
"scrapedAt": "2026-10-12T20:22:09.582Z"
}

Real error rows from an earlier run. They are not charged:

[
{ "input": "bad name!", "error": "Not a Twitch channel name or link" },
{ "input": "nonexistentuser_zz981", "error": "Channel not found or banned" }
]

How much does it cost?

Twitch Channel Scraper uses pay per event pricing. You pay $2.00 per 1,000 channels returned ($0.002 per channel) on the Free plan. Platform usage (compute and proxy) is included in that price.

Apify planPrice per 1,000 channels
Free$2.00
Bronze (10% off)$1.80
Silver (20% off)$1.60
Gold and higher (30% off)$1.40

Worked examples on the Free plan:

  • 200 streamers on a sponsorship shortlist = $0.40
  • 5,000 channels from a gaming niche = $10.00
  • 1,000 channels checked every day for 30 days = 30,000 channels = $60.00 ($42.00 on Gold)

What you are not charged for:

  • Error rows: lines that are not a Twitch name or link, channels that do not exist or are banned, and channels in a request Twitch did not answer.
  • Retries. A channel is charged once, only when it is returned.
  • Duplicate channels in your list.

Use cases

  • Sponsorship and influencer outreach. Build a list of streamers with follower counts, partner status, business emails and social links in one table.
  • Follower growth tracking. Run the same list every day and chart followers per channel over time.
  • Live monitoring. Schedule runs to see which channels are live, what they play and how many viewers they have at that moment.
  • Esports and gaming market research. Compare channels by language, current category and last stream date.
  • Activity checks. Use lastStreamAt to drop channels that have not streamed for months from a partner list.
  • Cross-platform mapping. Get each streamer's YouTube, Instagram, X (Twitter), TikTok, Discord, Facebook, Kick or Linktree link from the panels.
  • CRM enrichment. Add Twitch IDs, follower counts and avatars to existing creator records.

Tips and limits

  • Emails come from text only. The scraper looks for email addresses in the channel bio and in the text of the channel panels. Emails shown only inside panel images, behind links or on other websites are not found.
  • Social links come from panels. socials is filled from links in the channel panels, matched by domain, keeping the first link per network. It is a best-effort match, so check panelLinks for the full list of links.
  • Live data is a snapshot. isLive, viewers and the stream… fields describe the moment of the run. Run again to refresh them.
  • What is not collected. Videos (VODs), clips, chat, schedules, follower lists and subscriber counts are not part of the output.
  • You need the channel names. The scraper does not search Twitch or list channels by game. Paste the channels you want.
  • Batches and retries. Channels are requested 20 at a time. Each request gets up to 5 tries with a growing pause. If Twitch does not answer a batch after 5 tries, each channel in it gets the error "Twitch did not answer"; run them again.
  • Error rows. "Not a Twitch channel name or link" is for lines that are not a valid name (2 to 25 letters, numbers or underscores) or twitch.tv link. "Channel not found or banned" is for channels Twitch did not return.
  • Text fields as typed. language comes as Twitch stores it (for example EN), and links keep their original http or https.

Use it from the API, Python or JavaScript

JavaScript (Node.js) with the official apify-client package:

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const input = { channels: ['pokimane', 'https://www.twitch.tv/kaicenat'] };
(async () => {
const run = await client.actor('juliob.rangel/twitch-channel-scraper-fast').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
})();

Python with the official apify-client package:

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run_input = {'channels': ['pokimane', 'https://www.twitch.tv/kaicenat']}
run = client.actor('juliob.rangel/twitch-channel-scraper-fast').call(run_input=run_input)
items = client.dataset(run['defaultDatasetId']).list_items().items
for item in items:
print(item.get('login'), item.get('followers'), item.get('emails'))

Plain HTTP, running the scraper and getting the rows in one call:

curl -X POST "https://api.apify.com/v2/acts/juliob.rangel~twitch-channel-scraper-fast/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channels": ["pokimane"]}'

The scraper also works with Make, Zapier and n8n, can export results to Google Sheets, can call your webhook when a run finishes, and can be used by AI agents through the Apify MCP server.

FAQ

Do I need a Twitch login, OAuth token or API key?

No. The scraper reads public channel data without logging in. You only need an Apify account to run it.

Can I export Twitch channel data to Excel or CSV?

Yes. Open the Output tab after the run and export as Excel, CSV, JSON or HTML, or read the dataset through the API.

How many channels can I scrape in one run?

Thousands. There is no fixed cap in the scraper; channels are requested 20 at a time, so bigger lists take longer.

How does it find streamer emails?

It reads the bio and the text of the channel panels and keeps every email address written there, in lowercase and without duplicates. If a streamer did not write an email as text, emails is empty.

The scraper only collects publicly available data. You are responsible for complying with Twitch's terms and with privacy laws such as GDPR and LGPD. Personal data such as emails needs a legitimate reason to be collected and used.

Why did I get a row with an error field?

The line was not a valid Twitch name or link, the channel does not exist or is banned, or Twitch did not answer that batch. Error rows are not charged.

Can I get subscriber counts or past videos?

No. Subscriber counts, VODs and clips are not part of the output. You get follower counts, live data and the last broadcast.


Extrator de Canais da Twitch (PT-BR)

Cole nomes ou links de canais da Twitch e receba seguidores, se está ao vivo e quantos espectadores, jogo, idioma, parceria, última live, bio, e-mails comerciais e redes sociais dos painéis. Sem login. Você paga só por canal retornado.