Skip to content

User Videos

GET/v1/twitch/user/videos1 credit

Lists a channel's videos, 100 per page, with title, length, view count, game, thumbnail, animated preview and publish date. Can be filtered by type and sorted by date or views.

01Query parameters

NameTypeDescription
handlerequiredstringThe Twitch login, `@login` or a channel URL, e.g. `shroud`.
filter_byoptionalstringOnly videos of this type: `HIGHLIGHT` (highlights), `ARCHIVE` (past broadcasts) or `UPLOAD` (uploads). Case-insensitive. All types when omitted.Accepted values:HIGHLIGHTARCHIVEUPLOAD
sort_byoptionalstringOrder by publish time or by view count. Case-insensitive.Accepted values:TIMEVIEWS
cursoroptionalstringThe `cursor` value from the previous page, passed back unchanged to get the next 100 videos.

02Request

curl "https://api.scrapesocial.ai/v1/twitch/user/videos?handle=shroud" \
  -H "x-api-key: $SCRAPESOCIAL_KEY"

03Responses

Real answers from the API. Lists are shortened to 2 items.

GET /v1/twitch/user/videos?handle=shroud

{
  "success": true,
  "credits_remaining": 4980,
  "credits_charged": 1,
  "videos": [
    {
      "id": "2907766307",
      "animatedPreviewURL": "https://d2nvs31859zcd8.cloudfront.net/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255/storyboards/2907766307-strip-0.jpg",
      "lengthSeconds": 35613,
      "game": {
        "boxArtURL": "https://static-cdn.jtvnw.net/ttv-boxart/771448419_IGDB-40x56.jpg",
        "id": "771448419",
        "slug": "aion-2",
        "displayName": "AION 2",
        "name": "AION 2",
        "__typename": "Game"
      },
      "broadcastIdentifier": {
        "id": "319660778839",
        "__typename": "BroadcastIdOnly"
      },
      "owner": {
        "displayName": "shroud",
        "id": "37402112",
        "login": "shroud",
        "profileImageURL": "https://static-cdn.jtvnw.net/jtv_user_pictures/c754eebf-745b-4e0a-814a-10bcaecaabbc-profile_image-50x50.png",
        "primaryColorHex": "00ADFF",
        "roles": {
          "isPartner": true,
          "__typename": "UserRoles"
        },
        "__typename": "User"
      },
      "previewThumbnailURL": "https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255//thumb/thumb0-320x180.jpg",
      "publishedAt": "2026-10-22T17:14:19Z",
      "title": "NEW CONTENT NEW WEEK NEW ME MMO MIKE IS BACK AND",
      "viewCount": 201452,
      "contentTags": []
    },
    {
      "id": "2906978606",
      "animatedPreviewURL": "https://d2vi6trrdongqn.cloudfront.net/71720211397064bb10e1_shroud_320854680156_1792608178/storyboards/2906978606-strip-0.jpg",
      "lengthSeconds": 17928,
      "game": {
        "boxArtURL": "https://static-cdn.jtvnw.net/ttv-boxart/771448419_IGDB-40x56.jpg",
        "id": "771448419",
        "slug": "aion-2",
        "displayName": "AION 2",
        "name": "AION 2",
        "__typename": "Game"
      },
      "broadcastIdentifier": {
        "id": "320854680156",
        "__typename": "BroadcastIdOnly"
      },
      "owner": {
        "displayName": "shroud",
        "id": "37402112",
        "login": "shroud",
        "profileImageURL": "https://static-cdn.jtvnw.net/jtv_user_pictures/c754eebf-745b-4e0a-814a-10bcaecaabbc-profile_image-50x50.png",
        "primaryColorHex": "00ADFF",
        "roles": {
          "isPartner": true,
          "__typename": "UserRoles"
        },
        "__typename": "User"
      },
      "previewThumbnailURL": "https://static-cdn.jtvnw.net/cf_vods/d2vi6trrdongqn/71720211397064bb10e1_shroud_320854680156_1792608178//thumb/thumb0-320x180.jpg",
      "publishedAt": "2026-10-21T18:43:03Z",
      "title": "NEW HARDMODE CONTENT GRINDING PHILO STONES AND PVE BOARDS",
      "viewCount": 118119,
      "contentTags": []
    }
  ],
  "hasNextPage": true,
  "cursor": "2771862411|442273|2026-05-14T16:35:11Z|38098"
}

Common to every endpoint

Any route can answer these: a missing or wrong key, no credits left, the platform not answering, or a failure on our side. None of them costs credits.

GET /v1/cosmos/profile?handle=design

{
  "success": false,
  "message": "Invalid API key"
}

04Notes

Videos come in `videos`, 100 per page. While `hasNextPage` is true, pass `cursor` back as `cursor` (with the same filter and sort) for the next page; on the last page `cursor` is null. A channel without videos returns 200 with an empty list for 0 credits. An unknown channel is a free 404; an invalid `filter_by`, `sort_by` or cursor is a free 400.

05Errors & credits

Every error has success: false, a real HTTP status and costs no credits.

  • 400missing_parameter

    A required parameter is missing or invalid.

  • 403private_account

    The account is private or age-restricted.

  • 404not_found

    No such account.

  • 503upstream_error

    The platform did not answer; retry shortly.