Skip to main content
GET
/
v1
/
scrape
/
twitch
/
user
/
videos
User Videos
curl --request GET \
  --url https://api.sociavault.com/v1/scrape/twitch/user/videos \
  --header 'X-API-Key: <api-key>'
import requests

url = "https://api.sociavault.com/v1/scrape/twitch/user/videos"

headers = {"X-API-Key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};

fetch('https://api.sociavault.com/v1/scrape/twitch/user/videos', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sociavault.com/v1/scrape/twitch/user/videos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.sociavault.com/v1/scrape/twitch/user/videos"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("X-API-Key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.sociavault.com/v1/scrape/twitch/user/videos")
.header("X-API-Key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.sociavault.com/v1/scrape/twitch/user/videos")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "success": true,
  "data": {
    "success": true,
    "videos": {
      "0": {
        "id": "2790997945",
        "animatedPreviewURL": "https://d2nvs31859zcd8.cloudfront.net/2a370f1c16b9ea7d9e75_ishowspeed_318034827607_1780848180/storyboards/2790997945-strip-0.jpg",
        "lengthSeconds": 8051,
        "game": {
          "boxArtURL": "https://static-cdn.jtvnw.net/ttv-boxart/509658-40x56.jpg",
          "id": "509658",
          "slug": "just-chatting",
          "displayName": "Just Chatting",
          "name": "Just Chatting",
          "__typename": "Game"
        },
        "broadcastIdentifier": {
          "id": "318034827607",
          "__typename": "BroadcastIdOnly"
        },
        "owner": {
          "displayName": "IShowSpeed",
          "id": "220476955",
          "login": "ishowspeed",
          "profileImageURL": "https://static-cdn.jtvnw.net/jtv_user_pictures/46a38d3a-a39c-4c43-ac12-c331b1c469c2-profile_image-50x50.png",
          "primaryColorHex": "FF4747",
          "roles": {
            "isPartner": true,
            "__typename": "UserRoles"
          },
          "__typename": "User"
        },
        "previewThumbnailURL": "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/2a370f1c16b9ea7d9e75_ishowspeed_318034827607_1780848180//thumb/thumb0-320x180.jpg",
        "publishedAt": "2026-06-07T16:03:05Z",
        "title": "WORLD TALENT SHOW🌎 LIVE NOW !!! (Presented by Cash App)",
        "viewCount": 510727,
        "contentTags": {}
      },
      "1": {
        "id": "2787731127",
        "animatedPreviewURL": "https://d2vi6trrdongqn.cloudfront.net/7c64f82565b5be032f51_ishowspeed_318870490716_1780504700/storyboards/2787731127-strip-0.jpg",
        "lengthSeconds": 6015,
        "game": {
          "boxArtURL": "https://static-cdn.jtvnw.net/ttv-boxart/509658-40x56.jpg",
          "id": "509658",
          "slug": "just-chatting",
          "displayName": "Just Chatting",
          "name": "Just Chatting",
          "__typename": "Game"
        },
        "broadcastIdentifier": {
          "id": "318870490716",
          "__typename": "BroadcastIdOnly"
        },
        "owner": {
          "displayName": "IShowSpeed",
          "id": "220476955",
          "login": "ishowspeed",
          "profileImageURL": "https://static-cdn.jtvnw.net/jtv_user_pictures/46a38d3a-a39c-4c43-ac12-c331b1c469c2-profile_image-50x50.png",
          "primaryColorHex": "FF4747",
          "roles": {
            "isPartner": true,
            "__typename": "UserRoles"
          },
          "__typename": "User"
        },
        "previewThumbnailURL": "https://static-cdn.jtvnw.net/cf_vods/d2vi6trrdongqn/7c64f82565b5be032f51_ishowspeed_318870490716_1780504700//thumb/thumb0-320x180.jpg",
        "publishedAt": "2026-06-03T16:38:30Z",
        "title": "FIFA MADE IT OFFICIAL! + LITT STREAM🔥",
        "viewCount": 254970,
        "contentTags": {}
      }
    },
    "hasNextPage": false,
    "cursor": null
  },
  "credits_used": 1,
  "endpoint": "twitch/user/videos"
}
{
"error": "Twitch handle is required"
}
{
"error": "Insufficient credits",
"required": 1,
"available": 0
}
💳 1 credit per request

Authorizations

X-API-Key
string
header
required

API key for authentication. Format: sk_live_xxxxxxxxxxxxx

Get your API key from the Dashboard.

Query Parameters

handle
string
required

Twitch handle

Example:

"ishowspeed"

cursor
string

Pagination cursor from previous response

filter_by
enum<string>

Filter videos by type

Available options:
HIGHLIGHT,
ARCHIVE,
UPLOAD
Example:

"ARCHIVE"

sort_by
enum<string>

Sort videos

Available options:
TIME,
VIEWS
Example:

"TIME"

Response

Successful response

Key Response Fields:

  • videos[].id: Twitch video ID
  • videos[].title: Video/VOD title
  • videos[].publishedAt: ISO 8601 publish timestamp
  • videos[].viewCount: Total view count
  • videos[].lengthSeconds: Video duration in seconds
  • videos[].previewThumbnailURL: Thumbnail image URL
  • videos[].animatedPreviewURL: Animated preview strip URL
  • videos[].game.id: Game/category ID
  • videos[].game.name: Game/category name
  • videos[].game.displayName: Game display name
  • videos[].game.boxArtURL: Game box art image URL
  • videos[].owner.displayName: Channel owner display name
  • videos[].owner.login: Channel owner login handle
  • hasNextPage: Whether more videos are available
  • cursor: Cursor for pagination (null if last page)