Twitch Scraper — Channels, Live Streams, VODs & Clips avatar

Twitch Scraper — Channels, Live Streams, VODs & Clips

Pricing

from $2.40 / 1,000 channel profiles

Go to Apify Store
Twitch Scraper — Channels, Live Streams, VODs & Clips

Twitch Scraper — Channels, Live Streams, VODs & Clips

Scrape public Twitch data without login or API key: channel profiles (followers, partner status, live now, last and next stream, social links), live streams by category, language or tag, past broadcasts, highlights, clips and top categories. From US$1.60 per 1,000 results.

Pricing

from $2.40 / 1,000 channel profiles

Rating

0.0

(0)

Developer

Fabrikit

Fabrikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Twitch Scraper extracts public data from twitch.tv: channel profiles with follower counts and live status, the streams live right now, past broadcasts and highlights, clips and the top categories (games). Choose a mode, give it channel names, keywords or categories, and get one flat JSON row per result with dates in ISO 8601 and numbers as numbers. You don't need a browser, a login, a Twitch developer app or an API key. The Actor sends the same public GraphQL queries the twitch.tv website sends.

Pricing: US$2.40 per 1,000 channel profiles; US$1.60 per 1,000 live streams, videos, clips or categories. There's no start fee and no monthly rent.

What you can scrape

ModeOne row perSources
channels (default)channel profilelogins / channel URLs, keyword search, or the channels live right now in a category
liveStreamslive streamtop of all of Twitch, top of each category, or the channels you list (are they live?)
videospast broadcast, highlight or uploadchannels, keyword search, single video URLs
clipsclipchannels, categories, keyword search, single clip URLs
categoriescategory (game)top categories by live viewers, given categories, category search

Filters: broadcaster language (35 Twitch languages), stream tags, minimum followers, minimum live viewers, video type (past broadcasts, highlights, uploads), video order (newest or most viewed) and clip period (24 hours, 7 days, 30 days, all time).

Output

Channel rows include login, displayName, url, description (e-mails and phone numbers removed), followers, broadcasterType (partner / affiliate), isLive, viewers, title, category, language, isMature and liveStartedAt. They also carry liveTags, lastStreamAt, lastStreamTitle, lastStreamCategory, nextScheduledStreamAt (from the public schedule), totalVideos, team, socialLinks (the links shown on the channel page), the profile, banner and offline images, accentColor and createdAt.

Live stream rows: title, viewers, startedAt, uptimeMinutes, category, language, tags, thumbnailUrl, plus the channel (login, displayName, followers, broadcasterType).

Video rows: videoId, title, url, videoType, createdAt, durationSecs, views, category, language, tags, thumbnailUrl, isRecording and the channel.

Clip rows: clipId, slug, title, url, embedUrl, views, createdAt, durationSecs, category, language, isFeatured and the channel. They also give videoId and vodUrl, a link to the exact moment in the past broadcast.

Category rows: name, slug, url, viewers, liveChannels, followers, tags, boxArtUrl, releaseDate.

Every row also has type, rank, source, sourceQuery and scrapedAt. The key-value store gets SUMMARY (rows, requests, stop reason) and SOURCES (the status of every channel, search or category, for example "channel not found" or "not live right now").

Input examples

Default run, five channel profiles:

{ "mode": "channels", "channels": ["shroud", "pokimane", "ibai", "kaicenat", "xqc"], "maxItems": 20 }

Top 100 Spanish-language streams in Just Chatting with at least 50 viewers:

{ "mode": "liveStreams", "categories": ["Just Chatting"], "languages": ["ES"], "minViewers": 50, "maxResultsPerSource": 100, "maxItems": 100 }

Influencer discovery. Profiles of English chess streamers live right now with 5,000+ followers:

{ "mode": "channels", "categories": ["Chess"], "languages": ["EN"], "minFollowers": 5000, "maxResultsPerSource": 60 }

The last 50 past broadcasts of two channels, and the most viewed clips of a game this week:

{ "mode": "videos", "channels": ["https://www.twitch.tv/shroud", "ibai"], "videoType": "archive", "maxResultsPerSource": 50 }
{ "mode": "clips", "categories": ["https://www.twitch.tv/directory/category/valorant"], "clipPeriod": "week", "maxResultsPerSource": 100 }

Example output

