Twitch Scraper | Channels, Live Streams, VODs & Chat avatar

Twitch Scraper | Channels, Live Streams, VODs & Chat

Pricing

from $2.00 / 1,000 channels

Go to Apify Store
Twitch Scraper | Channels, Live Streams, VODs & Chat

Twitch Scraper | Channels, Live Streams, VODs & Chat

Scrape Twitch channels by username, keyword or game, or the top live streams right now: followers, live viewers, stream title and tags, bio, business emails, socials and panel links. Add VODs, top clips and full chat replays. No login.

Pricing

from $2.00 / 1,000 channels

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

12

Total users

8

Monthly active users

9 days ago

Last modified

Security

Limited permissions

Share

🚀 Twitch Scraper | Channels, Live Streams, VODs & Chat

Get Twitch stats for any channel without an account or API key. This Twitch scraper collects channels by username, keyword search, game category (the top streamers live there right now) or the top live streams on all of Twitch, and returns follower count, live status and viewer count, last stream, bio, business emails and panel links. Add each channel's VODs and top clips, and export the full chat logs of any past broadcast, as JSON, CSV or Excel.

🎯 Use Cases

  • Track Twitch stats over time: schedule a run and log follower count, live viewers and stream titles for the channels you follow, your own Twitch analytics without a dashboard subscription.
  • Find the top streamers in any game: list the most-watched live channels in Fortnite, Just Chatting or any category, or across all of Twitch, per stream language.
  • Export Twitch chat logs: download every chat message of a past broadcast with its time in the VOD, user and badges, for moderation reviews, sentiment analysis or highlight finding.
  • Influencer outreach with Twitch emails: collect business emails from bios and About panels, plus merch, tip and sponsor links, to build a streamer contact list.
  • Analyse Twitch VODs and clips: see which past broadcasts and clips get the most views, how long streams run and which games a channel plays.
  • Replace a Twitch API integration: get public channel data as a dataset or API call, with no app registration or OAuth tokens.

✨ Features

  • Channel profiles: follower count, partner and affiliate status, language, bio, profile and banner images, account creation date and total video count.
  • Live status and viewers: 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 About panels, the channel's linked socials (socialLinks: YouTube, X, Instagram, TikTok, Discord…) and every panel link (merch, tips, sponsors).
  • Channel search: up to 100 channels per keyword.
  • Top streamers by game: the most-watched live channels in any category, with up to 100 more for each stream language you add.
  • Top live streams: the most-watched live channels on all of Twitch right now (top 30, plus 30 per stream language), no input needed. Each row has its rank in the list.
  • Twitch 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 logs (chat replay): every chat message of a past broadcast with its time in the video, user, badges and emotes.
  • No duplicates: a channel, video or clip found through several searches or games is saved and charged once.
  • Fair billing: channels, games and videos that don't exist are skipped and not charged, and the run stops cleanly at your maximum cost per run.
  • No login: no Twitch account or API key needed.

🛠️ How It Works

  1. Add channels, search keywords or games, or tick Top live streams, in any mix, one per line. Channels work as shroud, @shroud or https://www.twitch.tv/shroud. Optionally set videos and clips per channel, or paste VOD URLs for chat logs.
  2. 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.
  3. Run the scraper. Rows land in the dataset, ready to download or to fetch via API, webhook or a scheduled run.

⚙️ Input

