Twitch Streamer & Channel Analytics avatar

Twitch Streamer & Channel Analytics

Pricing

from $20.00 / 1,000 item scrapeds

Go to Apify Store
Twitch Streamer & Channel Analytics

Twitch Streamer & Channel Analytics

Extract Twitch streamer profiles, live streams, top games, clips, and VODs. 6 modes in one actor. No API key, no browser, no proxy needed. Pairs with our Kick.com Analytics for complete streaming intelligence.

Pricing

from $20.00 / 1,000 item scrapeds

Rating

0.0

(0)

Developer

Sami

Sami

Maintained by Community

Actor stats

0

Bookmarked

35

Total users

3

Monthly active users

16 days ago

Last modified

Security

Limited permissions

Share

Extract public streamer profiles, live streams, top games, clips and VODs from Twitch — 6 modes, no API key.

No API key required. No browser. No proxy. Pure HTTP — fast and cheap.

How to scrape Twitch in 3 easy steps

  1. Go to the Twitch Scraper page on Apify and click "Try for free"
  2. Configure your input — choose a mode (channel_details, live_streams, top_games, search, clips, or videos), enter channel names or filters, and set the number of results
  3. Click "Run", wait for the scraper to finish, then download your data in JSON, CSV, or Excel format

No coding required. No API key. Works with Apify's free plan.

Streaming Intelligence Pair: Use this alongside our Kick.com Streamer & Channel Analytics for both streaming platforms.

What can this actor do?

ModeDescriptionInput needed
channel_detailsFull streamer profiles with followers, stream status, partner status, clipsChannel names/URLs
live_streamsCurrently live streams with viewers, game, tags (at most 30 per run)Optional game filter (a game with no live streams returns no rows)
top_gamesCategories found among the top 30 live streams, ranked by viewersJust maxResults
searchFind channels by keyword (at most 30 per run)Search query
clipsTop clips from specific channelsChannel names + time period
videosVODs/past broadcasts from channelsChannel names + video type

Twitch API alternative

The official Twitch API requires OAuth registration, client IDs, and token management. This Twitch Scraper is an alternative that extracts streamer profiles, live streams, top games, clips, and VODs from public Twitch data — no API key, no OAuth, no token refresh. Just structured data, ready to use.

Use cases

  • Influencer marketing — Find streamers by game, viewer count, and follower count to identify partnership opportunities
  • Esports analytics — Track competitive gaming viewership and tournament performance across categories
  • Brand sponsorship — Evaluate streamer reach and engagement for sponsorship decisions
  • Game publisher analytics — Monitor your game's performance on Twitch: viewer trends, top streamers, clip virality
  • Content research — Discover trending clips, rising categories, and emerging content formats
  • Talent scouting — Identify rising streamers before they go mainstream using growth and engagement signals

Scrape Twitch with Python, JavaScript, or no code