{
"type": "channel",
"channelId": "37402112",
"login": "shroud",
"displayName": "shroud",
"url": "https://www.twitch.tv/shroud",
"followers": 11293963,
"broadcasterType": "partner",
"isLive": false,
"title": "spamming runs + dailies + weeklies + getting ready for ludra",
"category": "AION 2",
"language": "en",
"lastStreamAt": "2026-10-19T00:52:10.785Z",
"nextScheduledStreamAt": "2026-10-22T18:00:00.000Z",
"totalVideos": 1610,
"team": "Loaded",
"socialLinks": [{ "platform": "twitter", "title": "Twitter", "url": "https://twitter.com/shroud" }],
"createdAt": "2012-11-03T15:50:32.878Z",
"source": "channel",
"sourceQuery": "shroud",
"scrapedAt": "2026-10-21T16:54:44.923Z"
}

Use cases

  • Influencer and sponsorship research: find the channels live in your game or niche, filter them by language and followers, and compare partner status, schedule and social links.
  • Market and game analytics: track the most watched categories, their live viewers and live channel counts. Schedule the Actor every hour to build your own time series.
  • Stream monitoring: check whether a list of channels is live, with viewers and uptime, and send alerts to Slack or a webhook.
  • Content research and editing: find the most viewed clips of a channel or a game for a period, with links to the exact moment in the VOD.
  • AI agents and dashboards: clean JSON rows that an LLM agent, BI tool or spreadsheet can use directly.

Pricing

You pay per event, with no subscription:

  • channel-result: US$0.0024 per channel profile (1,000 profiles = US$2.40)
  • stream-result, video-result, clip-result, category-result: US$0.0016 per row (1,000 rows = US$1.60; 10,000 clips = US$16)

Apify adds its small compute cost. The default run finishes in a few seconds. maxItems is exact, and the Actor also stops at the maximum charge you set for the run.

Compared with alternatives

This ActorTwitch Helix APIBrowser-based scrapers
Setupnonedeveloper app + OAuth tokennone
Profile, live status, last/next stream and socials in one rowyesseveral endpointssometimes
Speed30-100 results per request100 per request, rate-limitedone page load at a time
Cost per 1,000 rowsUS$1.60-2.40free, you write and host the codeusually higher

Do you follow creators on more than one platform? Our Substack Scraper does the same for newsletters (posts, likes, subscriber labels). This Actor is built on its network core and adds a GraphQL client for Twitch.

Integrations

Use the Apify API, the JavaScript or Python client, the CLI, schedules and webhooks. Export to JSON, CSV, Excel, Google Sheets, Make, Zapier, n8n or Airbyte. The Actor also works through the Apify MCP server, so AI agents can ask for "the top 20 live streams in Fortnite" or "the profiles of these channels".

FAQ

Is it legal? The Actor reads only public information that twitch.tv shows to any logged-out visitor, without logging in. It never collects chat, viewer or follower lists, or the users who created clips. E-mail addresses and phone numbers are removed from bios and descriptions. Use the data responsibly and follow the privacy laws that apply to you.

Do I need a proxy? Usually not, because requests go out directly. If Twitch blocks the run, the Actor switches to Apify datacenter proxies and then residential proxies by itself. You can turn this off with autoProxyFallback: false.

Why did a channel return no videos? Twitch deletes past broadcasts after 7 to 60 days, depending on the channel, so only highlights and uploads stay. SOURCES tells you when a list was empty.

Can I get subscriber counts, e-mails or chat? No. Twitch doesn't publish them, and the Actor doesn't collect personal data.

Limits? Up to 100,000 rows per run. Lists come in Twitch's own order: viewers for live streams and categories, views for clips, Twitch relevance for search.

En español

Twitch Scraper extrae datos públicos de Twitch sin login ni API key:

  • perfiles de canales con seguidores, partner/afiliado, en vivo, último y próximo stream y redes;
  • streams en vivo por categoría, idioma o etiqueta;
  • VODs, highlights y clips;
  • categorías más vistas.

Precio: US$2,40 por 1.000 perfiles y US$1,60 por 1.000 streams, videos, clips o categorías.

Changelog

  • 0.1 (October 2026): first release with five modes (channels, liveStreams, videos, clips, categories), language, tag, follower and viewer filters, video type and order, clip period, and automatic proxy fallback.