Twitch Scraper avatar

Twitch Scraper

Pricing

Pay per event

Go to Apify Store
Twitch Scraper

Twitch Scraper

Scrape Twitch channels, live streams, top games, clips, and videos. Extract follower counts, viewer stats, stream titles, VODs, and clip data. Pure API scraper — fast, reliable, no browser needed. Export to JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

What does Twitch Scraper do?

Twitch Scraper extracts data from Twitch channels, live streams, top games, clips, and videos using Twitch's public API. No API key, no login, no browser needed.

Get channel profiles with follower counts, partner status, recent VODs, and top clips. Browse top live streams ranked by viewers. Discover trending games with viewer and broadcaster counts. Extract clips with view counts, durations, and curator info.

The easiest way to try it: open Twitch Scraper on Apify, keep the default input, and click Start.

Built on Twitch's public GraphQL API — pure HTTP, no Playwright, no proxies, no anti-bot issues. Runs in under 5 seconds on 256 MB memory.

Who is Twitch Scraper for?

Influencer marketing teams

  • Find streamers by game category, follower count, and partner status
  • Track which channels are live and what games they play
  • Build outreach lists with profile data and social metrics

Esports and gaming analysts

  • Monitor live viewership across games and categories
  • Track trending games by viewer and broadcaster count
  • Analyze clip performance and viral content

Content creators and streamers

  • Research competitors in your game category
  • Track top clips from channels you follow
  • Monitor viewership trends for scheduling decisions

Data journalists and researchers

  • Study Twitch viewership patterns over time
  • Analyze the gaming industry landscape
  • Track streamer growth and engagement metrics

Why use Twitch Scraper?

  • No API key or login required — uses Twitch's public endpoint
  • Pure HTTP, no browser — runs on 256 MB memory, finishes in seconds
  • 6 scraping modes — channels, search, top streams, game streams, top games, clips
  • Rich channel data — followers, partner status, last broadcast, live status, VODs, clips
  • 40% cheaper than competing Twitch scrapers on the Store
  • Export anywhere — JSON, CSV, Excel, or push to Google Sheets, Slack, and 5,000+ apps via Zapier/Make
  • Schedule and automate — run on a schedule via Apify's built-in scheduler
  • Full API access — call from Node.js, Python, cURL, or any HTTP client

What data can you extract?

Channel Profiles (up to 1,000 channels per run)

FieldDescription
loginChannel username
displayNameDisplay name
descriptionChannel bio
profileImageUrlAvatar image URL
bannerImageUrlBanner image URL
urlChannel page URL
followersCountTotal follower count
isPartnerTwitch Partner status
isAffiliateTwitch Affiliate status
isLiveCurrently streaming
currentViewersLive viewer count
streamTitleCurrent stream title
currentGameGame being played
lastBroadcastTitleMost recent broadcast title
lastBroadcastGameMost recent broadcast game
lastBroadcastDateWhen last broadcast started
createdAtAccount creation date
recentVideosLast 5 VODs with titles, view counts, durations
topClipsTop 5 clips with view counts, URLs, curators

Live Streams, Game Streams, Search Results

FieldDescription
broadcasterLoginChannel username
broadcasterDisplayNameDisplay name
broadcasterFollowersFollower count
titleStream title
viewersCountCurrent viewer count
gameGame/category name
startedAtStream start time
urlChannel URL

Top Games/Categories

FieldDescription
nameGame/category name
viewersCountTotal viewers across all streams
broadcastersCountNumber of live channels
boxArtUrlGame cover image

Clips

FieldDescription
titleClip title
urlClip URL
viewCountView count
durationSecondsClip length
gameGame name
channelLoginSource channel
curatorLoginWho created the clip
thumbnailUrlClip thumbnail

How much does it cost to scrape Twitch?

This Actor uses pay-per-event pricing — you pay only for what you scrape. No monthly subscription. All platform costs are included.

FreeStarter ($29/mo)Scale ($199/mo)Business ($999/mo)
Per channel$0.00345$0.003$0.00234$0.0018
Per stream/game/clip$0.0023$0.002$0.00156$0.0012
1,000 channels$3.45$3.00$2.34$1.80

Higher-tier plans get additional volume discounts.

Real-world cost examples:

ModeResultsDurationCost (Free tier)
2 channel profiles2~3s~$0.01
30 top live streams30~4s~$0.07
30 top games30~4s~$0.07
30 clips from 2 channels30~4s~$0.07

On Apify's free plan ($5 credits), you can scrape approximately 1,400 channels or 2,100 streams.

How to scrape Twitch data

  1. Go to Twitch Scraper on Apify Store
  2. Select a Scraping Mode (Channel Profiles, Top Streams, etc.)
  3. Enter the required input:
    • Channel Profiles / Clips: enter Twitch usernames
    • Search Channels: enter a search query
    • Streams by Game: enter the game name
    • Top Streams / Top Games: no input needed
  4. Click Start and wait a few seconds
  5. Download results as JSON, CSV, or Excel

Example: Scrape 3 channel profiles

{
"mode": "channels",
"channelUsernames": ["shroud", "pokimane", "xqc"],
"includeVideos": true,
"includeClips": true
}