You can use the Twitch Scraper directly from the Apify Console (no code), or integrate it into your own scripts with Python or JavaScript.

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("zhorex/twitch-scraper").call(run_input={
"mode": "channel_details",
"channelLogins": ["shroud", "pokimane", "xqc"]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('zhorex/twitch-scraper').call({
mode: 'channel_details',
channelLogins: ['shroud', 'pokimane', 'xqc'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item));

Input examples

Channel Details

{
"mode": "channel_details",
"channelLogins": ["shroud", "pokimane", "xqc"]
}

Live Streams (filtered by game)

{
"mode": "live_streams",
"gameFilter": "VALORANT",
"minViewers": 100,
"maxResults": 30
}

Top Games

{
"mode": "top_games",
"maxResults": 25
}

Search Channels

{
"mode": "search",
"searchQuery": "valorant",
"maxResults": 20
}

Channel Clips

{
"mode": "clips",
"channelLogins": ["shroud", "xqc"],
"clipsPeriod": "LAST_WEEK",
"maxResults": 50
}

Channel Videos (VODs)

{
"mode": "videos",
"channelLogins": ["pokimane"],
"videoType": "ARCHIVE",
"maxResults": 20
}

Output examples

Channel Details output

{
"login": "shroud",
"displayName": "shroud",
"url": "https://www.twitch.tv/shroud",
"description": "Former CS:GO professional player...",
"profileImageUrl": "https://...",
"bannerImageUrl": "https://...",
"followersCount": 10500000,
"isPartner": true,
"isAffiliate": false,
"isLive": true,
"currentStream": {
"title": "VALORANT RANKED",
"viewersCount": 25000,
"game": "VALORANT",
"startedAt": "2026-04-09T12:00:00Z",
"tags": ["English", "FPS"]
},
"lastBroadcast": {
"title": "VALORANT RANKED",
"startedAt": "2026-04-09T12:00:00Z"
},
"totalVideos": 1500,
"topClipsThisMonth": [...],
"createdAt": "2014-06-15T00:00:00Z",
"scrapedAt": "2026-04-09T15:00:00Z"
}

Live Streams output

{
"id": "12345678",
"title": "RANKED GRIND",
"viewersCount": 25000,
"broadcasterLogin": "shroud",
"broadcasterDisplayName": "shroud",
"game": "VALORANT",
"previewImageUrl": "https://...",
"startedAt": "2026-04-09T12:00:00Z",
"tags": ["English", "FPS"],
"url": "https://www.twitch.tv/shroud",
"scrapedAt": "2026-04-09T15:00:00Z"
}

Clips output

{
"id": "AbCdEfGh",
"title": "INSANE 1v5 ACE",
"viewCount": 500000,
"createdAt": "2026-04-05T18:00:00Z",
"durationSeconds": 30,
"url": "https://clips.twitch.tv/...",
"broadcasterLogin": "shroud",
"game": "VALORANT",
"curatorLogin": "viewer123",
"scrapedAt": "2026-04-09T15:00:00Z"
}

Technical advantages

  • No API key required — no OAuth setup, no token management
  • No browser/Playwright — Pure HTTP requests = fast execution, low memory (256 MB)
  • No proxy needed — reads public data
  • Stops cleanly at Twitch's page limit — when Twitch refuses a later page, the run keeps the rows it already has; if the refusal is an integrity-check error, live_streams and search say so in the run status
  • Resilient — Each channel/query is independent; one failure doesn't crash the run

Pricing

This actor uses pay-per-event pricing:

EventPrice
1 result scraped$0.02
1,000 results$20.00

No separate platform or compute charge: you pay only per result.

How many results each mode returns

Twitch returns at most 30 items per page, and (checked in October 2026) it refuses the second page of live streams and search results with an integrity check. So maxResults (1-500) is not reached in every mode:

ModeMost rows one run returns
channel_detailsOne per entry in channelLogins that Twitch finds; maxResults is not used
live_streams (with or without gameFilter)30, the first page; minViewers then filters within those 30
top_gamesOne per category among the top 30 live streams, up to maxResults
search30, the first page
clips / videosPer channel, maxResults ÷ number of entries in channelLogins (rounded down, at least 1), fetched 30 per page; if Twitch refuses a later page, that channel stops at what it already has

When Twitch answers the next page of live_streams or search with an integrity-check error, the run status says so.

Limitations

  • Twitch may change their backend without notice (fields may be added/removed)
  • Follower counts and viewer counts are real-time snapshots, not historical
  • live_streams and search return at most 30 rows per run, whatever maxResults says (see How many results each mode returns); running again fetches the current first page again, not the next one
  • Some fields may return null if Twitch modifies their schema

FAQ

Is there a Twitch API?

Twitch has an official API (Helix), which requires OAuth app registration, client IDs, and token management. This Twitch Scraper reads the same public data shown on twitch.tv, so you need no API key, OAuth app or tokens.

How much does it cost to scrape Twitch?

The Twitch Scraper is priced per result: $0.02 ($20 per 1,000). No separate platform or compute charge. You can start with Apify's free plan, which includes $5 of monthly credits.

Can I scrape Twitch in Python?

Yes. Install the Apify Python client (pip install apify-client), then use the ApifyClient to call the zhorex/twitch-scraper actor. See the Python code example above.

This scraper accesses publicly available data — the same information visible to anonymous visitors of twitch.tv. Always review your local laws and Twitch's terms of service.

What does this Twitch scraper cover?

The Twitch Scraper by Zhorex supports 6 modes (channel details, live streams, top games, search, clips, and videos), requires no API key, and runs without a browser or proxy.

Integrations & data export

The Twitch Scraper integrates with your existing workflow tools:

  • Google Sheets — Send scraped Twitch data directly to a spreadsheet
  • Zapier / Make / n8n — Automate workflows triggered by new Twitch data
  • REST API — Call the actor programmatically and retrieve results via Apify's REST API
  • Webhooks — Get notified when a scraping run finishes and process data in real time
  • Data formats — Download results in JSON, CSV, Excel, XML, or RSS

More scrapers by Zhorex

Streaming

Chinese Digital Intelligence Suite

B2B Reviews

Other Tools

Personal data. Some fields describe people (streamer logins, display names, profile descriptions, profile and banner images, follower counts and account creation dates, and the login and display name of the user who made each clip). Under Apify's Standard Actor Contract you, as the person running the Actor, decide what is collected and are the controller of that data: you need a lawful basis (e.g. GDPR) and must respect Twitch's terms. Collect only what you need and delete what you no longer need. Do not use the output to harass, stalk or build profiles of private individuals.

Not affiliated with, endorsed by or sponsored by Twitch. Names are used only to describe the data source.


💡 Reviews, good or bad, help other users decide: leave a rating.