Twitch Scraper: Channels, Live Streams, Videos & Clips
Pricing
from $2.00 / 1,000 channel profile scrapeds
Twitch Scraper: Channels, Live Streams, Videos & Clips
Scrape Twitch channels (followers, live status, last stream, social links), live streams by category or across Twitch, VODs, clips and top categories. Language and viewer filters. No login, API key or browser. Pay per result, no start fee.
Pricing
from $2.00 / 1,000 channel profile scrapeds
Rating
0.0
(0)
Developer
rj
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Scrape Twitch in one run: channel profiles with followers, partner status, live status, last stream and public social links (X/Twitter, YouTube, Instagram, TikTok, Discord...; see Social links for how they are collected), live streams by category or across all of Twitch with language and viewer filters, channel videos (VODs) and top clips, and the top categories right now. Most Twitch scrapers do one of these jobs. This Actor does all of them in one run, so you can find who is live in your niche and get each streamer's profile and links for outreach. It reads Twitch's public website API: no login, no API key, no browser. You pay per result with no start fee: $2 per 1,000 channel profiles and $0.50 per 1,000 streams, videos, clips or categories.
What data can you get?
Item (type) | Fields |
|---|---|
| channel | login, display name, URL, bio, followers, partner / affiliate, created date, live now (stream title, category, viewers, start time, tags, language, preview image), current title / category / language settings, mature flag, last broadcast (title, category, date), total videos, social links (a list plus ready-made twitterUrl, youtubeUrl, instagramUrl, tiktokUrl, discordUrl and facebookUrl columns) and socialLinksStatus (where they came from), About panels (optional), profile, banner and offline images |
| stream | stream ID, URL, title, viewers, started at, language, tags, category, preview image, broadcaster login / name / followers / partner status, rank |
| video | video ID, URL, title, type (past broadcast, highlight, upload, premiere), views, duration, created and published dates, category, language, thumbnail, channel |
| clip | clip ID, slug, URL, embed URL, title, views, duration, created date, category, language, thumbnail, who clipped it, source VOD and offset, channel |
| category | name, slug, URL, current viewers, live channels, followers, tags, release date, box art, rank |
Every item has type, id, url and scrapedAt. Dates are ISO 8601, counts are numbers, and missing values are null. Each type has its own table view in the Output tab.
Use cases
- Influencer marketing and brand deals: list the English (or German, Spanish...) streamers live in your game's category with at least N viewers, then get each one's followers, partner status and social links to contact them.
- Talent and creator databases: refresh follower counts, last-stream dates and social links for a list of channels on a schedule.
- Esports and gaming analytics: track the top categories, viewers and live channel counts over time, or the top 30–100 streams of a game.
- Content research: get the most-viewed clips of a channel for the last day, week or month, and its most-viewed VODs.
- Sponsorship reporting: check whether a sponsored channel streamed, in which category and how many people watched.
How to use
- Add channels (names or links) and/or live-stream categories (names, slugs or directory links).
- Switch on what you need: videos, clips, top live streams across Twitch, profiles of live streamers, top categories.
- Click Start. Most runs finish in a few seconds. Download the results as JSON, CSV or Excel, or use the API.
Input examples
Channel profiles with social links:
{"channels": ["shroud", "https://www.twitch.tv/pokimane", "@lirik"]}
Find English and Spanish streamers live in VALORANT with at least 200 viewers, plus their full profiles:
{"liveCategories": ["VALORANT"],"liveLanguages": ["en", "es"],"minViewers": 200,"maxStreams": 100,"includeStreamerProfiles": true}
Latest VODs and this week's top clips of some channels, without the profiles:
{"channels": ["shroud", "pokimane"],"channelProfiles": false,"includeVideos": true,"videoType": "archive","maxVideosPerChannel": 20,"includeClips": true,"clipsPeriod": "7d","maxClipsPerChannel": 20}
The top 100 live streams and the top 50 categories right now:
{"topLiveStreams": true,"maxStreams": 100,"includeTopCategories": true,"maxCategories": 50}
Output example
Real items from a local run on 2 Nov 2026 (shortened; see samples/sample-output.json for the full items):
[{"type": "channel","id": "37402112","login": "shroud","displayName": "shroud","url": "https://www.twitch.tv/shroud","description": "I'm back baby","followers": 11291704,"broadcasterType": "partner","isLive": false,"channelTitle": "New Crimson Desert DLC ⛵","channelLanguage": "en","lastBroadcastTitle": "New Crimson Desert DLC ⛵","lastBroadcastGame": "Crimson Desert","lastBroadcastAt": "2026-10-30T01:24:18.641Z","totalVideos": 1616,"socialLinks": [{ "platform": "discord", "title": "Discord", "url": "https://discord.gg/shroud" },{ "platform": "twitter", "title": "Twitter", "url": "https://twitter.com/shroud" },{ "platform": "youtube", "title": "YouTube", "url": "https://youtube.com/shroud" },{ "platform": "instagram", "title": "Instagram", "url": "https://instagram.com/shroud" }],"socialLinksStatus": "complete","twitterUrl": "https://twitter.com/shroud","youtubeUrl": "https://youtube.com/shroud","instagramUrl": "https://instagram.com/shroud","discordUrl": "https://discord.gg/shroud","scrapedAt": "2026-11-02T13:32:01.357Z"},{"type": "stream","id": "317791385591","url": "https://www.twitch.tv/lacy","title": "🇰🇷 IRL SOUTH KOREA 🇰🇷 LACY x BRAEDEN 🇰🇷 KOREA NIGHTLIFE 🇰🇷 FULL DAY TOMORROW 🇰🇷 !CLIPPING","viewers": 14683,"startedAt": "2026-11-02T09:24:52.000Z","language": "en","tags": ["English", "DropsEnabled"],"game": "Just Chatting","broadcasterLogin": "lacy","broadcasterFollowers": 3515338,"broadcasterType": "partner","rank": 1,"category": "Just Chatting","scrapedAt": "2026-11-02T13:32:03.566Z"},{"type": "clip","id": "3573895506","url": "https://www.twitch.tv/shroud/clip/PreciousRelievedCodCorgiDerp-IqjaHMAL8JQQH78F","title": "shroud out of touch take","views": 118211,"durationSeconds": 51,"createdAt": "2026-10-10T05:25:43.000Z","game": "AION 2","clippedBy": "Silentkillerz","vodId": "2896289619","channelLogin": "shroud","period": "30d","scrapedAt": "2026-11-02T13:32:01.357Z"}]
A RUN_SUMMARY record in the run's key-value store lists every input with its status, item counts and request statistics.
Pricing
Pay per result. There is no start fee and you never pay for failed inputs.
| Event | Price | Per 1,000 |
|---|---|---|
channel: one channel profile | $0.002 | $2.00 |
stream: one live stream | $0.0005 | $0.50 |
video: one video / VOD | $0.0005 | $0.50 |
clip: one clip | $0.0005 | $0.50 |
category: one category | $0.0005 | $0.50 |
Examples:
- 1,000 channel profiles with social links ≈ $2.00.
- Influencer discovery: 100 live streams in a category plus the 100 streamers' profiles ≈ $0.05 + $0.20 = $0.25.
- Content tracking: 20 VODs + 20 clips for each of 50 channels (2,000 items) ≈ $1.00.
- Daily top-category snapshot: 100 categories ≈ $0.05.
Set Maximum cost per run in the run options to cap your spend. The Actor stops cleanly when it is reached.
Social links
Twitch keeps a channel's links in two places, and the Actor reads both:
- The social-links section of the About page. Twitch serves it to home connections, but withholds it from datacenter IPs: it answers with an "integrity check" error for that one field. Apify runs on datacenter IPs, and Apify's datacenter proxy gets the same answer. We tested both on 2 Nov 2026.
- The About panels, the image and text boxes under the stream. Twitch serves them everywhere, and most streamers link their X/Twitter, YouTube, Instagram, TikTok and Discord there.
Each channel item says which one you got:
socialLinksStatus | Meaning |
|---|---|
complete | Twitch's own social-links section. |
from-panels | The section was withheld, so these are the links to known social platforms (X/Twitter, YouTube, Instagram, TikTok, Discord, Facebook, Kick, Threads, Bluesky, Reddit, Steam, Patreon, Linktree, VK, Telegram) found in the About panels. They usually cover the main platforms, but a link that appears only in the section is missed. |
unavailable | The section was withheld and the panels hold no social links. |
An empty list is never silent: the run's status message and the RUN_SUMMARY record say how many profiles fell back to the panels. A residential proxy may return the complete section, but we have not tested that.
Tips and limits
- First page only. Twitch serves anonymous visitors only the first page of every list (more needs a browser "integrity" token, which this Actor does not fake). So per channel you get up to 100 videos (per type and sort order) and 100 clips (per period), and up to 100 top categories.
- Live lists past the first page. The first page of a category holds up to 100 streams (30 for all of Twitch). For bigger lists the Actor combines Twitch's per-language lists of the category, or the per-category lists for the site-wide top. The top of the list is exact. The tail can miss a few streams when one language alone has more than 100 qualifying streams. In that case the
RUN_SUMMARYrecord hasexact: falsefor that list. Narrowing with Min viewers or Stream languages keeps lists exact. - Languages follow Twitch's broadcaster-language filter. The stream's own
languagefield can differ: a few streamers set one language for the channel and another for the stream. - Clips are sorted by views (Twitch's "top clips"). Clips from the last 24 hours can be empty for channels that did not stream.
- Follower and viewer counts are live values at the time of the run.
- No personal contact data. E-mail addresses are removed from bios, panels, link titles and stream/video/clip titles, phone numbers from bios, panels and link titles, and
mailto:links are dropped. Viewer, chatter and follower lists are not available. - Several lists in one run: a stream is output once per list it belongs to (e.g. its category list and the site-wide top list). The same category given twice (name and URL) is listed once.
- Speed: a few seconds for typical runs. 1,000 channel profiles need about 5 requests.
FAQ
Do I need a Twitch account or API key? No. The Actor reads the same public data that twitch.tv shows to logged-out visitors.
Is it legal to scrape Twitch? This Actor collects only publicly visible data: channel profiles, public social links, live streams, videos, clips and categories. It does not log in, bypass access controls or collect e-mail addresses, viewer lists or other personal contact data. You are responsible for using the data in line with Twitch's terms, privacy laws such as the GDPR, and your own legal obligations. If you are unsure, ask a lawyer.
Why did I get fewer streams than "Max live streams"? Only that many were live and matched your filters (language, min viewers). The run summary shows how many were found per list.
How fresh is the data? It is read live from Twitch at run time. Schedule the Actor (e.g. every hour) to track changes over time.
Why is socialLinksStatus "from-panels" on Apify when I get "complete" on my own computer?
Twitch withholds the social-links section from datacenter IPs. See Social links. The links in the About panels are still collected.
A channel is "not-found". Why? The name does not exist, was renamed or the channel is suspended. Other inputs in the run are not affected.
Can it monitor live status?
Yes. Schedule a run with your channel list. Each profile has isLive, streamViewers, streamGame and lastBroadcastAt.
The run failed with an "integrity token" or HTTP 403/429 message. What now? Twitch occasionally blocks requests from some datacenter IPs. Enable Apify Proxy (residential) in the input and run again.
Integrations
- API: start runs and download results from any language with the Apify API or the JavaScript / Python clients.
- Make, Zapier, n8n: use the Apify apps or nodes to run the Actor and send the results to Google Sheets, Airtable, HubSpot, Slack and more.
- MCP / AI agents: connect the Actor to Claude, ChatGPT or Cursor through the Apify MCP server.
- Webhooks and schedules: get notified when a run finishes, or run it on a schedule for daily snapshots.
Changelog
- 0.1 (2026-11-02): first release: channel profiles with social links (falling back to About-panel links when Twitch withholds the section) and About panels, live streams by category or across Twitch (language and min-viewer filters), videos, clips, top categories and profiles of discovered streamers.
Ready-to-run examples
More scrapers by the same developer
- Bilibili Scraper - Videos, Search, Popular & Uploader Stats
- Bluesky Scraper - Posts, Profiles, Threads & Feeds (No Login)
- Luma Events Scraper: Tech, AI & Crypto Events by City
- Meetup Events Scraper - Search Events & Groups by Topic & City
- Skool Scraper - Community Stats & Public Posts (No Login)
- Snapchat Scraper - Public Profiles, Spotlight & Story Stats
Browse all my Actors on my Apify Store profile.