Pricing
from $4.00 / 1,000 channel scrapeds
Twitch Channel Scraper
Scrape public Twitch channels by username or URL โ profile, live status, follower count, partner/affiliate type, recent videos (VODs), and top clips. HTTP-only via the Twitch GraphQL API, no login. MCP-ready.
Pricing
from $4.00 / 1,000 channel scrapeds
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape public Twitch channels by username or URL and get a clean, structured record for each one โ profile details, live status, follower count, partner/affiliate type, recent videos (VODs), and top clips. HTTP-only via the Twitch GraphQL API, no login required, and MCP-ready for AI agents.
What it does
Give it a list of Twitch channels (usernames like shroud, or full URLs like https://www.twitch.tv/pokimane). For each channel it returns one record containing:
- Identity โ login, display name, channel ID, bio, account creation date, account age.
- Status โ partner / affiliate flags, broadcaster type.
- Audience โ total follower count.
- Live state โ whether the channel is live right now, plus live title, game/category, current viewer count, and stream start time. When offline, it returns the last-set title and category instead.
- Most recent broadcast โ title and start time.
- Recent videos (VODs) โ newest first, with view counts, duration, publish date, and game.
- Top clips โ ranked by views within your chosen time window.
- Branding โ profile avatar, banner, offline image, and channel color.
When to use it
- Influencer / sponsorship scouting โ size up a creator's audience and current activity before reaching out.
- Streamer analytics & dashboards โ track follower counts and live status across many channels.
- Esports & gaming research โ pull rosters of channels and what they're streaming.
- AI agents โ a clean tool call: channel in, structured JSON out.
Not for scraping Twitch search results, categories/games, chat messages, or VOD transcripts โ those are separate jobs.
Output
One record per channel. Example (detailed format, trimmed):
{"channelUrl":"https://www.twitch.tv/shroud","login":"shroud","channelId":"37402112","displayName":"shroud","description":"I'm back baby","createdAt":"2012-11-03T15:50:32.878Z","accountAgeYears":13.6,"isPartner":true,"isAffiliate":false,"broadcasterType":"partner","followerCount":11300996,"isLive":true,"streamTitle":"GETTING MY DRIVERS LICENSE","streamGame":"Forza Horizon 6","streamViewers":2629,"streamStartedAt":"2026-06-20T17:10:04Z","streamType":"live","lastBroadcastTitle":"GETTING MY DRIVERS LICENSE","lastBroadcastStartedAt":"2026-06-20T17:10:04Z","primaryColorHex":"#0000FF","profileImageUrl":"https://static-cdn.jtvnw.net/jtv_user_pictures/...-300x300.png","bannerImageUrl":"https://static-cdn.jtvnw.net/...","recentVideos":[{"id":"2801374356","title":"...","viewCount":246565,"durationSeconds":10812,"publishedAt":"2026-06-17T17:05:31Z","game":"Just Chatting","url":"https://www.twitch.tv/videos/2801374356"}],"topClips":[{"slug":"...","title":"...","viewCount":91234,"durationSeconds":30,"createdAt":"2026-06-12T...","url":"https://clips.twitch.tv/..."}],"found":true,"scrapedAt":"2026-06-20T19:00:00Z"}
| Field | Type | Description |
|---|---|---|
login | string | Lowercase Twitch username |
displayName | string | Channel display name |
followerCount | integer | Total followers |
broadcasterType | string | partner, affiliate, or "" |
isLive | boolean | Currently streaming? |
streamTitle / streamGame | string | Live (or last-set) title and category |
streamViewers | integer | Current live viewers (null offline) |
recentVideos | array | Recent VODs (newest first) |
topClips | array | Top clips by views in the chosen window |
found | boolean | false when a channel doesn't exist or fails |
Choose responseFormat: "concise" to drop images, videos, and clips for a smaller payload (handy for AI agents).
Pricing
Pay-per-event:
- Actor start โ $0.00005 per run.
- Channel scraped โ $0.004 per existing channel returned. Channels that don't exist or fail are not charged.
A 100-channel run costs about $0.40. Pay-per-usage (compute + proxy) is also available โ pick whichever billing fits at run time.
Input
| Field | Required | Default | Description |
|---|---|---|---|
channels | yes | โ | Usernames or channel URLs |
maxVideos | no | 10 | Recent videos per channel (0โ100, 0 to skip) |
maxClips | no | 10 | Top clips per channel (0โ100, 0 to skip) |
clipsPeriod | no | LAST_MONTH | LAST_DAY / LAST_WEEK / LAST_MONTH / ALL_TIME |
responseFormat | no | detailed | detailed or concise |
Example input
{"channels":["shroud","pokimane","https://www.twitch.tv/xqc"],"maxVideos":5,"maxClips":5,"clipsPeriod":"LAST_WEEK"}
Run it
API (JavaScript)
import{ ApifyClient }from'apify-client';const client =newApifyClient({token:'YOUR_TOKEN'});const run =await client.actor('khadinakbar/twitch-channel-scraper').call({channels:['shroud','pokimane'],maxVideos:5,});const{ items }=await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("khadinakbar/twitch-channel-scraper").call(run_input={"channels":["shroud","pokimane"],"maxVideos":5})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["displayName"], item["followerCount"], item["isLive"])
MCP (AI agents)
Exposed as khadinakbar/twitch-channel-scraper through the Apify MCP server. An agent passes a channel list and gets structured JSON back โ ideal for "how big is this streamer and are they live?" questions.
FAQ
Do I need a Twitch account or API key? No. It uses Twitch's public, anonymous web GraphQL endpoint.
Can it scrape private or subscriber-only data? No. Public channel data only.
Does it return live viewer counts? Yes, when the channel is live (streamViewers). Counts are a snapshot at scrape time.
What happens for a channel that doesn't exist? You get a record with found: false and an error note, and you are not charged for it.
How many channels per run? No hard limit โ pass as many as you like; cost scales linearly at $0.004 per existing channel.
Legal
This actor collects only publicly available data from Twitch and does not bypass authentication or access private information. You are responsible for using the data in compliance with Twitch's Terms of Service, applicable laws (including data-protection laws such as GDPR/CCPA), and any third-party rights. This tool is intended for lawful purposes such as research, analytics, and business intelligence. It is not affiliated with or endorsed by Twitch Interactive, Inc.
