Twitch Scraper
Pricing
from $1.60 / 1,000 scraped twitch channels
Twitch Scraper
Scrape public Twitch channel profiles, live streams, games, clips, and VOD metadata. Export source URLs, public metrics, media URLs, and timestamps.
Pricing
from $1.60 / 1,000 scraped twitch channels
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🎮 Twitch scraper for channels, streams, games, clips, and VODs
Twitch Scraper collects public data from Twitch channels, live streams, games, clips, and VOD pages. Add channel URLs, usernames, game names, game directory URLs, VOD URLs, or VOD IDs, then export rows with profile fields, live status, viewer counts, media URLs, source URLs, and scrape timestamps.
Use this Twitch scraper for creator research, live-stream monitoring, game discovery, clip tracking, VOD enrichment, or repeatable Twitch data feeds. It works with public Twitch surfaces and does not ask for cookies, a login, or a Twitch API key.
For a small first run, keep Mode set to Top live streams and start the Actor. Switch to Channel profiles with a target such as https://www.twitch.tv/shroud when you want one channel profile.
✅ What this Actor does
- Scrapes Twitch channel profiles.
- Searches Twitch channels by keyword.
- Scrapes top live streams.
- Scrapes live streams for a game or game directory.
- Scrapes top games.
- Scrapes clips from a channel for a selected time period.
- Scrapes public VOD metadata from Twitch video URLs or IDs.
- Saves one dataset row per Twitch result.
- Adds source fields so every row can be traced back to the input.
- Stops at your selected result limits and skips unavailable public items.
This Actor focuses on public Twitch metadata. It does not download videos, scrape private chat, log in, bypass subscriber-only content, or collect hidden data.
📦 Data you can export
Every row includes rowType, sourceMode, sourceTarget, sourceRank, sourceUrl, and scrapedAt. Other fields depend on the Twitch surface you scrape.
Channel rows can include:
- Channel ID, login, display name, description, and URL
- Profile and banner image URLs
- Follower count when Twitch exposes it
- Partner and affiliate flags
- Live status, viewers, stream title, current game, and start time
- Channel creation date
- Last broadcast title, game, and date
- Optional recent VODs and top clips
Stream rows can include:
- Stream ID, title, viewer count, game, start time, and preview image URL
- Broadcaster profile details
- Tags and source ranking
Game rows can include:
- Game ID, display name, viewer count, broadcaster count, box art URL, and tags
Clip and video rows can include:
- Clip or video ID, title, views, duration, creation date, thumbnail URL, and URL
- Game details
- Broadcaster details
- Curator details for clips
Unavailable fields are saved as null or empty arrays instead of guessed values.
🚀 How to run
- Choose Mode based on the Twitch surface you want.
- Add one target per line unless you are using Top live streams or Top games, which can run without targets.
- Set Results per target for search, stream, game, clip, and top-list modes.
- For channel profiles, decide whether to include recent videos and top clips.
- For clips, choose the clip period.
- Run the Actor and open the dataset.
Start with one or two targets and a low result limit when testing a new workflow.
🔎 Input options
mode controls what the Actor collects:
channelsgets one public channel profile per channel target.searchChannelssearches Twitch channels by keyword.topStreamsgets top live streams and does not require targets.gameStreamsgets live streams for a game name or game directory URL.topGamesgets top Twitch games and does not require targets.clipsgets clips from channel targets.videosgets one VOD metadata row per VOD URL or ID.
targets accepts values for the selected mode: usernames such as shroud, channel URLs such as https://www.twitch.tv/shroud, game names such as Just Chatting, game directory URLs, VOD URLs, or VOD IDs.
maxResults limits rows per target for browse and search modes. Twitch browse surfaces are capped at 30 results per target.
clipPeriod controls the clip time range.
includeRecentVideos, includeTopClips, recentVideosLimit, and topClipsLimit control optional channel enrichment.
Example input:
{"mode": "channels","targets": ["https://www.twitch.tv/shroud"],"maxResults": 30,"clipPeriod": "LAST_WEEK","includeRecentVideos": true,"includeTopClips": false,"recentVideosLimit": 5,"topClipsLimit": 5}
📄 Output example
{"rowType": "channel","sourceMode": "channels","sourceTarget": "https://www.twitch.tv/shroud","sourceRank": 1,"sourceUrl": "https://www.twitch.tv/shroud","id": "37402112","login": "shroud","displayName": "shroud","profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/example-profile_image-300x300.png","bannerImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/example-channel_offline_image.png","followersCount": 10000000,"isPartner": true,"isAffiliate": false,"isLive": true,"currentViewers": 25000,"streamTitle": "Live stream title","currentGame": "Just Chatting","startedAt": "2026-05-27T12:00:00.000Z","createdAt": "2011-11-22T00:00:00.000Z","lastBroadcastTitle": "Previous broadcast title","lastBroadcastGame": "Marvel Rivals","lastBroadcastDate": "2026-05-26T21:10:00.000Z","recentVideos": [{"id": "1234567890","title": "Recent VOD title","url": "https://www.twitch.tv/videos/1234567890","createdAt": "2026-05-26T21:10:00.000Z","durationSeconds": 5400,"viewCount": 123456}],"topClips": [],"scrapedAt": "2026-05-27T12:30:00.000Z"}
💳 Pricing
This Actor uses pay-per-event pricing. Channel profile rows use the channel event because they can include richer profile and enrichment data. Stream, game, clip, and video rows use the lighter Twitch item event.
You only pay for rows that are successfully saved to the dataset. Unavailable channels, missing videos, and empty searches do not create paid output rows.
💡 Common use cases
- Build creator lists with profile, follower, and live-status fields.
- Monitor live streams for a game, category, or competitor set.
- Track games and streamers gaining attention.
- Export clips and VOD metadata for content research.
- Enrich a CRM or creator database with Twitch profile fields.
- Schedule recurring exports into Apify integrations, webhooks, spreadsheets, or BI tools.
⚠️ Limits and notes
- The Actor uses public Twitch data, so fields can be missing when Twitch does not expose them.
- Top streams, top games, channel search, game streams, and clips are capped at 30 rows per target.
channelsmode saves one channel row per valid target.videosmode saves one VOD row per valid VOD URL or ID.- Clip URLs are not input targets. Use a channel target and choose a clip period.
- Results can change quickly because Twitch live streams, viewer counts, games, clips, and VOD availability change throughout the day.
❓ FAQ
🔑 Do I need a Twitch API key?
No. The Actor works with public Twitch surfaces and does not require a Twitch API key, cookies, or login.
📥 Can it download Twitch videos or clips?
No. It exports public metadata and source URLs. It does not download media files.
🎯 Can I run it without targets?
Yes, but only for Top live streams and Top games. Other modes need at least one target.
🧩 Why are some fields empty?
Twitch does not expose every field on every public page. Empty fields are returned as null or empty arrays instead of being guessed.
📝 Changelog
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- YouTube Channel Scraper ↗ - Export YouTube channel profiles and recent video rows without a YouTube API key.
- Twitter Scraper ↗ - Search Twitter/X posts and export current trending topics.
- TikTok Video Downloader ↗ - Save public TikTok video or audio files with dataset metadata.
- SoundCloud Scraper ↗ - Collect public tracks, artists, playlists, albums, and comments from SoundCloud.
- Reddit Scraper ↗ - Search Reddit posts and comments around a topic or brand.
Made with ❤️ by Maxime Dupré