Brand colour
primaryColorHex
Optional
Channel accent colour as a hex string.
Twitch Search & Streams Scraper
Pricing
$1.30 / 1,000 result extracteds
Search Twitch channels, live streams, VODs and categories, no OAuth needed. Keyword search runs to Twitch's natural end (~1,000 channels per term, not 30) and category runs slice by language to beat Twitch's 30-row cap. Returns followers, viewers, uptime, category, tags, partner status.
Record type
recordType
Required
channel, video, category, or no_results for the single explanatory row written when a run legitimately matches nothing.
ID
id
Optional
Twitch numeric id for the channel, video or category. Stable across runs and the join key back to Twitch's own API.
Login
login
Optional
Channel name as it appears in the twitch.tv URL, lowercase. The natural key for channel rows.
Display name
displayName
Optional
Channel name as the streamer capitalises it, including non-Latin scripts.
Name
name
Optional
Category name. Category rows only.
Slug
slug
Optional
Category URL slug. Category rows only.
URL
url
Optional
Canonical twitch.tv URL for the channel, video or category.
Title
title
Optional
Video title. Video rows only.
Description
description
Optional
Channel bio, or video description on video rows.
Profile image
profileImageUrl
Optional
300x300 channel avatar.
Brand colour
primaryColorHex
Optional
Channel accent colour as a hex string.
Account created
accountCreatedAt
Optional
ISO 8601 timestamp the Twitch account was registered. Useful for filtering out brand-new accounts.
Followers
followers
Optional
Total follower count at scrape time.
Partner
isPartner
Optional
Whether the channel holds Twitch Partner status.
Affiliate
isAffiliate
Optional
Whether the channel holds Twitch Affiliate status.
Twitch staff
isStaff
Optional
Whether the account belongs to Twitch staff. Twitch reports true or null rather than false, so null is normalised to false here.
Live now
isLive
Optional
Whether the channel was broadcasting at the moment this row was scraped.
Stream ID
streamId
Optional
Id of the live broadcast. Null when the channel is offline.
Stream title
streamTitle
Optional
Current stream title, falling back to the channel's configured title when offline.
Viewers
viewersCount
Optional
Concurrent viewers right now. Null when offline.
Stream started
streamStartedAt
Optional
ISO 8601 timestamp the current broadcast began.
Uptime
streamUptimeSeconds
Optional
Seconds the current broadcast has been live, computed against the scrape time.
Stream type
streamType
Optional
live, or rerun for a replayed broadcast.
Thumbnail
thumbnailUrl
Optional
640x360 live preview frame, or the video thumbnail on video rows.
Category ID
gameId
Optional
Twitch id of the category being streamed.
Category
gameName
Optional
Category being streamed, for example Just Chatting or VALORANT. Falls back to the channel's configured category when offline.
Category slug
gameSlug
Optional
URL slug of the category.
Category box art
gameBoxArtUrl
Optional
285x380 box art for the category.
Box art
boxArtUrl
Optional
285x380 category box art. Category rows only.
Broadcaster language
broadcasterLanguage
Optional
Language the channel broadcasts in, as a Twitch language code.
Last broadcast ID
lastBroadcastId
Optional
Id of the most recent broadcast, live or ended.
Last broadcast title
lastBroadcastTitle
Optional
Title of the most recent broadcast. Tells you what an offline channel was last doing.
Last broadcast started
lastBroadcastStartedAt
Optional
ISO 8601 start time of the most recent broadcast. The field to sort on to find dormant channels.
Last broadcast category
lastBroadcastGame
Optional
Category of the most recent broadcast.
Views
viewCount
Optional
Lifetime view count. Video rows only.
Length
lengthSeconds
Optional
Video duration in seconds. Video rows only.
Created
createdAt
Optional
ISO 8601 timestamp the video was recorded. Video rows only.
Published
publishedAt
Optional
ISO 8601 timestamp the video was published. Video rows only.
Channel ID
channelId
Optional
Id of the channel that owns the video. Video rows only.
Search term
searchQuery
Optional
The search term this row was matched by, when the run used Search mode.
Matched category
matchedCategory
Optional
The directory category this row was pulled from, when the run used Category mode.
Matched language
matchedLanguage
Optional
The language slice this row came back in. Null for the unfiltered first pass.
Position
position
Optional
One-based rank of this row within its search term or category.
Scraped at
scrapedAt
Required
ISO 8601 timestamp of the run. Viewer counts and uptime are only meaningful relative to this.
Message
message
Optional
Why a run returned nothing. Present on no_results rows only.