Twitch Clips Scraper
Pricing
from $1.00 / 1,000 results
Twitch Clips Scraper
Scrape top or recent clips from any Twitch channel with view count, duration, thumbnail, and game metadata.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract the top clips from any Twitch channel in bulk — clip title, view count, duration, game, creator handle, and full-resolution thumbnail — in a clean structured JSON output.
Why use this actor
- No account / no login required — just give it a Twitch channel login (or full channel URL).
- No API key needed — this actor returns the same clip data the Twitch web app shows on the Clips tab.
- Rich detail — clip title, view count, duration in seconds, the game played at the time, the broadcaster handle, and a high-resolution thumbnail URL ready to embed.
- Top-clips ranking — clips come back in descending view-count order so the most viral moments are always first.
- Bulk input — pass a list of channels in one run; one dataset row per clip.
- Stable JSON output suitable for pipelines, spreadsheets, and databases — every row carries
_input,_source,_scrapedAtenvelope fields so you can join results back to your input list.
How it works
- You provide a list of Twitch channel logins (e.g.
xqc) or full channel URLs. - The actor fetches each channel's clips list, paginating until it has up to
maxResultsclips per channel. - Each clip is flattened into a structured JSON record — title, view count, duration, game, creator, thumbnail.
- Results stream into your dataset, ready to download as JSON, CSV, or Excel.
You do not need to manage scrapers, browsers, or rotating IPs — all handled internally.
Input
{"channels": ["xqc","shroud"],"period": "LAST_WEEK","maxResults": 20,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["DATACENTER"]}}
| Field | Type | Description |
|---|---|---|
channels | array | List of Twitch channel logins or channel URLs. Both xqc and https://www.twitch.tv/xqc are accepted. |
period | string | Time window for the top-clips ranking: LAST_DAY, LAST_WEEK, LAST_MONTH, or ALL_TIME. Defaults to LAST_WEEK. |
maxResults | integer | Maximum number of clips returned per channel. Default: 20. Max: 200. |
proxyConfiguration | object | Apify Proxy settings. Datacenter proxy works for most channels. |
Output
Input: xqc, maxResults: 3
{"_input": "xqc","_source": "S1-primary","_scrapedAt": "2026-05-18T11:23:35.624365+00:00","id": "3942697259","slug": "DeliciousDelightfulPicklesWOOP","url": "https://www.twitch.tv/xqc/clip/DeliciousDelightfulPicklesWOOP","title": "xqc makes the wrong choice","viewCount": 943767,"durationSeconds": 44,"createdAt": "2020-12-09T19:18:10Z","thumbnailURL": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/ce4b4ef1-4e8d-4391-bff6-2bc4c5506a4d/landscape/thumb/thumb-0000000000-1920x1080.jpg","broadcaster": {"id": "71092938","login": "xqc","displayName": "xQc"},"game": {"id": "65876","name": "Cyberpunk 2077"},"language": "EN","isFeatured": false}
| Field | Type | Description |
|---|---|---|
_input | string | The channel login or URL exactly as you supplied it. Use this to join results back to your input list. |
_source | string | Internal tag for the path used to fetch the record. S1-primary means the fastest, richest path; values starting with S2-fallback indicate a fallback was used. |
_scrapedAt | string | ISO-8601 UTC timestamp when the record was scraped. |
id | string | Twitch's numeric clip ID. Stable across renames. |
slug | string | Human-readable clip slug used in the public URL (e.g. DeliciousDelightfulPicklesWOOP). |
url | string | Canonical public clip URL — opens the clip in the Twitch web player. |
title | string | Clip title set by the clipper. |
viewCount | integer | Total views on the clip at scrape time. |
durationSeconds | integer | Clip length in seconds (typically 5–60). |
createdAt | string | ISO-8601 UTC timestamp when the clip was first cut. |
thumbnailURL | string | Full-resolution preview image URL (1920x1080 landscape). Safe to embed in dashboards. |
broadcaster.id | string | Numeric Twitch user ID of the streamer the clip belongs to. |
broadcaster.login | string | Streamer login (URL handle). |
broadcaster.displayName | string | Streamer display name with original casing. |
game.id | string | Twitch's internal game/category ID. |
game.name | string | Game or category name shown at the moment the clip was cut (e.g. Cyberpunk 2077). |
language | string | Stream language at the time of the clip (e.g. EN). |
isFeatured | boolean | true if Twitch has flagged this clip as featured on the channel. |
Error envelope
Channels that don't exist or fail to fetch return a structured error instead of crashing the run:
{"_input": "this-channel-does-not-exist-xyz","_error": "fetch_failed","_errorDetail": "channel not found","_scrapedAt": "2026-05-18T11:23:40.012345+00:00"}
Filter on _error to triage failed rows.
Pricing
This actor is billed per result: $3.50 per 1,000 clips (Tier 3). Each clip returned = 1 result. Errors (channel not found, fetch failures) are not billed.
Other Sosmed Actors
| Platform | Actor | Best for |
|---|---|---|
| Twitch | Twitch Channel Scraper | Channel profile, followers, live status |
| Twitch | Twitch Video Detail Scraper | Full VOD detail — title, duration, view count |
| YouTube | YouTube Shorts Scraper | Short-form vertical clips from any channel |
| Instagram Account Reels Scraper | Reels feed for any Instagram handle | |
| Threads | Threads Account Threads Scraper | All threads posted by a Threads account |
| Bluesky | Bluesky Account Posts Scraper | Posts feed for any Bluesky handle |
Browse the full catalog at apify.com/xtracto.
Notes
- Clip rankings shift over time — the same channel scraped today vs. tomorrow can return a different set, especially for
LAST_DAYandLAST_WEEKperiods. - Clips persist even after the original VOD is deleted by the streamer, so old viral moments remain reachable.
- Very new channels with fewer than 5 clips may return an empty result set.
viewCountis eventually-consistent and may lag the live counter on twitch.tv by a few minutes.- For large jobs (many channels x high
maxResults), enable Apify Proxy rotation to avoid per-IP rate limits.