SignalShelf · Developer documentation

Twitch · user/videos

List public videos from a Twitch channel. GET /api/v1/twitch/user/videos accepts your x-api-key header. Production live requests are disabled. Selling or redistributing Twitch API metadata requires a separate written agreement.

Request parameters

Uses official Twitch Helix Get Users, Get Streams, and Get Videos to return public channel metadata, current live status, and public video records. Supports Helix cursor pagination with first/after, source-side time/views/trending sorting, language filtering, and publication-period filtering. Sort and filters are applied by Twitch before pagination; fetching every page is still required to enumerate a channel’s full history. Follower count and social links are omitted because these Helix responses do not provide them.

ParameterTypeRequiredDescription
handlestringYesPublic Twitch channel login, without @ or URL.
filter_bystringNoAllowed: HIGHLIGHT, ARCHIVE, UPLOAD.
sort_bystringNoTwitch Helix source sort applied before pagination. Allowed: TIME, VIEWS, TRENDING. Default: TIME.
periodstringNoLimit videos by publication period; supported by Twitch Helix. Allowed: ALL, DAY, WEEK, MONTH.
languagestringNoFilter by the channel broadcast language using a two-letter ISO 639-1 code, or other.
firstintegerNoHelix page size, from 1 to 100. Default: 20. Range: 1–100.
afterstringNoOpaque Twitch Helix cursor returned as next_cursor.
freshnessstringNo24h (default), 1h, 7d, or live. Accepted cache hits are free; live forces refresh except simultaneous requests may share newly fetched data.

Code examples

Set SIGNALSHELF_BASE_URL and SIGNALSHELF_API_KEY on your server.

REQUEST EXAMPLE
curl "$SIGNALSHELF_BASE_URL/api/v1/twitch/user/videos?handle=shroud" \
  -H "x-api-key: $SIGNALSHELF_API_KEY"

Response and pagination

The response contains data and meta. data includes platform, resource, sample:false, provider, and the public source payload. Lists return data.items; individual resources return data.data.

Author feeds include data.next_cursor. Return it unchanged in cursor for the next page. Feed entries can include reposts. Single-post lookups resolve the handle to a DID first. Deleted or moderated posts may be unavailable.

meta includes event_id, mode, cache, credits_charged, fetched_at, age_seconds, and duration_ms. A fresh successful result costs one credit; accepted cached results and failures cost zero.

Availability and failures

Implementation is not a continuous availability guarantee. Source rate limits, retention, deleted content, restrictions, and regional availability apply. This is an independent SignalShelf contract, not a drop-in competitor response format.

400: invalid parameters. 401: missing/revoked key. 402: insufficient credits. 404: missing public resource. 429: SignalShelf throttle. 502/503: upstream failure or rate limit, with credit restored.

Explore the API in your workspace. Sample results and accepted cache hits cost zero credits. Open the playground →