Twitch Scraper - Channels, Streams, Clips & Streamer Leads avatar

Twitch Scraper - Channels, Streams, Clips & Streamer Leads

Pricing

from $4.00 / 1,000 channel scrapeds

Go to Apify Store
Twitch Scraper - Channels, Streams, Clips & Streamer Leads

Twitch Scraper - Channels, Streams, Clips & Streamer Leads

Scrape Twitch channels, live streams, games/categories, clips & VODs. Get follower counts, live status, viewers, titles, tags, plus streamer leads (business email, socials & lead score). Search or paste URLs; only-new monitor mode.

Pricing

from $4.00 / 1,000 channel scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Twitch Scraper — Channels, Live Streams, Clips, VODs & Streamer Leads

Extract complete Twitch data — streamer profiles, live streams, games/categories, clips and VODs — and turn every channel into a ready-to-contact influencer-marketing lead with a business email, social links and a 0–100 lead score.

No login, no API key, no browser — fast JSON extraction straight from Twitch's own public GraphQL back end, with inline queries that don't break when Twitch rotates its internal query hashes (the failure mode of most other Twitch scrapers).

Why this Twitch scraper?

Most Twitch scrapers return a thin slice (just live streams, or just a follower count) and break whenever Twitch rotates its persisted-query hashes. This actor ships the richest dataset in the category and is resilient by design:

DataTypical scrapersThis actor
Channel profile (followers, partner/affiliate, account age)partial✅ full
Live status + current stream (title, game, viewers, tags, uptime, FPS)partial
Live-stream directory (top overall or by game, with follower counts)partial
Games / categories with live viewer counts
Clips (by channel or game, any time window)partial
Videos / VODs (past broadcasts, highlights, uploads)partial
Keyword search (channels, games, videos)
Streamer business email (parsed from the bio)✅ opt-in
Social links (Instagram, YouTube, TikTok, X, Discord, Facebook…)✅ opt-in
Lead score (0–100) per streamer✅ opt-in
Only-new / status-change monitor mode
No start fee❌ many charge one

Use cases

  • Influencer & sponsorship outreach — find streamers by game, size or keyword, then contact them directly with businessEmail and their instagram / youtube / tiktok / twitter / discord links, ranked by leadScore and followersCount.
  • Esports & gaming market research — track which games and categories are pulling viewers right now, and who the top live broadcasters are in each.
  • Live audience monitoring — schedule recurring runs to watch when specific streamers go live/offline or switch games, and capture viewer counts over time.
  • Content & trend discovery — pull top clips and VODs by channel or game for highlight reels, recaps and trend analysis.
  • Creator analytics — build dashboards of follower reach, partner status, stream uptime and category mix across any list of channels.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Twitch Scraper, pick a mode, enter channel names / games / a search query (or paste Twitch URLs), and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML or RSS — or pull results programmatically via the Apify API.

Modes

ModeWhat you getKey inputs
channelsFull streamer profiles + live statuschannelUsernames, startUrls
liveStreamsLive directory (top overall or by game)gameNames, language, maxResults
gamesCategories with live viewer countsgameNames (or top games)
clipsTop clips by channel or gamechannelUsernames / gameNames, clipPeriod
videosVODs (past broadcasts / highlights)channelUsernames, videoType, videoSort
searchSearch channels / games / videossearchQuery, searchType
streamerLeadsChannels with lead enrichment forced onchannelUsernames

Input

{
"mode": "channels",
"channelUsernames": ["pokimane", "jynxzi", "shroud"],
"includeStreamerLeads": true,
"enrichLeadWebsites": false,
"monitorMode": false
}

Other examples:

{ "mode": "liveStreams", "gameNames": ["VALORANT", "Just Chatting"], "language": "en", "maxResults": 30 }
{ "mode": "clips", "channelUsernames": ["jynxzi"], "clipPeriod": "LAST_WEEK", "maxResults": 50 }
{ "mode": "search", "searchQuery": "speedrun", "searchType": "all" }
  • modechannels, liveStreams, games, clips, videos, search or streamerLeads.
  • channelUsernames — Twitch logins (the name in twitch.tv/<name>).
  • gameNames — game/category names (e.g. VALORANT, Just Chatting).
  • searchQuery / searchType — keyword search; channels, games, videos or all.
  • startUrls — paste channel, category, clip or video URLs to auto-route.
  • maxResults — cap per channel/game/search. Live directory pages are capped at 30 per game by Twitch; games/clips/videos allow up to 100; channels mode is uncapped.
  • language — keep only matching live streams (en, es, de, …).
  • clipPeriodLAST_DAY, LAST_WEEK, LAST_MONTH, ALL_TIME.
  • videoType / videoSortARCHIVE/HIGHLIGHT/UPLOAD/ALL, sorted by TIME or VIEWS.
  • includeStreamerLeads (default false) — add business email + socials + lead score to each channel and output dedup'd streamerLead records.
  • enrichLeadWebsites (default false) — crawl a streamer's linked website (home + /contact + /about) for extra emails and phones.
  • monitorMode / monitorKey — output only new/changed items across scheduled runs.

