TwitchTracker Scraper | Twitch Streamer Stats and Rankings avatar

TwitchTracker Scraper | Twitch Streamer Stats and Rankings

Pricing

from $4.25 / 1,000 channels

Go to Apify Store
TwitchTracker Scraper | Twitch Streamer Stats and Rankings

TwitchTracker Scraper | Twitch Streamer Stats and Rankings

TwitchTracker scraper for Twitch streamer stats: average and peak viewers, hours watched, hours streamed, followers gained, subscribers and rank for any channel or the month's top streamers by language. 20 channels in 23 seconds, 28 fields each. Paste channel names or pick a language. No login.

Pricing

from $4.25 / 1,000 channels

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

TwitchTracker Scraper | Twitch Streamer Stats and Rankings (2026)

1 search. 20 TwitchTracker channels. 28 fields per channel.

From SilentFlow. Creators of Pinterest Scraper (#1 for โ€œpinterest pins scraperโ€ in Apify Store search) and Leboncoin Scraper Ppe, with 410,000+ combined lifetime runs.

Turn TwitchTracker into a spreadsheet: every Twitch channel you name, or the month's top streamers of any language, with 30-day average and peak viewers, hours watched, followers, active subscribers and rank on one row. 20 channels with their full profile in 23 seconds on our test run.

Why choose this actor?

Pricing a sponsored stream and Twitch only shows you today's live viewer count? Opening TwitchTracker channel by channel to copy average viewers into a sheet? Looking for the fastest-growing Spanish or French streamers and scrolling ranking pages by hand?

  • 26 data fields per channel, filled on most rows. Each row carries the channel's identity (Twitch user ID, login, display name, TwitchTracker and Twitch links), its bio, broadcast language, Partner or Affiliate status, global rank and language rank, average viewers, peak viewers, all-time peak viewers, hours watched, hours streamed, followers gained, total followers, total views, active, paid and gifted subscribers, all-time high subscribers, creation date, avatar and banner. On our 20-channel test run (the top English channels of the month), all 26 data fields were filled on at least half of the rows.
  • Three ways in: channel names, TwitchTracker links or a language ranking. Type logins (xqc, @Squeezie) or paste Twitch and TwitchTracker channel links to enrich a list you already have, paste any TwitchTracker ranking page with its filters, or pick one of 34 languages and one of 7 ranking lists to discover channels. A list of 12 entries gave 10 rows on our test: the one name TwitchTracker does not know and the one channel it does not follow were skipped and named in the log, never saved as empty rows.
  • No login, no API key, no field to fill in first. No field is mandatory. The prefilled form (top English channels, 20 rows) saved 20 channels in 23 seconds on our test run, every one a Twitch Partner with its 30-day numbers. Turn channel details off and a ranking export is near instant: 120 French channels ranked by average viewers in about a second.

Try TwitchTracker Scraper

Try your first Channel

Paste this input in the JSON tab, or keep the prefilled form and press Start. It reads TwitchTracker's ranking of English-language channels for the last 30 days and opens each channel's profile, until 20 channels are saved. On our test run the 20 channels were saved in 23 seconds, led by zackrawrr, Caedrel and xQc.

{
"language": "en",
"sortBy": "rank",
"category": "all",
"maxItems": 20,
"includeChannelDetails": true
}

Runs on the Apify Free plan: sign up, open the actor, press Start. Each Twitch channel lands as one row of the dataset, which you can open as a table, download as CSV, Excel or JSON, or read from the API. Change the language, rank channels by followers gained to find the rising ones, or type the channel names you already follow in the first field.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it full context about this scraper:

You have access to the TwitchTracker Scraper on Apify: silentflow/twitchtracker-scraper
It returns one dataset row per Twitch channel with its TwitchTracker (twitchtracker.com) stats for the last 30 days.
No field is required. With channelUsernames or startUrls, those are read; with neither, a TwitchTracker ranking is read.
Input schema:
- channelUsernames (array of string): Twitch logins or links, e.g. "xqc", "@Squeezie", "https://www.twitch.tv/kaicenat", "https://twitchtracker.com/ibai".
- startUrls (array of {url}): TwitchTracker channel pages or ranking pages, e.g. "https://twitchtracker.com/channels/most-followers/spanish/esports?page=2".
- language (string): ranking language as an ISO code, 3-letter code or English name ("en", "fra", "Spanish"), or "all". Used only when channelUsernames and startUrls are empty.
- sortBy (string, default "rank"): "rank", "avgViewers", "allTimePeakViewers", "hoursWatched", "followersGained", "followers" or "views".
- category (string, default "all"): "all", "personality" or "esports".
- maxItems (integer, default 100): channel rows for the whole run.
- includeChannelDetails (boolean, default true): open each ranking row's profile for subscribers, peak viewers, status, bio and creation date.
Output per channel (28 keys, 26 data fields; absent values are null; measures cover the last 30 days unless named all-time):
- id (string, Twitch user id), login (string), displayName (string), url (string, TwitchTracker page), twitchUrl (string)
- description (string), language (string), isPartner (boolean), isAffiliate (boolean)
- rank (integer), languageRank (integer)
- avgViewers, peakViewers, allTimePeakViewers, hoursWatched (integer), hoursStreamed (number), followersGained (integer, can be negative), followers, views (integer)
- activeSubs, paidSubs, giftedSubs, allTimePeakSubs (integer)
- createdAt (RFC 3339), profileImageUrl (string), bannerUrl (string)
- position (integer, place in the ranking read), scrapedAt (RFC 3339)
Use apify-client for Python or JS: client.actor("silentflow/twitchtracker-scraper").call(run_input=...)

How to scrape TwitchTracker streamer stats

Get the 30-day stats of the streamers you already follow

Type one login per line, or paste their Twitch or TwitchTracker links. Each channel comes back with its rank, audience, followers, subscribers and profile.

{
"channelUsernames": ["xqc", "kaicenat", "https://www.twitch.tv/ibai", "https://twitchtracker.com/caedrel"]
}

Pull the top 100 Spanish-speaking streamers of the month

Leave the channel fields empty and pick a language. Rows come in TwitchTracker's rank order, each with its language rank.

{
"language": "es",
"sortBy": "rank",
"maxItems": 100
}

Shortlist German personality streamers by average viewers

Combine the language, the ranking list and the channel type: this keeps personal streamers only (no esports organisations) and sorts them by their live audience.

{
"language": "de",
"sortBy": "avgViewers",
"category": "personality",
"maxItems": 50
}

Input parameters

ParameterTypeWhat it doesDefault
channelUsernamesarray of stringsTwitch logins or channel links, one per line. Each becomes one row with the channel's 30-day stats, subscribers and profile.empty
startUrlsarray of URLsTwitchTracker channel pages, or ranking pages with their language, type and page filters. A ranking page is read from its page onward, 50 channels per page.empty
languagestringLanguage of the ranking: pick one of 34 languages or All languages, or type a name or code. Used when the two fields above are empty.prefilled English
sortBystringThe ranking list to read: TwitchTracker rank, average viewers, all-time peak viewers, hours watched, followers gained, total followers or total channel views.rank
categorystringAll channels, personalities only or esports channels only.all
maxItemsintegerChannel rows for the whole run.100 (prefilled 20)
includeChannelDetailsbooleanAdds each ranking row's profile: active, paid and gifted subscribers, all-time high subs, 30-day peak viewers, language rank, status, creation date, bio and banner.true
debugModebooleanWrites a detailed log, only useful for our support team.false

Accepted formats

The channel list reads every form below, in any letter case:

  • Login: xqc, caseoh_, XQC, with or without a leading @.
  • Twitch link: https://www.twitch.tv/kaicenat, twitch.tv/ibai, m.twitch.tv/auronplay, including sub-pages such as /videos.
  • TwitchTracker link: https://twitchtracker.com/papaplatte, including sub-pages such as /streams or /games.

The URL field also reads TwitchTracker ranking pages, with or without https:// and with the page to start from:

  • https://twitchtracker.com/channels/ranking (all channels, TwitchTracker rank)
  • https://twitchtracker.com/channels/ranking/french?page=3 (French channels, from rank 101)
  • https://twitchtracker.com/channels/most-followers/spanish/esports (Spanish esports channels by total followers)
  • https://twitchtracker.com/channels/followers-growth/german (German channels by followers gained)
  • The other lists: viewership (average viewers), peak-viewers, hours-watched and most-views.

Languages: English, Spanish, Russian, Portuguese, German, French, Japanese, Chinese, Italian, Polish, Arabic, Ukrainian, Thai, Dutch, Turkish, Czech, Hungarian, Finnish, Swedish, Greek, Korean, Danish, Romanian, Norwegian, Tagalog, Bulgarian, Cantonese, Indonesian, Slovak, Hindi, Catalan, Vietnamese, American Sign Language and Malay. Each can be typed as its English name (French), its two-letter code (fr), its three-letter code (fra) or its own name (franรงais). An unknown language ends the run at once with a clear message instead of reading the wrong list.

A channel given twice, or found again in a ranking, is saved once.

What data can you extract from TwitchTracker?

One row per Twitch channel, 26 data fields plus two meta fields. Measures cover the last 30 days unless their name says all-time.

GroupFields
Identityid (Twitch user ID), login, displayName, url (TwitchTracker page), twitchUrl
Profiledescription (bio), language, isPartner, isAffiliate, createdAt
Ranksrank (TwitchTracker's rank among all channels), languageRank (rank among channels of the same language)
AudienceavgViewers, peakViewers (30 days), allTimePeakViewers, hoursWatched, hoursStreamed
GrowthfollowersGained (negative when the channel lost followers), followers (total), views (total channel views)
SubscribersactiveSubs, paidSubs, giftedSubs, allTimePeakSubs
MediaprofileImageUrl, bannerUrl
Metaposition (place in the ranking read), scrapedAt

What each input gives:

  • Ranking rows with details on (the default) fill all 26 fields when TwitchTracker has them.
  • Channel names and channel links fill 24: everything except allTimePeakViewers and views, which TwitchTracker only shows in its rankings. On our 10-channel test, all 24 were filled on at least half of the rows.
  • Ranking rows with details off keep the ranking's own columns: identity, rank, language and language rank (for a language ranking), average viewers, hours streamed, all-time peak viewers, hours watched, followers gained, total followers and total views.

Usability notes:

  • url, twitchUrl and id are stable. id is the Twitch user ID, which stays the same when a streamer changes their login.
  • Numbers are numbers, never "1.2K". Absent values are null, never an empty string.
  • createdAt and scrapedAt are RFC 3339 dates in UTC.
  • profileImageUrl and bannerUrl point to Twitch's image servers and change when the streamer uploads a new picture.
  • A channel that did not stream in the last 30 days keeps its profile and subscribers, with hoursStreamed and hoursWatched at 0 and no 30-day average.

Output example

A real row from our test run (Caedrel, second of the English ranking):

{
"id": "92038375",
"login": "caedrel",
"displayName": "Caedrel",
"url": "https://twitchtracker.com/caedrel",
"twitchUrl": "https://www.twitch.tv/caedrel",
"description": "he cancelled it",
"language": "English",
"isPartner": true,
"isAffiliate": false,
"rank": 3,
"languageRank": 2,
"avgViewers": 49057,
"peakViewers": 131998,
"allTimePeakViewers": 422292,
"hoursWatched": 8161398,
"hoursStreamed": 166.4,
"followersGained": 17485,
"followers": 1695508,
"views": 14249003,
"activeSubs": 43894,
"paidSubs": 36543,
"giftedSubs": 1184,
"allTimePeakSubs": 60381,
"createdAt": "2015-05-27T11:21:07Z",
"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/483a37ac-58fd-4e2f-8dc3-2c68a0164112-profile_image-300x300.png",
"bannerUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/37443d8f-6ee6-467a-8d5f-5b23d1ee1108-profile_banner-480.png",
"position": 2,
"scrapedAt": "2026-10-13T15:03:45Z"
}

Advanced usage

Find the fastest-growing French streamers of the month

Rank by followers gained to spot channels on the rise before their rates go up. Swap fr for any of the 34 languages.

{
"language": "fr",
"sortBy": "followersGained",
"maxItems": 60
}

List the esports organisations of a language by audience size

The esports type keeps tournament and team channels only; sorting by total followers shows which ones carry the biggest communities.

{
"language": "es",
"sortBy": "followers",
"category": "esports",
"maxItems": 50
}

Export a deep ranking in seconds

Turn channel details off to keep the ranking's own columns only (rank, average viewers, hours streamed, hours watched, followers gained, total followers, total views, all-time peak). On our test, 120 French channels ranked by average viewers came back in about a second. The all-language ranking goes 10,000 channels deep.

{
"language": "all",
"sortBy": "rank",
"maxItems": 1000,
"includeChannelDetails": false
}

Target mid-tier streamers from a deeper ranking page

Agencies looking for streamers below the very top can start a ranking further down. This one starts at rank 101 of German personality channels and reads 50 channels from there.

{
"startUrls": [
{ "url": "https://twitchtracker.com/channels/ranking/german/personality?page=3" }
],
"maxItems": 50
}

Track a roster of streamers every week

Save your roster as a task, schedule it weekly in the Apify Console, and send each run to Google Sheets, Airtable or a webhook with an integration. Each run gives you fresh 30-day numbers to compare with the previous week.

{
"channelUsernames": ["ibai", "auronplay", "squeezie", "papaplatte", "ironmouse", "hasanabi", "summit1g", "sodapoppin"]
}

FAQ

What is TwitchTracker? TwitchTracker (twitchtracker.com) is a free statistics site that has followed Twitch channels for years. It publishes, for each channel it tracks, the averages Twitch itself does not give: average and peak viewers over the last 30 days, hours watched, hours streamed, followers gained, subscribers and a rank, plus monthly rankings by language. It is not affiliated with Twitch.

What does this scraper extract? One row per Twitch channel with up to 26 data fields: identity and links, bio, language, Partner or Affiliate status, global and language rank, average, peak and all-time peak viewers, hours watched, hours streamed, followers gained, total followers, total views, active, paid, gifted and all-time high subscribers, creation date, avatar and banner.

Do I need a Twitch or TwitchTracker account, or an API key? No. The scraper reads public statistics only: no login and no API key.

What period do the numbers cover, and how fresh are they? Ranks, viewers, hours and followers gained cover the last 30 days, as TwitchTracker shows them on the day of the run. Total followers, total views, all-time peaks and subscribers are the current values. Every run reads TwitchTracker live; nothing is cached on our side.

How many channels can I get? There is no fixed limit in the scraper: set maxItems to what you need. The all-language ranking goes 10,000 channels deep (200 pages of 50); a language ranking stops where TwitchTracker's list for that language ends. A run with channel details opens one profile per channel, so it takes longer than a ranking export: on our local test, 60 channels with details took about two minutes, 120 channels without details about a second.

Why are some fields null on some rows? TwitchTracker does not show subscriber numbers for every channel (on our 20-channel test, 15 had them), and total views are blank for some channels in its rankings. A channel that did not stream in the last 30 days has no 30-day average or rank. On very large runs TwitchTracker can also hold back channel profiles for a while; those channels are still saved with their 30-day stats, with the subscriber and profile fields left null.

What happens with a misspelled channel or one TwitchTracker does not follow? It is skipped and named in the run log, never saved as an empty row. If nothing in the input matches, the run ends with a message saying why.

Can I combine the ranking filters? Yes. Language, ranking list and channel type stack: language es + sortBy followers + category esports gives the Spanish esports channels with the most followers. To read several rankings in one run, paste their TwitchTracker URLs in the URL field.

Can I mix channel names and rankings in one run? Yes, through the URL field: channel names and links in the first field, ranking pages in the second. The language, sortBy and category fields are only read when both fields are empty, so a prefilled language never adds rows you did not ask for.

Are the links and IDs permanent? url (TwitchTracker page), twitchUrl and id (Twitch user ID) are stable. A login can change; the Twitch user ID does not. Image links change when the streamer updates their picture.

Does it get clips, past broadcasts or the games a channel plays? No. It returns channel statistics and profiles. For videos and clips, use a Twitch video scraper.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐Ÿ“ˆ Marketing

๐Ÿงฐ More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available statistics from TwitchTracker (twitchtracker.com). It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with TwitchTracker's and Twitch's terms of service and applicable data protection laws (GDPR in the European Union, CCPA in California, and PIPL in China where relevant). Streamer logins, display names, bios and avatars can be personal data: keep only what your purpose needs and handle them accordingly when you store, analyse or contact the people behind them. The data returned is informational: audience numbers change every day, so verify them before a contract or a regulated use.

TwitchTracker Scraper by SilentFlow: the Twitch channels you name, or the month's top streamers of any language, with their 30-day audience, followers and subscribers in one table.