docs / twitch

Twitch API scraper

Twitch API scraper

base /twitch/v19 endpoints
post/twitch/v1/channel1 credit

Full channel/user profile by login: id, display name, description, created-at, profile and banner image, follower count, partner/affiliate/staff flags, and the current live stream (title, viewer count, game/category, started-at) if live.

ParameterAllowed / rangeDescription
loginrequiredTwitch channel login name — the handle in twitch.tv/<login> (e.g. 'shroud', 'pokimane', 'xqc'). Case-insensitive.
Try in playground →
post/twitch/v1/stream1 credit

Live status of a channel: whether it is live right now and, if so, the stream id, title, viewer count, game/category, started-at timestamp and a 1080p thumbnail. Returns is_live=false (honest-empty) for an offline channel.

ParameterAllowed / rangeDescription
loginrequiredTwitch channel login name — the handle in twitch.tv/<login> (e.g. 'shroud', 'pokimane', 'xqc'). Case-insensitive.
Try in playground →
post/twitch/v1/videos1 credit

A channel's past broadcasts / VODs (most recent first), up to 100 in one page: id, title, duration, view count, published-at, game/category and thumbnail. Note: Twitch integrity-gates pagination beyond the first page for keyless access.

ParameterAllowed / rangeDescription
loginrequiredTwitch channel login name — the handle in twitch.tv/<login> (e.g. 'shroud', 'pokimane', 'xqc'). Case-insensitive.
limit = 20optional1–100How many VODs to return (1-100, single page).
type = ARCHIVEoptionalARCHIVE · HIGHLIGHT · UPLOAD · ALLWhich kind of videos: ARCHIVE (past broadcasts, default), HIGHLIGHT, UPLOAD or ALL.
sort = TIMEoptionalTIME · VIEWSOrder: TIME (newest first, default) or VIEWS (most viewed).
Try in playground →
post/twitch/v1/clips1 credit

Top clips of a channel, ranked by views, up to 100 in one page: id, slug, title, view count, created-at, duration, game/category, the clip creator and the clip URL. Filter the time window with `period`. Pagination beyond page one is integrity-gated.

ParameterAllowed / rangeDescription
loginrequiredTwitch channel login name — the handle in twitch.tv/<login> (e.g. 'shroud', 'pokimane', 'xqc'). Case-insensitive.
limit = 20optional1–100How many clips to return (1-100).
period = LAST_WEEKoptionalLAST_DAY · LAST_WEEK · LAST_MONTH · ALL_TIMETime window for top clips: LAST_DAY, LAST_WEEK (default), LAST_MONTH or ALL_TIME.
Try in playground →
post/twitch/v1/search_channels1 credit

Search Twitch channels by name/keyword. Returns matching channels with id, login, display name, description, follower count, partner/affiliate flags and live status (viewer count + game when live).

ParameterAllowed / rangeDescription
queryrequiredFree-text search term.
limit = 10optional1–30Max channels to return (1-30).
Try in playground →
post/twitch/v1/search_categories1 credit

Search Twitch games/categories by name. Returns matching categories with id, name, display name, current live viewer count and box-art image.

ParameterAllowed / rangeDescription
queryrequiredFree-text search term.
limit = 10optional1–30Max categories to return (1-30).
Try in playground →
post/twitch/v1/top_games1 credit

The top games/categories on Twitch right now, ranked by live viewers: id, name, display name, current viewer count, content tags and box-art image. Up to 30.

ParameterAllowed / rangeDescription
limit = 20optional1–30How many top games to return (1-30).
Try in playground →
post/twitch/v1/top_streams1 credit

The top live streams on Twitch right now, ranked by viewers: stream id, title, viewer count, started-at, the broadcasting channel (login, display name) and the game/category. Up to 30.

ParameterAllowed / rangeDescription
limit = 20optional1–30How many top streams to return (1-30).
Try in playground →
post/twitch/v1/game1 credit

Game/category detail by name plus its top live streams: category id, display name, total live viewers, description, avatar — and the top channels (up to 30) currently streaming it, each with title, viewer count and broadcaster.

ParameterAllowed / rangeDescription
namerequiredExact game/category name as Twitch lists it (e.g. 'VALORANT', 'Just Chatting', 'Counter-Strike'). Use search_categories to resolve a fuzzy name first.
limit = 20optional1–30How many of the game's top live streams to return (1-30).
Try in playground →