Hoe Twitch-gegevens te Scrapen: Kijkers, Categorieën en Sponsorschapsignalen
De officiële Helix API beperkt wat je kunt ophalen en verbergt de gegevens die onderzoekers echt willen. Hier is hoe je kijkersaantallen, volgerstotalen en categorietrends kunt krijgen van Twitch's eigen GraphQL-endpoint — en de proxies die het draaiende houden.
Twitch zit op een goudmijn van openbare gegevens — live kijkersaantallen, categorieranglijsten, volgerstotalen, clips, streamtitels en tags — die marketeers, analisten en sponsorschapsscouts allemaal willen. Het probleem is dat de officiële Helix API je een samengestelde selectie geeft, beperkt in snelheid en zonder de statistieken die mensen het meest vragen (zoals volgeraantallen per spel of historische kijkertrends). Deze gids behandelt hoe je de rest kunt scrapen: wat de API je niet geeft, hoe je het kunt krijgen van Twitch's eigen web-endpoints, en de proxy-instelling die een geplande scraper niet laat blokkeren.
Waar de Helix API stopt
Helix is de goedgekeurde route en je zou het moeten verkiezen waar het je dekt: het is stabiel, gedocumenteerd en levert schone gegevens voor streams, gebruikers, spellen en clips. Maar het heeft harde grenzen. Het vereist een app-registratie en OAuth, het meet je tegen een puntenemmer (de standaard is 800 punten per minuut), en het geeft simpelweg niet alles bloot wat mensen willen — je kunt het niet vragen "hoeveel volgers heeft het topkanaal van dit spel" of een kijkersaantalcurve van het afgelopen uur reconstrueren. Zodra je vraag buiten zijn schema valt, ben je aan het scrapen.
Twitch scrapen betekent diezelfde openbare gegevens ophalen — de cijfers die je op de site kunt zien zonder in te loggen — met code in plaats van met de hand. Niets hier raakt privégegevens of geauthenticeerde pagina's; het is de directory, de categoriepagina's en de openbare kanaalweergaven die elke bezoeker ziet.

Het snelle pad: Twitch's GraphQL-endpoint
Twitch's eigen webclient praat met een openbaar GraphQL-endpoint met behulp van een bekende Client-ID die in de JavaScript van de site zit. Het direct benaderen is de snelste, lichtste manier om te scrapen: geen inloggen, geen headless browser, gestructureerde JSON direct terug. Je stuurt een query met de openbare Client-ID-header en krijgt streams, kijkersaantallen, tags en clips in één oproep. Omdat het dezelfde API is die de website gebruikt, levert het precies wat een bezoeker ziet — en veel meer per verzoek dan paginascraping.
import requests
PROXY = "http://USER:PASS@gate.quantumproxies.io:8000"
proxies = {"http": PROXY, "https": PROXY}
# public web Client-ID shipped in Twitch's own frontend
HEADERS = {"Client-ID": "kimne78kx3ncx6brgo4mv6wki5h1ko", "Content-Type": "application/json"}
query = {
"query": """
query($name: String!) {
user(login: $name) {
displayName
followers { totalCount }
stream { title viewersCount game { name } }
}
}""",
"variables": {"name": "somestreamer"},
}
r = requests.post("https://gql.twitch.tv/gql", json=query,
headers=HEADERS, proxies=proxies, timeout=15)
print(r.json()["data"]["user"])
Eén verzoek levert de weergavenaam, het totale volgeraantal en — als het kanaal live is — de streamtitel, huidige kijkers en categorie. Dat volgeraantal is precies het veld dat de Helix API lastig maakt om op schaal te krijgen, en hier is het een enkele query.
Het kanaalobject is rijker dan de basis. Een typisch record bevat de numerieke channelId, de login slug en displayName, de profielbeschrijving, of het kanaal partnerstatus heeft, en — voor live kanalen — het huidige spel, kijkersaantal en de tags van de stream. Tags zijn belangrijker dan ze lijken: ze zijn hoe je streamers segmenteert op taal, regio of inhoudstype wanneer je een shortlist voor outreach bouwt. Haal dezelfde query over een lijst van logins en je hebt een vergelijkbare dataset — volgergrootte, partnerstatus, live categorie — in één keer, zonder per-kanaal paginaladingen.
De directory: categorie- en kijkertrends
Voor marktbrede signalen — welke spellen populair zijn, hoe het kijkerspubliek door de dag verschuift — is de categoriedirectory de bron. Het patroon dat goed werkt is om een categoriepagina (bijvoorbeeld Just Chatting) op een vast interval te snapshotten en de topstreams met hun titels, streamers en kijkersaantallen plus een tijdstempel op te slaan. Doe dat elke 15 minuten en je bouwt kijkertrendcurves en categorieranglijsten die de officiële API je nooit geeft. Een lichte scheduler en een browser of GraphQL-query is alles wat je nodig hebt; de discipline zit in het interval en de opslag, niet in het ophalen.
import requests, time
from datetime import datetime, timezone
def snapshot_category(slug):
payload = {
"query": "query($slug: String!){ game(slug:$slug){ streams(first:30){ edges{ node{ title viewersCount broadcaster{ login } } } } } }",
"variables": {"slug": slug},
}
r = requests.post("https://gql.twitch.tv/gql", json=payload,
headers=HEADERS, proxies=proxies, timeout=15)
ts = datetime.now(timezone.utc).isoformat()
rows = []
for e in r.json()["data"]["game"]["streams"]["edges"]:
n = e["node"]
rows.append({"ts": ts, "login": n["broadcaster"]["login"],
"title": n["title"], "viewers": n["viewersCount"]})
return rows
# run on a schedule (e.g. every 15 min) and append to storage
while True:
save(snapshot_category("just-chatting"))
time.sleep(900)
Verkrijg residentiële proxies voor Twitch-scraping

