List videos from a Twitch channel · Twitch API
Returns videos (past broadcasts, highlights, uploads) from a Twitch channel with titles, durations and view counts. Filter by type and sort by time or views.
Using ChatGPT, Claude Code or another client? See the setup steps
curl https://api.unifapi.com/twitch/channels/{username}/videos \
-H "Authorization: Bearer $UNIFAPI_KEY"Parameters
- usernamepathrequired
- Twitch channel login, as in twitch.tv/{username}.
- filter_byquery
- Optional filter for the type of Twitch videos to return. `archive`: full unedited past broadcasts (VODs). `highlight`: shorter clips curated/edited by the streamer from past broadcasts. `upload`: videos uploaded directly, not recorded from a live stream.
- sort_byquery
- Optional sort order.
- The parameter for this Twitch operation. Use the URL-visible slug or id described in the docs.
This operation is part of the Twitch API in the social platforms category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.
Use it when a workflow needs Twitch public data alongside other social networks, but should still keep one API key, one account balance, and one predictable JSON contract.
Common agent workflows
- Fetch canonical public Twitch content for summarization, ranking, monitoring, or enrichment.
- Attach engagement, author, media, and source metadata to an agent workflow.
- Give an AI agent a stable Twitch data source without building a per-platform integration.
- Normalize Twitch responses into the same UnifAPI envelope used across the catalog.
Unified envelope, platform-native fields
- List-style responses return `data` as an array of top-level records plus optional `pagination` for continuation tokens or cursors.
- The operation has a 3 credits ($0.003) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
- If the workspace balance cannot cover every result, the response can be truncated and `billing.truncated_due_to_balance` tells the caller why.
Response status codes
Billing
This operation charges 1 credit per billable record, with a 3 credits ($0.003) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.
Errors and retries
Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.
Fields on each record in data
A successful List videos from a Twitch channel call returns data as an array; each record carries these fields.
- idstring | null
- Twitch video id.
- titlestring | null
- Video title when available.
- urlstring | null
- Canonical public Twitch URL for the video when available.
- thumbnail_urlstring | null
- Preview thumbnail URL when available.
- animated_preview_urlstring | null
- Animated preview image URL when available.
- published_atnumber | null
- ISO-8601 publish timestamp when available. Unix seconds.
- view_countnumber | null
- View count when available.
- durationnumber | null
- Video duration in seconds when available.
- gameobject | null
- Game or category for the video when available.
More Twitch operations
Combine endpoints from the same platform, then join the results with other UnifAPI categories without changing authentication or response parsing.
Get a Twitch channel
Returns a Twitch channel by login: display name, bio, follower count, live status, recent videos and similar streamers. Returns `not_found` when the channel does not exist.
Get a Twitch channel's stream schedule
Returns the upcoming stream schedule segments of a Twitch channel with start and end times, titles and categories.
Get a Twitch clip by URL
Returns one Twitch clip by URL: title, broadcaster, game, view count, duration, playback URLs and related clips. Returns `not_found` when the clip does not exist.