Twitch Channel Scraper avatar

Twitch Channel Scraper

Pricing

from $2.00 / 1,000 channels

Go to Apify Store
Twitch Channel Scraper

Twitch Channel Scraper

Scrape Twitch channels by username, keyword or game: followers, live status and viewers, last stream, bio, business emails, socials and panel links. Add past broadcasts, top clips and full VOD chat replays. No login. Ideal for streamer discovery, influencer outreach and stream analytics.

Pricing

from $2.00 / 1,000 channels

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

2

Monthly active users

11 days ago

Last modified

Share

🚀 Twitch Channel Scraper

Easily extract Twitch channel data without an account. The Twitch Channel Scraper collects channels by username, keyword search or game category (the channels live right now), and returns followers, live status and viewers, last stream, bio, business emails, social and panel links. Optionally add each channel's past broadcasts, top clips, and the full chat replay of any VOD. Results are ready as JSON, CSV or Excel.

✨ Features

  • 👤 Channel profiles: followers, partner/affiliate status, language, bio, profile and banner images, account creation date and total video count.
  • 🔴 Live status: whether the channel is live, the stream title, game, viewer count, start time and tags, plus the last stream's date, title and game.
  • 📇 Contacts for outreach: business emails found in the bio and panels, linked socials (YouTube, X, Instagram, TikTok, Discord…) and every panel link (merch, tips, sponsors).
  • 🔍 Channel search: up to 100 channels per keyword.
  • 🎮 Live channels by game: the most-watched live channels in any category, with up to 100 more for each stream language you add.
  • 🎬 Videos (VODs): past broadcasts, highlights and uploads with views, duration, game and publish date.
  • ✂️ Top clips: most-viewed clips (all time, last month, week and day) with views, duration, who clipped them and the VOD moment they came from.
  • 💬 Chat replay: every chat message of a past broadcast with its time in the video, user, badges and emotes.
  • 🧹 No duplicates: a channel found through several searches or games is saved and charged once.
  • ⚡ No login, no browser: fast and light.

🛠️ How It Works

  1. Add channels, search keywords or games, in any mix, one per line. Channels work as shroud, @shroud or https://www.twitch.tv/shroud.
  2. Optionally add videos and clips per channel, or VOD URLs for chat replay.
  3. Set Max items: the cap for channels, videos and clips across the whole run (default 50). Channels are taken from your lists in turn, so one search can't use up the whole limit.
  4. Run the scraper. Rows land in the dataset, ready to download or to fetch via API, webhook or a scheduled run.

📥 Input

