Twitch Live Stream, Channel & VOD Metadata Extractor
Get Twitch top live streams, channel profiles, category directories, VOD metadata and clip details, or resolve any twitch.tv URL into structured data.
Open in Apify Store$0.99 / 1K on Free
Short answer
Twitch Live Stream, Channel & VOD Metadata Extractor is an Apify Store Actor for Twitch data that returns 8 published output fields, including title, channelName, displayName, viewersCount. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 27 input settings; one is required (mode). It covers 7 of the 7 core Twitch fields this site tracks. Last updated Oct 28, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
8 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
recordTypetitlechannelNamedisplayNameviewersCountviewCountgameNameurl
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | topStreams | What to fetch. |
| searchQuery | string | No | lirik | Free-text query for `mode=search` — matches channels, categories, and videos. |
| searchType | string | No | all | Restrict search results to one index. `all` returns channels, categories, and videos. |
| channelName | string | No | – | Twitch channel login or channel URL, e.g. `lirik` or `https://www.twitch.tv/lirik`. |
| channelNames | array | No | [] | Batch channel logins or channel URLs. Duplicates and the single `channelName` are merged. |
| categorySlug | string | No | – | Category slug (`just-chatting`), exact name (`Just Chatting`), or directory URL. |
| videoId | string | No | – | Twitch VOD ID or VOD URL, e.g. `2766365638`. |
| videoIds | array | No | [] | Batch VOD IDs or VOD URLs. Duplicates and the single `videoId` are merged. |
| clipSlug | string | No | – | Twitch clip slug or clip URL, e.g. `AcceptablePleasantAuberginePanicVis-EVdxDQ1vsQAQZpBS`. |
| clipSlugs | array | No | [] | Batch clip slugs or clip URLs. Duplicates and the single `clipSlug` are merged. |
Show the other 17 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| twitchUrls | array | No | [] | Channel, VOD, clip, or category URLs. Category and channel `/videos` and `/clips` tabs are supported. |
| language | string | No | EN | Filter live streams, VODs, and clips to one broadcast language. Leave on `(any)` for no filter. |
| streamSort | string | No | VIEWER_COUNT | Sort live streams by viewers (high to low or low to high), recently started, or recommended. |
| streamTags | array | No | [] | Only live streams carrying all of these freeform tags, e.g. `English`, `DropsEnabled`, `NoBackseating`. |
| streamType | string | No | – | Restrict channel or category VODs to one broadcast type. Leave blank for all types. |
| videoSort | string | No | TIME | Sort channel or category VODs by publish time or view count. |
| clipPeriod | string | No | LAST_WEEK | Time window over which clips were created. |
| clipSort | string | No | VIEWS_DESC | Sort clips by views or trending score. |
| includeChannelClips | boolean | No | true | Also fetch and emit top clips for each channel. |
| includeChannelVideos | boolean | No | true | Also fetch and emit recent VODs for each channel. |
| minViewersCount | integer | No | – | Drop live streams (and categories) below this viewer count. |
| minViewCount | integer | No | – | Drop VODs and clips below this total view count. |
| minFollowersCount | integer | No | – | Drop channels and live streams below this follower count. VODs and clips are unaffected. |
| maxFollowersCount | integer | No | – | Drop channels and live streams above this follower count. Useful for finding smaller creators. |
| onlyLive | boolean | No | false | Drop channel profile records for channels that are not live right now. Their VODs and clips are still returned. |
| containsKeyword | string | No | – | Case-insensitive substring filter on stream, VOD, and clip titles. |
| maxItems | integer | No | 50 | Hard cap on emitted records. Twitch source caps still apply (e.g. about 1,000 clips per category). |
Example input
Built from the input form's published example values and defaults.
{
"mode": "topStreams",
"searchQuery": "lirik",
"searchType": "all",
"channelNames": [],
"videoIds": [],
"clipSlugs": [],
"twitchUrls": [],
"language": "EN",
"streamSort": "VIEWER_COUNT",
"streamTags": [],
"videoSort": "TIME",
"clipPeriod": "LAST_WEEK",
"clipSort": "VIEWS_DESC",
"includeChannelClips": true,
"includeChannelVideos": true,
"onlyLive": false,
"maxItems": 3
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "topStreams",
"searchQuery": "lirik",
"searchType": "all",
"channelNames": [],
"videoIds": [],
"clipSlugs": [],
"twitchUrls": [],
"language": "EN",
"streamSort": "VIEWER_COUNT",
"streamTags": [],
"videoSort": "TIME",
"clipPeriod": "LAST_WEEK",
"clipSort": "VIEWS_DESC",
"includeChannelClips": True,
"includeChannelVideos": True,
"onlyLive": False,
"maxItems": 3
}
run = client.actor("vexaloom-labs/twitch-live-stream-channel-and-vod-metadata").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "topStreams",
"searchQuery": "lirik",
"searchType": "all",
"channelNames": [],
"videoIds": [],
"clipSlugs": [],
"twitchUrls": [],
"language": "EN",
"streamSort": "VIEWER_COUNT",
"streamTags": [],
"videoSort": "TIME",
"clipPeriod": "LAST_WEEK",
"clipSort": "VIEWS_DESC",
"includeChannelClips": true,
"includeChannelVideos": true,
"onlyLive": false,
"maxItems": 3
};
const run = await client.actor("vexaloom-labs/twitch-live-stream-channel-and-vod-metadata").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~twitch-live-stream-channel-and-vod-metadata/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"topStreams","searchQuery":"lirik","searchType":"all","channelNames":[],"videoIds":[],"clipSlugs":[],"twitchUrls":[],"language":"EN","streamSort":"VIEWER_COUNT","streamTags":[],"videoSort":"TIME","clipPeriod":"LAST_WEEK","clipSort":"VIEWS_DESC","includeChannelClips":true,"includeChannelVideos":true,"onlyLive":false,"maxItems":3}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vexaloom-labs/twitch-live-stream-channel-and-vod-metadata",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
Where it fits among Twitch routes
It ranks 1 of 1 catalogue Actors for Twitch on the published formula (fields, price, reliability, freshness). Its line is highlighted on the map.
- 1 Twitch Live Stream, Channel & VOD Metadata Extractor 8 output fields, pay per event 7 of 7 core fields
$0.99 / 1K - + 6 other Store tools, combined Reference only 7 of 7 core fields
from $0.96 / 1K - API Twitch API (Helix) Public API fields not compared
Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.
Official route: Twitch API (Helix)
Public API. The Twitch API is a REST API covering channels, streams, videos, chat and more. Public data such as videos can be read with an app access token after registering an app in the developer console.
No price is published; a registered app (Client ID) is required.
Other Store tools for Twitch
Reference only, from their public listings.
| Tool | Fields | Price / 1K |
|---|---|---|
| Twitch Scraper | 32 | $2.00 |
| Twitch Scraper: Channels, Streams, Clips & Games | 45 | $3.45 |
| Twitch Scraper | 17 | $2.99 |
| Twitch Chat Scraper | 15 | $0.96 |
| Twitch Email Scraper | 21 | $5.00 |
What people use it for
- find live streams
- inspect channel profiles
- catalog videos and clips
Similar Actors
YouTube Video, Playlist & Channel Downloader with Metadata
Download YouTube videos from direct links, playlists, channels, or search phrases at your chosen quality, with a public file link plus title,…
Vimeo Channel, Creator & Video Metadata Extractor
Get Vimeo video metadata from channels, creator uploads, specific video URLs, or Staff Picks, with views, likes, comments, duration, and uploader…
Bilibili Video Search, Ranking & Metadata Scraper
Search Bilibili videos by keyword, look up specific videos by URL or ID, or pull the popular feed and partition ranking charts, with view, like…
TikTok Sound Lookup: Metadata & Videos Using It
Look up any TikTok sound by URL or ID and get back its title, creator, duration, cover art, and streaming links, plus every video currently using…
YouTube Channel Video Feed Quick Scraper
Quickly list any YouTube channel's videos, sorted newest, most popular or oldest, with channel subscriber count, verification and optional Shorts,…
YouTube Live Stream & Replay Chat Extractor
Collect chat messages, Super Chats, Super Stickers, and membership events from an active YouTube livestream or an ended stream's saved chat…
Questions people ask
How much does Twitch Live Stream, Channel & VOD Metadata Extractor cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does Twitch Live Stream, Channel & VOD Metadata Extractor return?
Its published output schema lists 8 fields: recordType, title, channelName, displayName, viewersCount, viewCount, gameName, url. A listed field is not guaranteed to be filled in every row.
What input does Twitch Live Stream, Channel & VOD Metadata Extractor need?
Required: mode. Optional settings include searchQuery, searchType, channelName, channelNames, categorySlug, videoId.
How do I run Twitch Live Stream, Channel & VOD Metadata Extractor from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/twitch-live-stream-channel-and-vod-metadata").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/twitch-live-stream-channel-and-vod-metadata").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~twitch-live-stream-channel-and-vod-metadata/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Twitch Live Stream, Channel & VOD Metadata Extractor on Apify Store
- Published build with input and output schema (JSON)
- Twitch API (Helix) documentation
Cite this page
Scraper Finder. "Twitch Live Stream, Channel & VOD Metadata Extractor." https://scraperfinder.com/catalogue/twitch-live-stream-channel-and-vod-metadata/ (data checked 2026-11-12).
Run Twitch Live Stream, Channel & VOD Metadata Extractor
$0.99 per 1,000 results. Paste the example input above, set your Twitch query, then export the dataset. Still choosing? Compare every Twitch route.