Twitch Channels & Streams Scraper: Categories, VODs & Clips avatar

Twitch Channels & Streams Scraper: Categories, VODs & Clips

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Twitch Channels & Streams Scraper: Categories, VODs & Clips

Twitch Channels & Streams Scraper: Categories, VODs & Clips

Collect public Twitch channel profiles, live streams by category, top categories and channel VOD or clip metadata without login.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Categories

Features

Limited permissions

Share

Collect public Twitch data into a clean dataset: channel profiles with follower counts and live status, live streams in a category ranked by viewers, the top categories right now, and a channel's recent videos (VODs) and clips. No Twitch login, developer account or app keys are needed.

What sets it apart: five kinds of Twitch data in one Actor and one flat price of $1 per 1,000 rows; profiles in bulk (up to 1,000 channels in a run) with followers, partner/affiliate status, the current stream and the last broadcast in the same row; and every row collected live at run time.

Use cases

  • Creator and influencer research: check follower counts, partner or affiliate status and the last broadcast for a list of channels.
  • Live market snapshots: see the top categories and who is streaming in them right now, by language.
  • Brand and esports monitoring: schedule profile runs for teams, publishers or sponsors and track followers and live status over time.
  • Content analysis: list a channel's recent VODs and clips with titles, durations, views and categories.
  • Lead lists for agencies: build a sheet of streamers in a category with their channel links.

Quick start

The Console form is prefilled with profiles mode. An empty input ({}) returns ten public channel profiles (NASA, Monterey Bay Aquarium, Bob Ross, Twitch, Twitch Gaming, Games Done Quick, ESL CS, ESL Dota 2, Riot Games and Rocket League), one row each.

Your own channels:

{"mode": "profiles", "channels": ["nasa", "https://www.twitch.tv/montereyaq"], "maxResults": 20}

Live English streams in one category, most viewers first:

{"mode": "streams", "categoryNames": ["Science & Technology"], "language": "en", "maxResults": 20}

A channel's latest videos:

{"mode": "vods", "channels": ["nasa"], "maxResults": 20}

Modes

Choose one mode per run.

ModeWhat you giveWhat you get
profileschannels (or nothing, for the ten sample channels)One row per channel: profile, followers, partner/affiliate flags, live status, current stream, last broadcast, avatar.
streamscategoryNames (exact Twitch category names)Live streams in each category, most viewers first. Optional language.
categoriesnothingThe top categories Twitch lists right now (up to 100), with current viewers and content tags.
vodschannelsThe channel's public videos, newest first.
clipschannelsThe channel's clips, in Twitch's default order.

Input

NameTypeDefaultWhat it does
modestringprofilesprofiles, streams, categories, vods or clips.
channelsarrayten sample channels in profiles modeChannel logins, @logins or twitch.tv links. Used by profiles, vods and clips.
categoryNamesarraynoneExact category names, for example Science & Technology. Used by streams only.
languagestringemptyTwo-letter lowercase stream language such as en or es. Used by streams only.
maxResultsinteger20Total rows for the run, from 1 to 1,000. Listing modes return at most 100 rows per channel or category.

A field that does not apply to the chosen mode (for example categoryNames in vods mode), an unknown field or a malformed login stops the run at once with a message naming it. Repeated channels are read once.

Output

Every row has rowType (channel, stream, category, vod or clip), id and a url on twitch.tv. Dates are ISO 8601; missing values are null. The same item is delivered once per run.

Row typeFields
channellogin, displayName, description, avatarUrl, followersCount, isPartner, isAffiliate, isLive, current streamId, title, viewersCount, startedAt, categoryId, categoryName, and lastBroadcastId, lastBroadcastTitle, lastBroadcastStartedAt
streamlogin, displayName, streamId, title, viewersCount, startedAt, categoryId, categoryName
categoryname, viewersCount, tags
vodlogin, title, durationSeconds, viewsCount, createdAt, categoryName
clipthe vod fields plus slug

Output example

A channel row (example values from a real run):

{"rowType": "channel", "id": "151920918", "url": "https://www.twitch.tv/nasa", "login": "nasa", "displayName": "NASA", "description": "Explore the universe and discover our home planet with the official NASA channel on Twitch. ", "avatarUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/8dbb66f7-0b18-4ca6-b0be-7e53aa7bf50b-profile_image-300x300.png", "followersCount": 1894574, "isPartner": true, "isAffiliate": false, "isLive": false, "lastBroadcastId": "320470471518", "lastBroadcastTitle": "U.S. Spacewalk 100", "lastBroadcastStartedAt": "2026-10-02T01:51:52.089314Z", "streamId": null, "title": null, "viewersCount": null, "startedAt": null, "categoryId": null, "categoryName": null}

A video row:

{"rowType": "vod", "id": "2889241879", "url": "https://www.twitch.tv/videos/2889241879", "login": "nasa", "title": "NASA's SpaceX Crew-13 Arrival & Welcome Remarks", "durationSeconds": 16551, "viewsCount": 300612, "createdAt": "2026-10-01T21:15:58Z", "categoryName": "Science & Technology"}

Pricing

EventPrice
Row delivered (any row type)$1.00 per 1,000 rows ($0.001 each)
Run start$0.005

The run-start event is charged per GB of memory, rounded up; the default 512 MB run is one start event. Platform usage is included.

Worked examples: the empty-input run (10 profiles) costs about $0.015; 1,000 channel profiles ≈ $1.01 (1,000 × $0.001 + $0.005).

Scheduling and monitoring

Save a task with your channels and schedule it daily or hourly to build a history of followers, live status and viewers. Compare rows across runs by id. For live market snapshots, schedule categories or streams runs at the hours you care about; each run is a point-in-time view.

FAQ

How many results per category or channel? Up to 100 per channel or category in a run (the first page Twitch lists). Profiles have no per-target limit: up to 1,000 channels per run.

Is the data live? Yes. Viewer counts, live status and followers are read when the run happens.

Which formats can I export? JSON, CSV, Excel or XML from the dataset, or read the rows through the Apify API and integrations.

What if a channel does not exist? It is named in the run status. If other targets returned rows, the run succeeds with them; if nothing was delivered, the run fails with the reason. A category with nobody live succeeds with zero rows.

How long does a run take? Usually seconds. The default timeout is 5 minutes; a run that reaches it keeps the rows already saved and lists the targets it did not reach.

Limits

  • Metadata only: no chat, viewer lists, follower or following lists, social links, subscriber-only content, or video and audio downloads. A video row does not mean the video can be played without restrictions.
  • Listing modes return the first 100 rows per channel or category; older videos and clips beyond that are not collected.
  • Only public channels and content.