FieldDescription
channelsUsernames or channel URLs.
searchQueriesKeywords to find channels, e.g. valorant, cooking.
gamesGame or category names (Fortnite, Just Chatting) or category URLs. Returns the channels live there now.
languagesOptional language codes for the games, e.g. en, es, de.
videosPerChannelPast broadcasts, highlights and uploads per channel, newest first (default 0 = none).
clipsPerChannelTop clips per channel, most-viewed first (default 0 = none).
chatVideoUrlsVOD URLs (https://www.twitch.tv/videos/2890960011) or IDs for chat replay.
maxChatMessagesPerVideoStop each chat replay after this many messages (default 1000, 0 = the whole chat).
maxItemsMaximum channels + videos + clips for the whole run (default 50, 0 = no limit).
{
"games": ["Just Chatting"],
"languages": ["en", "es"],
"videosPerChannel": 10,
"maxItems": 500
}

💵 Pricing

Pay only for what you get, with no monthly fee:

EventPrice
Channel$0.002 per channel ($2 per 1,000)
Video$0.0005 per video ($0.50 per 1,000)
Clip$0.0005 per clip ($0.50 per 1,000)
Chat message$0.00002 per message ($0.02 per 1,000)
Actor start$0.00005 per run (per GB of memory)

Examples: 100 channels cost $0.20; 100 channels with their 10 newest videos each cost $0.70. The full chat of a busy 3-hour broadcast (about 2,500 messages) costs about $0.05.

📊 Sample Output Data

Every row has a type: channel, video, clip or chatMessage. The Output tab has a separate view for each. A channel row (panels shortened):

{
"type": "channel",
"id": "44445592",
"login": "pokimane",
"displayName": "pokimane",
"url": "https://www.twitch.tv/pokimane",
"description": "hi ♡ i stream sometimes 📧 Business inquiries: teampokimane@wmeagency.com",
"followers": 9443737,
"isPartner": true,
"isAffiliate": false,
"language": "en",
"isLive": false,
"streamTitle": null,
"streamGame": null,
"viewers": null,
"streamStartedAt": null,
"streamTags": [],
"lastStreamAt": "2026-09-28T20:38:29.567135Z",
"lastStreamTitle": "im sorry",
"lastStreamGame": "Just Chatting",
"videoCount": 583,
"emails": ["teampokimane@wmeagency.com"],
"socialLinks": [
{ "name": "instagram", "title": "Instagram", "url": "https://www.instagram.com/imane" },
{ "name": "youtube", "title": "YouTube", "url": "https://www.youtube.com/pokimane" },
{ "name": "tiktok", "title": "TikTok", "url": "https://www.tiktok.com/@poki" }
],
"panelLinks": ["https://streamelements.com/pokimane/tip", "https://www.discord.gg/poki"],
"panels": [{ "title": null, "description": null, "url": "https://streamelements.com/pokimane/tip" }],
"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",
"source": "channel",
"sourceQuery": null,
"scrapedAt": "2026-10-04T15:21:08.218Z"
}

A video, a clip and a chat message:

[
{
"type": "video",
"id": "2890960011",
"url": "https://www.twitch.tv/videos/2890960011",
"title": "grinding to 2100 + crafting perhaps",
"channel": "shroud",
"videoType": "archive",
"views": 3907,
"durationSeconds": 44292,
"game": "AION 2",
"language": "en",
"publishedAt": "2026-10-03T18:18:00Z",
"thumbnailUrl": "https://static-cdn.jtvnw.net/cf_vods/…/thumb0-640x360.jpg"
},
{
"type": "clip",
"id": "2358589597",
"url": "https://www.twitch.tv/shroud/clip/TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ",
"title": "F Shroud",
"channel": "shroud",
"views": 563046,
"durationSeconds": 28,
"game": "Diablo IV",
"clippedBy": "pato_bolado",
"createdAt": "2023-06-02T11:41:50Z",
"vodId": null,
"vodOffsetSeconds": null
},
{
"type": "chatMessage",
"id": "1d66272e-b99f-46e8-8c18-3bfd7c6ae600",
"videoId": "2890960011",
"channel": "shroud",
"offsetSeconds": 17,
"postedAt": "2026-10-03T18:18:18.943Z",
"username": "izzy_tv",
"message": "OY",
"emoteIds": [],
"badges": ["subscriber/0", "nopixel-v-launch/1"],
"userColor": "#FFCB00"
}
]
FieldDescription
followers, videoCountTotals at the time of the run.
isLive, viewers, streamGameThe live stream right now; null when offline.
emailsEmail addresses written in the bio or panels.
socialLinks, panelLinksThe channel's linked socials, and every link from its About panels.
videoTypearchive (past broadcast), highlight or upload.
offsetSecondsWhen the chat message was sent, in seconds from the start of the video.
source, sourceQueryHow the channel was found: channel, search or game, and which keyword or game.

💡 Good to Know

  • Twitch lists up to 100 results per view. Search returns up to 100 channels per keyword, and a game returns its 100 most-watched live channels. Add languages, related keywords or more games for more. Videos combine the newest and most-viewed of each kind (up to a few hundred per channel), and clips combine the top 100 of each period.
  • Live data is a snapshot. Schedule the run (e.g. hourly) to track viewers, live status and followers over time.
  • Chat replay works for past broadcasts that are still available. In extremely busy seconds a few messages may be missed.
  • Channels, games and videos that don't exist are skipped and not charged. The status message lists them.

Find streamers, track channels and analyse chat with Twitch Channel Scraper today! 🚀