Twitch Scraper
Get Twitch User Videos
Fetches a list of videos (100 max) for a Twitch user, returning each video's id, slug, url, embedURL, title, viewCount, language, durationSeconds, game info, broadcaster details with follower count, thumbnailURL, and videoQualities at multiple resolutions with a signed videoURL for playback. Supports pagination via cursor and a trim option for lighter responses.
Endpoint
Parameters
| Name | Type | Required | Note |
|---|---|---|---|
| handlestring · required | string | required | Twitch handle |
| limitnumber · optional | number | optional | Maximum number of results to return from this request. Leave empty for everything this request returns. This trims the response — it does not fetch more. The price is the same either way. |
| sort_bystring · optional | string | optional | Sort by One of: |
| filter_bystring · optional | string | optional | Filter by One of: |
Response schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"x": {
"type": "string"
},
"id": {
"type": "string"
},
"handle": {
"type": "string"
},
"isLive": {
"type": "boolean"
},
"stream": {
"type": "object",
"additionalProperties": {}
},
"tiktok": {
"type": "string"
},
"youtube": {
"type": "string"
},
"allVideos": {
"type": "array"
},
"followers": {
"type": "number"
},
"instagram": {
"type": "string"
},
"isPartner": {
"type": "boolean"
},
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"limitApplied": {
"type": "boolean",
"description": "True when a Limit trimmed the results; there were more in this response."
},
"featuredClips": {
"type": "array"
},
"bannerImageURL": {
"type": "string"
},
"profileImageURL": {
"type": "string"
},
"similarStreamers": {
"type": "array"
},
"currentViewersCount": {
"type": "number"
}
},
"additionalProperties": true
}