Twitch Scraper — Channels, Streams, Clips & Top Games
Pricing
$2.20 / 1,000 result items
Twitch Scraper — Channels, Streams, Clips & Top Games
Scrape Twitch channels (followers, live status, socials, emails), live streams, VODs, top clips, schedules, top categories and search. No login, no API key.
Pricing
$2.20 / 1,000 result items
Rating
0.0
(0)
Developer
Trevor Ortega
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape public Twitch data without a login or a Twitch API key: channel profiles (followers, partner/affiliate, live status, current stream, social links, team, business emails from the bio), videos / VODs, top clips, stream schedules, live streams (all of Twitch or per category), top categories / games by viewers, and search results for channels or categories. Export to JSON, CSV or Excel, or call it from your app via the API.
What data does Twitch Scraper extract?
Pick a mode. Every item has a type field, so mixed datasets stay easy to filter.
| Mode | One item per | Main fields |
|---|---|---|
channels | channel | login, displayName, followers, broadcasterType (partner / affiliate), isLive, viewers, title, gameName, streamStartedAt, streamTags, language, team, socialLinks, emails, panels, description, createdAt, lastBroadcastAt, profile / banner / offline images |
videos | video | title, videoType (archive / highlight / upload), status, viewCount, durationSeconds, publishedAt, gameName, language, thumbnailUrl, channelLogin, url |
clips | clip | rank, title, viewCount, durationSeconds, createdAt, gameName, channelLogin, creatorLogin (who clipped it), vodUrl (VOD at the clip's timestamp), thumbnailUrl, isFeatured, url |
liveStreams | live stream | rank, channelLogin, title, viewers, startedAt, gameName, language, tags, channelFollowers, isPartner, thumbnailUrl, url |
topCategories | category / game | rank, name, viewers, liveChannels, followers, tags, boxArtUrl, url |
search | channel or category | same as channels (plus searchQuery, searchRank) or as topCategories (plus searchQuery) |
schedule | schedule segment | startAt, endAt, title, categoryName, isCancelled, isNext, channelLogin |
All items also carry id and scrapedAt. Live-only channel fields (viewers, streamId, streamStartedAt,
streamTags) are null / empty while the channel is offline; title and gameName then show the channel's current
stream title and category, as Twitch shows them on the offline channel page.
How to scrape Twitch channels
- Choose Channel profiles + live status.
- Add channel names or URLs (
shroud,https://www.twitch.tv/pokimane), as many as you like. - Run. Channels are fetched 30 per request, so thousands of channels take minutes.
{"mode": "channels","channels": ["shroud", "pokimane", "https://www.twitch.tv/sodapoppin"],"maxItems": 100}
Output (shortened):
{"type": "channel","id": "26301881","login": "sodapoppin","displayName": "sodapoppin","url": "https://www.twitch.tv/sodapoppin","description": "Wtf do i write here? Click my stream, or i scream.Business inquiries - sodapoppin@mythictalent.com","followers": 8990164,"broadcasterType": "partner","createdAt": "2011-11-22T04:40:56.75883Z","isLive": false,"title": "Farming gold for tournament and prepping. | !podcast !merch !gamersupps !starforge","gameName": "World of Warcraft","language": "en","viewers": null,"lastBroadcastAt": "2026-10-10T00:17:57.966267Z","team": "otk","teamUrl": "https://www.twitch.tv/team/otk","socialLinks": [{ "name": "youtube", "title": "YouTube", "url": "https://www.youtube.com/c/sodapoppin" },{ "name": "twitter", "title": "Twitter", "url": "https://twitter.com/Sodapoppintv/" }],"emails": ["sodapoppin@mythictalent.com"],"panels": [{ "title": null, "description": null, "linkUrl": "https://gamersupps.gg/poor", "imageUrl": "https://panels.twitch.tv/panel-26301881-image-71e75376-1816-4a8f-9d7f-a398247ce976" }],"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/...-profile_image-300x300.png","scrapedAt": "2026-10-10T02:43:20Z"}
emails are the addresses the streamer published in the channel bio or About panels (usually for business
inquiries). Nothing hidden or "click to reveal" is collected.
How to scrape Twitch clips and VODs
- Videos / VODs: mode
videos, your channels, Video type (archive= past broadcasts,highlight,uploadorall) and Video order (newest or most viewed). Set Max items per source to e.g. 20 to get the 20 newest videos of each channel. - Top clips: mode
clips, channels and/or categories, Clips from the last 24 hours, 7 days, 30 days or all time. Clips come sorted by views withrank;vodUrllinks to the moment in the original broadcast.
{"mode": "clips","channels": ["xqc"],"categories": ["Just Chatting"],"clipPeriod": "7d","maxItemsPerSource": 50}
{"type": "clip","id": "256760451","rank": 1,"url": "https://www.twitch.tv/xqc/clip/AbrasiveEsteemedSeahorseDBstyle-AQK13VBio_zKsRSX","title": "LUL","viewCount": 26016,"createdAt": "2026-10-04T02:09:01Z","durationSeconds": 39,"gameName": "Grand Theft Auto V","channelLogin": "xqc","creatorLogin": "pankohh","vodUrl": "https://www.twitch.tv/videos/2891086107?t=5h31m27s","period": "7d"}
How to get top live streams and top games on Twitch
- Live streams: mode
liveStreams. Leave Categories empty for the most-watched streams on all of Twitch, or add categories (Just Chatting,league-of-legends, a directory URL) for each category's live streams by viewers. Stream tags applies Twitch's tag filter (English,Deutsch,Español,DropsEnabled, ...). - Top categories: mode
topCategoriesreturns games and categories ranked by current viewers, with the number of live channels and followers. - Search: mode
searchwith search terms; choose channels (full channel profiles) or categories.
{ "mode": "liveStreams", "categories": ["Fortnite"], "streamTags": ["English"], "maxItems": 200 }
{"type": "stream","id": "320682700508","rank": 1,"channelLogin": "theburntpeanut","url": "https://www.twitch.tv/theburntpeanut","title": "[DROPS] !Subway X Arc Raiders - Fuel The Raid | w/ HUTCHMF | DAY 2 ...","viewers": 49952,"startedAt": "2026-10-09T23:20:03Z","language": "en","tags": ["English", "funny", "gaming", "DropsEnabled"],"gameName": "ARC Raiders","channelFollowers": 2568605,"isPartner": true}
Does it work without login or a Twitch API key?
Yes. The Actor reads the same public GraphQL API that Twitch's own apps use, without an account, an OAuth token or a Helix API key, and without a browser. Runs are fast (300 live streams in about 6 seconds) and the default Apify datacenter proxy is enough; a residential proxy is not needed.
Monitor changes on a schedule
Turn on Only new or changed items and the Actor remembers what earlier runs of the same input returned. Videos,
clips, search and top-category runs then output only items that are new since the last run; channel runs output a
channel only when it went live or offline or changed its stream title or category; schedule runs report new,
moved, renamed or cancelled segments; live-stream runs report new broadcasts and streams that switched category.
Unchanged items are dropped before they are saved, so they are not charged. Save the input as a task and add a
Schedule in Apify (for example hourly for live status, daily for new VODs); give each watch its own
Monitoring key if several schedules share an input. Output items get changeType (new or changed) and,
for changed items, previousValues with the old values of the fields that changed.
Pricing
Pay per result: one channel, video, clip, live stream, category or schedule entry saved to the dataset is one result. There is no start fee. Channels that do not exist and items skipped by monitoring are free. Platform usage is small: about $0.01 per 1,000 results on 512 MB.
Is it legal to scrape Twitch?
The Actor only reads what Twitch shows to any logged-out visitor: public profiles, stream titles, viewer counts, public videos and clips, and contact details streamers chose to publish in their bio or panels. It does not log in, does not read chats, subscriptions or private data, and does not download video. Clips and videos are the creators' content; check Twitch's terms and data-protection rules (e.g. GDPR when you contact streamers) for your use case. You are responsible for how you use the data.
Support
Missing a field or found a channel that fails? Open an issue in the Issues tab with your input. Issues are usually answered within a day.