FieldWhat it does
Channels (channels)Usernames or channel URLs.
Search channels (searchQueries)Keywords to find channels, e.g. valorant, cooking. Up to 100 channels per keyword.
Games / categories (games)Game or category names (Fortnite, Just Chatting) or category URLs. Returns the channels live there now, most-watched first.
Top live streams (topLiveStreams)true adds the most-watched live channels on all of Twitch right now: the top 30, or 30 per language.
Stream languages (languages)Optional two-letter codes for the games and top live streams, e.g. en, es, de. Each language returns its own list: 100 per game, 30 for top live streams.
Videos per channel (videosPerChannel)Past broadcasts, highlights and uploads per channel, newest first. Default 0 = none.
Clips per channel (clipsPerChannel)Top clips per channel, most-viewed first. Default 0 = none.
Chat replay: video URLs (chatVideoUrls)VOD URLs (https://www.twitch.tv/videos/2890960011) or IDs for chat logs.
Max chat messages per video (maxChatMessagesPerVideo)Stop each chat replay after this many messages. Default 1000, 0 = the whole chat.
Max items (maxItems)Maximum channels + videos + clips for the whole run. Default 50, 0 = no limit. Chat messages are limited by the setting above.
{
"games": ["Just Chatting"],
"languages": ["en", "es"],
"videosPerChannel": 10,
"maxItems": 500
}

The top live streams in English and Spanish, with their stream titles, games, viewers and tags:

{
"topLiveStreams": true,
"languages": ["en", "es"],
"maxItems": 60
}

An empty input runs a small example with shroud and pokimane.

💰 Pricing

Pay only for what you get, with no monthly rental.

EventPriceWhat you get
Channel$0.002 per channel ($2.00 per 1,000)One channel with profile, followers, live status, emails and links
Video$0.0005 per video ($0.50 per 1,000)One past broadcast, highlight or upload
Clip$0.0005 per clip ($0.50 per 1,000)One clip
Chat message$0.00002 per message ($0.02 per 1,000)One chat replay message
Actor start$0.00005 per runCharged once when the run starts

Examples:

  • 100 channels = $0.20.
  • 100 channels with their 10 newest VODs each = $0.20 + $0.50 = $0.70.
  • The full chat log of a busy 3-hour broadcast (about 2,500 messages) = about $0.05.

📊 Sample Output: Twitch Stats, VODs, Clips and Chat Logs

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

{
"type": "channel",
"id": "41245072",
"login": "loserfruit",
"displayName": "Loserfruit",
"url": "https://www.twitch.tv/loserfruit",
"description": "\"The streamer to watch when no one else is live....\" - Thomas Jefferson",
"followers": 3048541,
"isPartner": true,
"isAffiliate": false,
"language": "en",
"isLive": true,
"streamTitle": "Final Update of Season 4 | Obsession + Honey Sprite",
"streamGame": "Fortnite",
"viewers": 527,
"streamStartedAt": "2026-10-15T09:44:02Z",
"streamTags": ["English", "Australian", "crashout", "spritehunting", "giftsubsplease"],
"lastStreamAt": "2026-10-15T09:44:07.578082Z",
"lastStreamTitle": "Final Update of Season 4 | Obsession + Honey Sprite",
"lastStreamGame": "Fortnite",
"videoCount": 104,
"emails": ["business@loserfruit.com", "loserfruit@gmail.com"],
"socialLinks": [
{ "name": "discord", "title": "Discord", "url": "https://discord.gg/loserfruit" },
{ "name": "youtube", "title": "YouTube", "url": "https://www.youtube.com/user/TheLoserfruit" },
{ "name": "instagram", "title": "Instagram", "url": "https://www.instagram.com/loserfruit/" }
],
"panelLinks": [
"https://geni.us/lufu",
"https://www.youtube.com/@GetRolledDND",
"https://teampwr.gg/",
"https://musclenation.org",
"https://rog.gg/LufuDuo"
],
"panels": [
{ "title": null, "description": null, "url": "https://geni.us/lufu" },
{
"title": null,
"description": "… got business? send emails here...\nbusiness@loserfruit.com\nanything else?\nloserfruit@gmail.com (just me)",
"url": null
},
"…"
],
"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/210e4120-b337-4ee1-af9b-731cccfca85c-profile_image-300x300.png",
"bannerImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/447dc6f3-4588-4621-9aee-0032191d5474-profile_banner-480.jpeg",
"createdAt": "2013-03-11T22:01:35.739177Z",
"source": "game",
"sourceQuery": "Fortnite",
"rank": 12,
"scrapedAt": "2026-10-15T10:03:32.473Z"
}

A VOD, 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": 3970,
"durationSeconds": 44292,
"game": "AION 2",
"language": "en",
"description": null,
"publishedAt": "2026-10-03T18:18:00Z",
"thumbnailUrl": "https://static-cdn.jtvnw.net/cf_vods/…/thumb0-640x360.jpg",
"scrapedAt": "2026-10-04T15:30:33.667Z"
},
{
"type": "clip",
"id": "3384387663",
"slug": "StylishQuaintWoodpeckerResidentSleeper-431DngfrzjaQchSs",
"url": "https://www.twitch.tv/pokimane/clip/StylishQuaintWoodpeckerResidentSleeper-431DngfrzjaQchSs",
"title": "wow",
"channel": "pokimane",
"views": 488732,
"durationSeconds": 35,
"game": "Just Chatting",
"language": "en",
"clippedBy": "response97",
"createdAt": "2022-09-01T19:22:23Z",
"vodId": "1578987447",
"vodOffsetSeconds": 1829,
"thumbnailUrl": "https://static-cdn.jtvnw.net/twitch-video-assets/…/thumb-0000000000-1920x1080.jpg",
"scrapedAt": "2026-10-20T15:21:35.142Z"
},
{
"type": "chatMessage",
"id": "1d66272e-b99f-46e8-8c18-3bfd7c6ae600",
"videoId": "2890960011",
"channel": "shroud",
"offsetSeconds": 17,
"postedAt": "2026-10-03T18:18:18.943Z",
"username": "izzy_tv",
"displayName": "izzy_tv",
"userId": "60978459",
"message": "OY",
"emoteIds": [],
"badges": ["subscriber/0", "nopixel-v-launch/1"],
"userColor": "#FFCB00",
"videoTitle": "grinding to 2100 + crafting perhaps"
}
]
FieldDescription
followers, videoCountTotals at the time of the run.
isLive, viewers, streamGameThe live stream right now; null when the channel is offline.
emailsEmail addresses written in the bio or About panels.
panelLinks, panelsEvery link from the channel's About panels, and each panel's text.
videoTypearchive (past broadcast), highlight or upload.
vodId, vodOffsetSecondsThe VOD a clip was cut from and the second it starts at.
offsetSecondsWhen the chat message was sent, in seconds from the start of the video.
source, sourceQueryHow the channel was found: channel, search, game or top (top live streams), and which keyword, game or language.
rankThe channel's position in its search, game or top live list (most-watched first for live lists); null for channels you entered.