Output

One record per item, tagged by type (channel, stream, game, clip, video, searchResult, streamerLead). Example channel record with leads enabled:

{
"type": "channel",
"id": "44445592",
"login": "pokimane",
"displayName": "pokimane",
"url": "https://www.twitch.tv/pokimane",
"description": "hi ♡ i stream sometimes 📧 Business inquiries: teampokimane@wmeagency.com",
"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/…-profile_image-300x300.png",
"primaryColorHex": "#E1B5D9",
"createdAt": "2013-06-07T14:25:22.266Z",
"accountAgeYears": 13,
"isPartner": true,
"isAffiliate": false,
"broadcasterType": "partner",
"followersCount": 9459632,
"isLive": false,
"currentGame": "Just Chatting",
"broadcastLanguage": "EN",
"lastBroadcast": { "id": "318153812695", "title": "GRWM / AMA !", "startedAt": "2026-06-17T20:05:47Z", "game": "Just Chatting" },
"businessEmail": "teampokimane@wmeagency.com",
"emails": ["teampokimane@wmeagency.com"],
"instagram": "https://www.instagram.com/pokimanelol/",
"youtube": "https://www.youtube.com/pokimane",
"tiktok": "https://www.tiktok.com/@poki",
"twitter": "https://twitter.com/pokimanelol",
"facebook": "https://www.facebook.com/pokimane",
"socialLinksCount": 5,
"leadScore": 90,
"scrapedAt": "2026-06-18T00:16:52.820Z"
}

A stream record (live directory) carries title, viewersCount, game, language, tags, uptimeMinutes, averageFps, thumbnailUrl and the broadcaster's login, displayName and broadcasterFollowersCount.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it every few minutes/hours to track when streamers go live, watch a game's directory, or grow a lead list. Turn on monitor mode to pay only for new/changed items.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, Discord ping) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/twitch-scraper').call({
mode: 'channels',
channelUsernames: ['pokimane', 'jynxzi'],
includeStreamerLeads: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} channels & streamer leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new streamer leads straight into your CRM.
  • Slack — get pinged when a monitored streamer goes live.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the Apify MCP server — ask your assistant to "find the top VALORANT streamers live right now and list their contact emails" and let it run this scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete creator-economy & influencer lead-gen stack — scrape every platform your prospects publish on:

Tips

  • Build a lead list fast: run liveStreams for a game to discover who's live, copy the broadcasterLogins into channelUsernames, then run channels with includeStreamerLeads for full contact data and lead scores.
  • Live directory depth: Twitch caps directory pages at 30 streams per game without a browser token. Pass several gameNames to get 30 each, or use channels mode (uncapped) for a known list of streamers.
  • Monitoring: combine Schedules with monitorMode — channels re-emit only when they go live/offline or switch games, so you pay only for change.
  • Proxies: the default is RESIDENTIAL because Twitch returns streamer social links only to residential IPs. For modes that don't need socials (liveStreams, games, clips, videos, search) you can switch to datacenter to save a little.

FAQ

Do I need a Twitch API key or login? No. This actor reads Twitch's public web GraphQL back end — the same data anonymous visitors see — with no key, OAuth or browser.

Can I get a streamer's email? When includeStreamerLeads is on, the actor extracts the business/booking email that streamers publish in their own bio, plus their public social links. With enrichLeadWebsites it also checks a linked website. It never accesses private data.

How do I scrape the top streamers for a game? Use liveStreams mode with the game in gameNames — you'll get the live directory (up to 30 per game) with viewers, titles, tags and follower counts.

Can I export to Google Sheets, CSV or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I get alerted when someone goes live? Run channels mode on a Schedule with monitorMode on; channels re-emit when their live status changes. Add a webhook or Slack/Zapier step to push the alert.

A field is null — why? Some channels don't publish socials, a website or a current game, and offline channels have no live stream. Fields are null only when the data doesn't exist, not because the scraper skipped them.

Is scraping Twitch legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and Twitch's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.