Example: Get top 30 live streams

{
"mode": "topStreams",
"maxResults": 30
}

Example: Get clips from a channel

{
"mode": "clips",
"channelUsernames": ["shroud"],
"maxResults": 30,
"clipPeriod": "LAST_MONTH"
}

Input parameters

ParameterTypeDefaultDescription
modestringchannelsScraping mode: channels, searchChannels, topStreams, gameStreams, topGames, clips
channelUsernamesarray[]List of Twitch usernames. Used in channels and clips modes
searchQuerystringSearch query for searchChannels mode
gameNamestringGame name for gameStreams mode (e.g., "League of Legends")
maxResultsinteger30Maximum results. Channel Profiles: unlimited. Other modes: up to 30
clipPeriodstringLAST_WEEKTime range for clips: LAST_DAY, LAST_WEEK, LAST_MONTH, ALL_TIME
includeVideosbooleantrueInclude recent VODs (Channel Profiles mode)
includeClipsbooleanfalseInclude top clips (Channel Profiles mode)

Output example

Channel profile:

{
"id": "37402112",
"login": "shroud",
"displayName": "shroud",
"description": "I'm back baby",
"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/...",
"url": "https://www.twitch.tv/shroud",
"followersCount": 11313275,
"isPartner": true,
"isAffiliate": false,
"isLive": false,
"currentViewers": null,
"lastBroadcastTitle": "Ready or Not with friends",
"lastBroadcastGame": "Ready or Not",
"createdAt": "2012-11-03T15:50:32Z",
"recentVideos": [
{
"id": "2724725765",
"title": "Marathon stream",
"viewCount": 260226,
"durationSeconds": 27466,
"game": "Marathon"
}
]
}

Tips for best results

  • Start small — try 2-3 channels first, then scale up
  • Channel Profiles mode has no limit — you can scrape hundreds of channels in a single run
  • Browse modes return up to 30 results — Twitch limits browsing queries to 30 per request
  • Use exact game names — for gameStreams mode, use the exact game name as shown on Twitch (e.g., "League of Legends", not "LoL")
  • Schedule regular runs — track viewership trends by running the scraper on a schedule
  • Combine modes — run multiple times with different modes to build comprehensive datasets
  • VODs and clips are optional — disable them in Channel Profiles mode if you only need basic stats

Integrations

  • Twitch Scraper -> Google Sheets — export live stream rankings to a spreadsheet, updated hourly
  • Twitch Scraper -> Slack/Discord — get alerts when specific streamers go live or hit viewer milestones
  • Twitch Scraper -> Make/Zapier — trigger workflows when new top clips appear for tracked channels
  • Scheduled runs — monitor game category trends daily and build historical viewership data
  • Webhooks — process scraped channel data in real-time for influencer databases

Using the Apify API

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/twitch-scraper').call({
mode: 'channels',
channelUsernames: ['shroud', 'pokimane'],
includeVideos: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/twitch-scraper').call(run_input={
'mode': 'channels',
'channelUsernames': ['shroud', 'pokimane'],
'includeVideos': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/automation-lab~twitch-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"mode": "topStreams",
"maxResults": 30
}'

Use with AI agents via MCP

Twitch Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example prompts

Once connected, try asking your AI assistant:

  • "Use automation-lab/twitch-scraper to get the top 30 live streams on Twitch right now"
  • "Scrape the Twitch profiles of shroud, pokimane, and xqc — show me their follower counts and what they last played"
  • "Get the top 30 trending games on Twitch and rank them by viewer count"

Learn more in the Apify MCP documentation.

Twitch Scraper accesses only publicly available data through Twitch's public API endpoints — the same data any visitor sees on twitch.tv. The scraper does not bypass any authentication, does not access private data, and does not violate CAPTCHA protections.

Web scraping of publicly available data is generally legal in the US and EU. However, you should always:

  • Comply with applicable data protection laws (GDPR, CCPA)
  • Use scraped data responsibly and ethically
  • Avoid collecting personal data without a legitimate purpose
  • Review Twitch's Terms of Service for your specific use case

FAQ

How fast is Twitch Scraper?

Very fast. Channel profiles complete in under 1 second each. Browse modes (top streams, games, clips) return results in 3-5 seconds total. A run with 30 results typically costs under $0.08.

How much does it cost to scrape 1,000 Twitch channels?

On the Free tier: approximately $3.45 (start fee + $0.00345 per channel). On the Scale plan ($199/mo): approximately $2.34.

Why does the scraper return a maximum of 30 results for stream/game/clip modes?

Twitch's API enforces a per-request limit of 30 items for browsing queries. Channel Profiles mode is unaffected — you can scrape unlimited channels since each is a separate query. For browse modes, you get the top 30 results sorted by relevance/popularity.

What if a channel username is wrong or doesn't exist?

The scraper handles this gracefully — it logs a warning and continues with the remaining usernames. No crash, no failed run.

Can I get historical data or past streams?

The scraper returns the channel's 5 most recent VODs (when includeVideos is enabled) and clips within a selected time range. For historical viewership data, schedule regular runs and aggregate the data over time.

Other social media scrapers