🔁 Schedule Twitch Stats Tracking and Integrate

Live data is a snapshot, so run it on a schedule to turn it into Twitch analytics: hourly to track viewer count and live status, daily to track follower count and new VODs, and once after each broadcast to save its chat log. Set it up in Apify Schedules, keeping the same input so every run is a dated row you can compare. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new stats land where your team already works.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "games": ["Valorant"], "languages": ["en"], "maxItems": 20 }

❓ Twitch Stats and API FAQ

Does Twitch have an official API? Yes, the Twitch Helix API. To use it you register an application, get a client ID and an OAuth token, and stay within its rate limits. It doesn't return some data that public Twitch pages show, such as a past broadcast's chat replay or a channel's About panels. This Actor needs no key, app or token and returns that data in one dataset: channel stats, VODs, clips, panel links and chat logs.

Can I export the chat logs of a Twitch VOD? Yes. Paste the VOD URL in Chat replay and set Max chat messages per video to 0 for the whole chat. Each message comes with its time in the video, the user, badges and emote IDs. It works for past broadcasts that are still available; in extremely busy seconds a few messages may be missed.

How do I find the top streamers in a game? Add the game or category name, e.g. Fortnite. You get its most-watched live channels right now, up to 100. Add stream languages to get up to 100 more per language.

How do I get the top live streams on Twitch? Tick Top live streams ("topLiveStreams": true). You get the most-watched live channels on all of Twitch right now, with stream title, game, viewers, start time and tags. Add stream languages for the top 30 in each language.

Do I need a Twitch account? No. Everything comes from public channel pages.

Why is a field empty? viewers, streamTitle and streamGame are null when the channel is offline. emails is empty when the channel writes no address in its bio or panels, and panel title or description is null for image-only panels. videoCount can occasionally be null when Twitch doesn't return it.

Are there limits? Twitch lists up to 100 results per view: 100 channels per search keyword, 100 live channels per game and language, and 30 top live streams per language. Add languages, related keywords or more games for more. VODs 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.