Waarom residentiële proxies hier belangrijk zijn
Twitch monitort verkeer zoals elk groot platform. Een geplande scraper die elke 15 minuten vanaf één datacenter-IP vuurt, is een duidelijk patroon, en het GraphQL-endpoint zal fouten of lege resultaten beginnen terug te geven zodra het je markeert. Residentiële IP's van echte ISP's mengen zich in normaal kijkersverkeer, en ze roteren per run verspreidt de verzoeken zodat geen enkel adres eruitziet als een bot. Voor locatiegevoelig onderzoek — sommige categorieën en clips verschijnen anders per regio — wil je ook specifieke landuitgangen, die een residentiële pool over 200+ landen je biedt. Mobiele IP's zijn de sterkste optie voor de meest agressieve doelen; onze gids voor proxies voor sociale platforms behandelt wanneer je ze moet gebruiken.
Wat je ermee kunt bouwen
De use cases volgen de gegevens. Volgeraantallen en categorie-aanwezigheid voeden influencerontdekking en sponsorschapsscouting — de juiste streamers vinden voor een campagne, correct op maat. Kijkertrendsnapshots voeden gamingindustrieonderzoek: welke titels winnen terrein, wanneer pieken de publieken, hoe een lancering uur na uur presteert. Clip- en titelgegevens ondersteunen inhouds- en trendanalyse. Commerciële Twitch-scrapers rekenen ongeveer vijf dollar per duizend resultaten hiervoor; het zelf draaien met je eigen proxies is een fractie daarvan zodra je de pijplijn hebt, en je bezit de ruwe gegevens. Dezelfde snapshot-en-verschil-aanpak voedt onze andere platformgidsen, zoals het minen van YouTube-gegevens buiten de API-quota.
Veelgestelde vragen
Kun je gegevens van Twitch scrapen?
Ja — openbare gegevens zoals streamtitels, kijkersaantallen, volgerstotalen, categorieën en clips zijn zichtbaar zonder in te loggen en kunnen met code worden verzameld. Twitch's eigen webclient gebruikt een openbaar GraphQL-endpoint dat je direct kunt bevragen. Respecteer de voorwaarden van het platform, vermijd privé- of geauthenticeerde gegevens, en doseer je verzoeken.
Waarom niet gewoon de Twitch Helix API gebruiken?
Gebruik Helix waar het past — het is officieel en stabiel. Maar het vereist OAuth, meet je tegen een emmer van 800 punten per minuut, en laat velden weg die onderzoekers willen, zoals volgeraantallen gekoppeld aan categorieën of minuut-tot-minuut kijkergeschiedenis. Wanneer je vraag buiten zijn schema valt, vult het scrapen van de openbare web-endpoints de leemte.
Heb ik proxies nodig om Twitch te scrapen?
Voor een eenmalige query, nee. Voor alles wat gepland of op schaal is, ja. Een herhaald patroon vanaf een enkel IP wordt gemarkeerd en het endpoint retourneert fouten of lege gegevens. Roterende residentiële proxies verspreiden verzoeken over echte ISP-adressen zodat je monitor volledige resultaten blijft teruggeven, en laten je regio-specifieke weergaven ophalen.
Hoe vaak kan ik Twitch-gegevens snapshotten?
Voor kijkertrends is elke 10-15 minuten een goede balans — vaak genoeg om intraday verschuivingen te zien zonder het endpoint te belasten. Voeg kleine willekeurige jitter toe aan het interval, roteer je exit-IP bij elke run, en sla tijdstempels op zodat je trends kunt reconstrueren. Strakkere intervallen verhogen je blokkeringsrisico voor weinig extra signaal.
Twitch's openbare gegevens zijn veel rijker dan de Helix API blootlegt, en zijn eigen GraphQL-endpoint geeft het meeste terug in enkele queries — volgerstotalen, kijkersaantallen, categoriedirectories, clips. Wikkel dat in een beleefd schema, routeer het via roterende residentiële IP's, en je hebt een monitor die trends en sponsorschapsignalen blootlegt die de officiële API buiten bereik houdt.