Twitch Scraper
Get Twitch Profile
Retrieves a Twitch user's public profile by handle, including identity, social links, and content. Returns id, handle, displayName, description, followers count, and linked social accounts (instagram, x, tiktok). Also includes lastBroadcast with startedAt (ISO 8601 UTC) and title, allVideos with game info, duration, and view counts, featuredClips with clip metadata and thumbnails, and similarStreamers. lastBroadcast comes from Twitch's broadcast metadata rather than saved videos, so it can remain available when a channel is offline and its saved broadcasts have expired or were never saved. lastBroadcast is null when Twitch does not provide it; startedAt and title can individually be null when unavailable.
Endpoint
Parameters
| Name | Type | Required | Note |
|---|---|---|---|
| handlestring · required | string | required | Twitch handle |
| cache_max_agestring · optional | string | optional | See the Caching page for details. One of: |
Response schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string"
},
"handle": {
"type": "string"
},
"isLive": {
"type": "boolean"
},
"stream": {
"type": "object",
"additionalProperties": {}
},
"allVideos": {
"type": "array"
},
"followers": {
"type": "number"
},
"isPartner": {
"type": "boolean"
},
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"lastBroadcast": {
"type": "object",
"additionalProperties": {}
},
"bannerImageURL": {
"type": "string"
},
"profileImageURL": {
"type": "string"
},
"recentBroadcasts": {
"type": "array"
},
"similarStreamers": {
"type": "array"
},
"currentViewersCount": {
"type": "number"
}
},
"additionalProperties": true
}