Twitch
5 endpoints.
- GET /v1/twitch/clip
- GET /v1/twitch/clip_captions
- GET /v1/twitch/user
- GET /v1/twitch/user_schedule
- GET /v1/twitch/user_videos
GET /v1/twitch/clip
Clip
Fetches detailed data for a Twitch clip by URL, including metadata and direct video URLs. Returns clip 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. Also includes additional clips from the same broadcaster.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Twitch clip URL |
cache_max_age | query | string | If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details. one of: 1d, 3d, 7d, 14d, 30d |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/twitch/clip?url=https://www.twitch.tv/staryuuki/clip/CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ?filter=clips&range=all&sort=time" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/twitch/clip?url=https://www.twitch.tv/staryuuki/clip/CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ?filter=clips&range=all&sort=time", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/twitch/clip?url=https://www.twitch.tv/staryuuki/clip/CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ?filter=clips&range=all&sort=time",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
[
{
"data": {
"clip": {
"id": "387484507",
"slug": "CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ",
"url": "https://clips.twitch.tv/CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ",
"embed_url": "https://clips.twitch.tv/embed?clip=CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ",
"title": "un grande el mesero",
"view_count": 52441,
"language": "ES",
"is_featured": true,
"assets": [
{
"id": "AT-cm|W4NkMPhK87GGxO1Fr4AjEA",
"aspect_ratio": 1.7777777777777777,
"type": "SOURCE",
"created_at": "2024-03-30T21:52:12.134391826Z",
"creation_state": "CREATED",
"curator": "{...}",
"thumbnail_url": "https://clips-media-assets2.twitch.tv/W4NkMPhK87GGxO1Fr4AjEA/AT-cm%7CW4NkMPhK87GGxO1Fr4AjEA-preview-480x272.jpg",
"video_qualities": [
"{...}"
],
"portrait_details": null,
"typename": "ClipAsset"
}
],
"curator": {
"id": "192477639",
"login": "satagul_sy",
"display_name": "Satagul_SY",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/a7d1cf0c-6482-475c-a7ba-9fedf75f0149-profile_image-70x70.png",
"typename": "User"
},
"game": {
"id": "509672",
"name": "IRL",
"box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/509672-52x72.jpg",
"display_name": "IRL",
"slug": "irl",
"typename": "Game"
},
"broadcast": {
"id": "43930529883",
"title": null,
"typename": "Broadcast"
},
"broadcaster": {
"id": "167189231",
"login": "staryuuki",
"display_name": "Staryuuki",
"primary_color_hex": "689AFF",
"is_partner": true,
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/b45a3305-bc42-41cc-a754-e6679a2d9ef0-profile_image-70x70.png",
"followers": {
"total_count": 3450065,
"typename": "FollowerConnection"
},
"stream": null,
"last_broadcast": {
"id": "314597248121",
"started_at": "2025-01-23T06:52:10.179125Z",
"typename": "Broadcast"
},
"self": null,
"typename": "User"
},
"thumbnail_url": "https://clips-media-assets2.twitch.tv/W4NkMPhK87GGxO1Fr4AjEA/AT-cm%7CW4NkMPhK87GGxO1Fr4AjEA-preview-260x147.jpg",
"created_at": "2024-03-30T21:52:12Z",
"is_published": true,
"duration_seconds": 27,
"champ_badge": null,
"playback_access_token": {
"bio": "43c84d015eddd8ebc145f914824caa1c37ff6559",
"value": "{\"authorization\":{\"forbidden\":false,\"reason\":\"\"},\"clip_uri\":\"https://production.assets.clips.twitchcdn.net/W4NkMPhK87GGxO1Fr4AjEA/AT-cm%7CW4NkMPhK87GGxO1Fr4A...",
"typename": "PlaybackAccessToken"
},
"video": null,
"video_offset_seconds": null,
"video_qualities": [
{
"source_url": "https://production.assets.clips.twitchcdn.net/W4NkMPhK87GGxO1Fr4AjEA/AT-cm%7CW4NkMPhK87GGxO1Fr4AjEA.mp4",
"typename": "ClipVideoQuality"
}
],
"is_viewer_edit_restricted": true,
"suggested_cropping": null,
"typename": "Clip",
"...": "1 more fields"
}
},
"extensions": {
"duration_milliseconds": 87,
"operation_name": "ShareClipRenderStatus",
"request_id": "01JJD92A0J3G5ND9PWV2SSXCPC"
}
}
]GET /v1/twitch/clip_captions
Clip Transcript
Gets a transcript from a public Twitch clip. Checks native captions first; returned native captions cost 1 credit. Set use_ai_as_fallback=true to opt into paid AI only when captions are unavailable. No transcript costs 0 credits. transcript_source is native, ai, or null. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
url required | query | string | Twitch clip URL |
allow_long_transcription | query | boolean | Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. |
use_ai_as_fallback | query | boolean | Use paid AI only when native captions are unavailable. Defaults to false. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/twitch/clip_captions?url=https://clips.twitch.tv/WrongMagnificentTomatoCorgiDerp-C720OEMqocSPbrqA" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/twitch/clip_captions?url=https://clips.twitch.tv/WrongMagnificentTomatoCorgiDerp-C720OEMqocSPbrqA", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/twitch/clip_captions?url=https://clips.twitch.tv/WrongMagnificentTomatoCorgiDerp-C720OEMqocSPbrqA",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": "161412440",
"url": "https://www.twitch.tv/mish/clip/WrongMagnificentTomatoCorgiDerp-C720OEMqocSPbrqA",
"transcript": "Gigi's, Gigi's. Oh, it's a spirit. I don't want to play anymore. I should have gone to pee...",
"transcript_source": "native"
}GET /v1/twitch/user
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.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
handle required | query | string | Twitch handle |
cache_max_age | query | string | If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details. one of: 1d, 3d, 7d, 14d, 30d |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/twitch/user?handle=ishowspeed" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/twitch/user?handle=ishowspeed", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/twitch/user?handle=ishowspeed",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": "220476955",
"is_live": true,
"current_viewers_count": 6293,
"last_broadcast": {
"started_at": "2026-10-15T20:11:51.586296Z",
"title": "🔴LET’S HAVE FUN 🤩 + Speed Vs. Cole Palmer ⚽️🏴🥶"
},
"handle": "ishowspeed",
"stream": {},
"display_name": "IShowSpeed",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/46a38d3a-a39c-4c43-ac12-c331b1c469c2-profile_image-150x150.png",
"banner_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/983dc814-a78c-4e5a-9d22-e6e7595c76e1-profile_banner-480.png",
"description": "YouTube:IShowSpeed Instagram:IShowSpeed: Snapchat:wishowspeed Twitter: ishowspeedsui I luv y’all🐐💕",
"followers": 3830874,
"is_partner": true,
"recent_broadcasts": [
{
"id": "2761014301",
"title": "BALLER LEAGUE WEEK 7 ⚽️ SPEED UTD VS FOR THE WIN FC 🔥",
"preview_thumbnail_url": "https://vod-secure.twitch.tv/_404/404_processing_320x180.png",
"published_at": "2026-04-30T21:38:06Z",
"view_count": 702,
"length_seconds": 13895,
"animated_preview_url": "https://d2vi6trrdongqn.cloudfront.net/1dfa1f8c049eaa77fe54_ishowspeed_318481977952_1777585080/storyboards/2761014301-strip-0.jpg",
"resource_restriction": null,
"content_tags": [],
"self": {
"is_restricted": false,
"viewing_history": null,
"typename": "VideoSelfEdge"
},
"game": {
"id": "423594505",
"slug": "baller-league",
"box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/423594505-40x56.jpg",
"display_name": "Baller League",
"name": "Baller League",
"typename": "Game"
},
"owner": {
"id": "220476955",
"display_name": "IShowSpeed",
"login": "ishowspeed",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/46a38d3a-a39c-4c43-ac12-c331b1c469c2-profile_image-50x50.png",
"primary_color_hex": "FF4747",
"typename": "User"
},
"typename": "Video"
}
],
"all_videos": [
{
"animated_preview_url": "https://d2vi6trrdongqn.cloudfront.net/1dfa1f8c049eaa77fe54_ishowspeed_318481977952_1777585080/storyboards/2761014301-strip-0.jpg",
"game": {
"box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/423594505-40x56.jpg",
"id": "423594505",
"slug": "baller-league",
"display_name": "Baller League",
"name": "Baller League",
"typename": "Game"
},
"id": "2761014301",
"length_seconds": 13895,
"owner": {
"display_name": "IShowSpeed",
"id": "220476955",
"login": "ishowspeed",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/46a38d3a-a39c-4c43-ac12-c331b1c469c2-profile_image-50x50.png",
"primary_color_hex": "FF4747",
"roles": {
"is_partner": true,
"typename": "UserRoles"
},
"typename": "User"
},
"preview_thumbnail_url": "https://vod-secure.twitch.tv/_404/404_processing_320x180.png",
"published_at": "2026-04-30T21:38:06Z",
"self": {
"is_restricted": false,
"viewing_history": null,
"typename": "VideoSelfEdge"
},
"title": "BALLER LEAGUE WEEK 7 ⚽️ SPEED UTD VS FOR THE WIN FC 🔥",
"view_count": 702,
"resource_restriction": null,
"content_tags": [],
"typename": "Video"
}
],
"similar_streamers": []
}GET /v1/twitch/user_schedule
User Schedule
Fetches a user's schedule by handle, returning a list of scheduled events with start time, end time, title, description, and thumbnail URL. Supports pagination via cursor and a trim option for lighter responses.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
handle required | query | string | Twitch handle |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/twitch/user_schedule?handle=emongg" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/twitch/user_schedule?handle=emongg", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/twitch/user_schedule?handle=emongg",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": "23220337",
"primary_color_hex": null,
"last_broadcast": {
"id": "318502443360",
"started_at": "2026-05-02T08:26:08.899139Z",
"typename": "Broadcast"
},
"broadcast_settings": {
"id": "23220337",
"title": "Checking out Diablo IV: Lord of Hatred! !diablo #DiabloPartner #ad",
"typename": "BroadcastSettings"
},
"stream": {
"id": "318502443360",
"created_at": "2026-05-02T08:26:00Z",
"viewers_count": 2994,
"preview_image_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_emongg-320x180.jpg",
"vertical_preview_image_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_emongg-180x320.jpg",
"height": 900,
"width": 1600,
"is_dual_format": false,
"game": {
"id": "515024",
"slug": "diablo-iv",
"name": "Diablo IV",
"typename": "Game"
},
"typename": "Stream"
},
"videos": {
"edges": [
{
"node": {
"id": "2762226372",
"title": "[!DROPS ENABLED + WINTON BADGE] watching owcs, gaming",
"created_at": "2026-05-02T08:26:09Z",
"length_seconds": 41352,
"view_count": 196,
"preview_thumbnail_url": "https://vod-secure.twitch.tv/_404/404_processing_320x180.png",
"game": {
"id": "515025",
"slug": "overwatch-2",
"name": "Overwatch",
"typename": "Game"
},
"typename": "Video"
},
"typename": "VideoEdge"
}
],
"typename": "VideoConnection"
},
"channel": {
"id": "23220337",
"schedule": {
"id": "schedule-23220337",
"next_segment": {
"id": "eyJzZWdtZW50SUQiOiI4ZThhMTczMS1hYjU0LTQxZDMtOTEzMy02N2JjZTM0NTRiMzUiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjoxOH0=",
"start_at": "2026-05-03T11:00:00Z",
"typename": "ScheduleSegment"
},
"interruption": null,
"segments": [
{
"id": "eyJzZWdtZW50SUQiOiI5NjU1NWMwMC03OGZkLTQ4NTQtYTIyZS1kYWNjOGU3ZWZlYzkiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjoxOH0=",
"base_segment_id": "96555c00-78fd-4854-a22e-dacc8e7efec9",
"title": "",
"start_at": "2026-04-27T11:00:00Z",
"end_at": "2026-04-27T21:00:00Z",
"is_cancelled": false,
"cancelled_until": null,
"has_reminder": false,
"repeat_ends_after_count": null,
"categories": [],
"typename": "ScheduleSegment"
}
],
"typename": "Schedule"
},
"typename": "Channel"
},
"typename": "User"
}GET /v1/twitch/user_videos
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.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
handle required | query | string | Twitch handle |
filter_by | query | string | Filter by one of: HIGHLIGHT, ARCHIVE, UPLOAD |
sort_by | query | string | Sort by one of: TIME, VIEWS |
Request
curl "https://api.scrapall.bipsport.com/scapi/v1/twitch/user_videos?handle=ishowspeed" \
-H "X-Scapi-Key: YOUR_API_KEY"const res = await fetch("https://api.scrapall.bipsport.com/scapi/v1/twitch/user_videos?handle=ishowspeed", {
headers: { "X-Scapi-Key": "YOUR_API_KEY" }
});
const data = await res.json();import requests
r = requests.get(
"https://api.scrapall.bipsport.com/scapi/v1/twitch/user_videos?handle=ishowspeed",
headers={"X-Scapi-Key": "YOUR_API_KEY"},
)
print(r.json())Response 200 (sample)
{
"id": "51496027",
"is_live": true,
"current_viewers_count": 2740,
"stream": {
"id": "319166855259",
"created_at": "2026-05-01T16:44:37Z",
"game": {
"id": "21779",
"display_name": "League of Legends",
"typename": "Game"
},
"type": "live",
"viewers_count": 2740,
"typename": "Stream",
"tags": [
{
"id": "fft:CHANNEL:51496027:0",
"name": "English",
"typename": "FreeformTag"
}
]
},
"handle": "loltyler1",
"display_name": "loltyler1",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/f3591dbe4ee3d94b-profile_image-150x150.png",
"banner_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/303b0767-0fb4-4a9f-b8a1-2d8b99f24630-profile_banner-480.png",
"description": "Season 6 Challenger | Most REFORMED Player NA | #1 Draven World ",
"followers": 5469372,
"x": "https://x.com/loltyler1?mx=2",
"instagram": "https://www.instagram.com/tyler1_alpha/#",
"youtube": "https://www.youtube.com/channel/UCwV_0HmQkRrTcrReaMxPeDw",
"tiktok": "https://www.tiktok.com/@loltyler1",
"is_partner": true,
"all_videos": [
{
"animated_preview_url": "https://d1m7jfoe9zdc1j.cloudfront.net/f2ca91ee909630bdb3df_loltyler1_319166855259_1777653877/storyboards/2761630321-strip-0.jpg",
"game": {
"box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/21779-40x56.jpg",
"id": "21779",
"slug": "league-of-legends",
"display_name": "League of Legends",
"name": "League of Legends",
"typename": "Game"
},
"id": "2761630321",
"length_seconds": 931,
"owner": {
"display_name": "loltyler1",
"id": "51496027",
"login": "loltyler1",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/f3591dbe4ee3d94b-profile_image-50x50.png",
"primary_color_hex": null,
"roles": {
"is_partner": true,
"typename": "UserRoles"
},
"typename": "User"
},
"preview_thumbnail_url": "https://vod-secure.twitch.tv/_404/404_processing_320x180.png",
"published_at": "2026-05-01T16:44:42Z",
"self": {
"is_restricted": false,
"viewing_history": null,
"typename": "VideoSelfEdge"
},
"title": "TRY MIGHT ! give NEVER ! BACKS NOT DOWN !! held high for MOMENT WAIT !!! tick ticks ticks ... CLOCK BY PATIENT THIN WAITER !! tick ... NOW !",
"view_count": 0,
"resource_restriction": null,
"content_tags": [],
"typename": "Video"
}
],
"featured_clips": [
{
"id": "2907296184",
"slug": "CogentSpeedyWallabyDxCat-nm23_xWWFTxoPI0C",
"clip_title": "ewc",
"clip_view_count": 19427,
"curator": {
"id": "24179021",
"login": "testrox",
"display_name": "Testrox",
"typename": "User"
},
"clip_game": {
"id": "55453844",
"slug": "street-fighter-6",
"name": "Street Fighter 6",
"display_name": "Street Fighter 6",
"box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/55453844_IGDB-52x72.jpg",
"typename": "Game"
},
"broadcaster": {
"id": "51496027",
"login": "loltyler1",
"display_name": "loltyler1",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/f3591dbe4ee3d94b-profile_image-50x50.png",
"primary_color_hex": null,
"roles": {
"is_partner": true,
"typename": "UserRoles"
},
"typename": "User"
},
"thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/53f846ec-21aa-49e4-92e0-3e93b61726f7/landscape/thumb/thumb-0000000000...",
"created_at": "2025-07-05T08:09:03Z",
"duration_seconds": 25,
"is_featured": true,
"guest_star_participants": {
"host": {
"id": "51496027",
"login": "loltyler1",
"display_name": "loltyler1",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/f3591dbe4ee3d94b-profile_image-300x300.png",
"primary_color_hex": null,
"description": "Season 6 Challenger | Most REFORMED Player NA | #1 Draven World ",
"typename": "User"
},
"guests": [],
"session_identifier": "2xmd2itvLAiTeLZsWCYYpifxYv1",
"typename": "GuestStarParticipants"
},
"typename": "Clip"
}
],
"similar_streamers": [
{
"id": "459567713",
"display_name": "SpectateTyler1",
"login": "spectatetyler1",
"primary_color_hex": "1F69FF",
"profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/184aa4fd-1fd7-42ab-8170-5b98bd2fb37f-profile_image-300x300.png",
"stream": null,
"typename": "User"
}
]
}