Kick support #25656

Open
opened 2026-02-21 12:38:57 -05:00 by deekerman · 8 comments
Owner

Originally created by @DealsBeam on GitHub (Dec 17, 2022).

Checklist

  • I'm reporting a new site support request
  • I've verified that I'm running youtube-dl version 2021.12.17
  • I've checked that all provided URLs are alive and playable in a browser
  • I've checked that none of provided URLs violate any copyrights
  • I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Description

No login credentials needed, the website is basically a twitch clone

Originally created by @DealsBeam on GitHub (Dec 17, 2022). <!-- ###################################################################### WARNING! IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE ###################################################################### --> ## Checklist <!-- Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl: - First of, make sure you are using the latest version of youtube-dl. Run `youtube-dl --version` and ensure your version is 2021.12.17. If it's not, see https://yt-dl.org/update on how to update. Issues with outdated version will be REJECTED. - Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser. - Make sure that site you are requesting is not dedicated to copyright infringement, see https://yt-dl.org/copyright-infringement. youtube-dl does not support such sites. In order for site support request to be accepted all provided example URLs should not violate any copyrights. - Search the bugtracker for similar site support requests: http://yt-dl.org/search-issues. DO NOT post duplicates. - Finally, put x into all relevant boxes (like this [x]) --> - [x] I'm reporting a new site support request - [x] I've verified that I'm running youtube-dl version **2021.12.17** - [x] I've checked that all provided URLs are alive and playable in a browser - [x] I've checked that none of provided URLs violate any copyrights - [x] I've searched the bugtracker for similar site support requests including closed ones ## Example URLs <!-- Provide all kinds of example URLs support for which should be included. Replace following example URLs by yours. --> - Single video: https://kick.com/video/82a3c11d-7a17-4747-aecb-2e61413eb11f ## Description No login credentials needed, the website is basically a twitch clone
Author
Owner

@dirkf commented on GitHub (Dec 21, 2022):

In the page is JS variable const Zippy whose value defines the site:

{
  'url': 'https://kick.com',
  'port': null,
  'defaults': {
  },
  /* --- snipped lots of APIs --- */
    'api.search': {
      'uri': 'api/search',
      'methods': [
        'GET',
        'HEAD'
      ]
    },
  /* --- snipped lots of APIs --- */
    'video.show': {
      'uri': 'api/v1/video/{video}',
      'methods': [
        'GET',
        'HEAD'
      ],
      'bindings': {
        'video': 'uuid'
      }
    },
    'video.delete': {
      'uri': 'api/v1/video/{video}',
      'methods': [
        'DELETE'
      ],
      'bindings': {
        'video': 'uuid'
      }
    },
  /* --- snipped lots of APIs --- */
  }
}

So let's look at https://kick.com/api/v1/video/82a3c11d-7a17-4747-aecb-2e61413eb11f:

{
  'id': 28440,
  'live_stream_id': 31814,
  'slug': null,
  'thumb': null,
  's3': null,
  'trading_platform_id': null,
  'created_at': '2022-12-17T15:02:05.000000Z',
  'updated_at': '2022-12-21T11:26:30.000000Z',
  'uuid': '82a3c11d-7a17-4747-aecb-2e61413eb11f',
  'views': 742,
  'source': 'https://stream.kick.com/ivs/v1/196233775518/xJf2jIQZk382/2022/12/17/12/30/4uV5fWgp8QfV/media/hls/master.m3u8',
  'livestream': {
    'id': 31814,
    'slug': 'b17d6-weekly-stake-stream',
    'channel_id': 22,
    'created_at': '2022-12-17 12:33:14',
    'session_title': 'Weekly Stake Stream',
    'is_live': false,
    'source': 'obs',
    'twitch_channel': null,
    'duration': 9007000,
    'thumbnail': 'https://kick-prod-videos.s3.us-west-2.amazonaws.com/thumbnails/livestream/31814/thumb145/video_thumbnail/thumb145.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS3MDRZGPPQDUDQXQ%2F20221221%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20221221T112631Z&X-Amz-SignedHeaders=host&X-Amz-Expires=300&X-Amz-Signature=876d88673a61419800f0df4951ee3b121e351e80ed6dad2b7cee3d99b81fdfdd',
    'channel': {
      'id': 22,
      'user_id': 22,
      'slug': 'eddie',
      'playback_url': 'https://fa723fc1b171.us-west-2.playback.live-video.net/api/video/v1/us-west-2.196233775518.channel.xJf2jIQZk382.m3u8',
      'name_updated_at': null,
      'followersCount': 11447,
      'user': {
        'profilepic': 'https://d2egosedh0nm8l.cloudfront.net/images/user/22/profile_image/358e5d87-be7f-4b39-aed3-aa3d9df8203a',
        'bio': 'Eddie from Stake. Streaming every Saturday at 12:30pm GMT with Steve & Mikey. Whole heap of giveaways to enter and bonuses to be won. Happily answering any questions people might have about Stake!',
        'twitter': 'StakeEddie',
        'facebook': null,
        'instagram': null,
        'youtube': null,
        'discord': 'PrimeEdd',
        'tiktok': null,
        'username': 'Eddie'
      },
      'verified': {
        'id': 26,
        'channel_id': 22,
        'created_at': '2022-12-12T16:48:07.000000Z',
        'updated_at': '2022-12-12T16:48:07.000000Z'
      }
    },
    'categories': [
      {
        'id': 28,
        'category_id': 4,
        'name': 'Slots & Casino',
        'slug': 'slots',
        'tags': [
          'Gambling'
        ],
        'description': null,
        'category': {
          'id': 4,
          'name': 'Gambling',
          'slug': 'gambling',
          'icon': '🎰'
        }
      }
    ]
  }
}

This is all that's needed for basic video extraction with metadata.

@dirkf commented on GitHub (Dec 21, 2022): In the page is JS variable `const Zippy` whose value defines the site: ```json { 'url': 'https://kick.com', 'port': null, 'defaults': { }, /* --- snipped lots of APIs --- */ 'api.search': { 'uri': 'api/search', 'methods': [ 'GET', 'HEAD' ] }, /* --- snipped lots of APIs --- */ 'video.show': { 'uri': 'api/v1/video/{video}', 'methods': [ 'GET', 'HEAD' ], 'bindings': { 'video': 'uuid' } }, 'video.delete': { 'uri': 'api/v1/video/{video}', 'methods': [ 'DELETE' ], 'bindings': { 'video': 'uuid' } }, /* --- snipped lots of APIs --- */ } } ``` So let's look at https://kick.com/api/v1/video/82a3c11d-7a17-4747-aecb-2e61413eb11f: ```json { 'id': 28440, 'live_stream_id': 31814, 'slug': null, 'thumb': null, 's3': null, 'trading_platform_id': null, 'created_at': '2022-12-17T15:02:05.000000Z', 'updated_at': '2022-12-21T11:26:30.000000Z', 'uuid': '82a3c11d-7a17-4747-aecb-2e61413eb11f', 'views': 742, 'source': 'https://stream.kick.com/ivs/v1/196233775518/xJf2jIQZk382/2022/12/17/12/30/4uV5fWgp8QfV/media/hls/master.m3u8', 'livestream': { 'id': 31814, 'slug': 'b17d6-weekly-stake-stream', 'channel_id': 22, 'created_at': '2022-12-17 12:33:14', 'session_title': 'Weekly Stake Stream', 'is_live': false, 'source': 'obs', 'twitch_channel': null, 'duration': 9007000, 'thumbnail': 'https://kick-prod-videos.s3.us-west-2.amazonaws.com/thumbnails/livestream/31814/thumb145/video_thumbnail/thumb145.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS3MDRZGPPQDUDQXQ%2F20221221%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20221221T112631Z&X-Amz-SignedHeaders=host&X-Amz-Expires=300&X-Amz-Signature=876d88673a61419800f0df4951ee3b121e351e80ed6dad2b7cee3d99b81fdfdd', 'channel': { 'id': 22, 'user_id': 22, 'slug': 'eddie', 'playback_url': 'https://fa723fc1b171.us-west-2.playback.live-video.net/api/video/v1/us-west-2.196233775518.channel.xJf2jIQZk382.m3u8', 'name_updated_at': null, 'followersCount': 11447, 'user': { 'profilepic': 'https://d2egosedh0nm8l.cloudfront.net/images/user/22/profile_image/358e5d87-be7f-4b39-aed3-aa3d9df8203a', 'bio': 'Eddie from Stake. Streaming every Saturday at 12:30pm GMT with Steve & Mikey. Whole heap of giveaways to enter and bonuses to be won. Happily answering any questions people might have about Stake!', 'twitter': 'StakeEddie', 'facebook': null, 'instagram': null, 'youtube': null, 'discord': 'PrimeEdd', 'tiktok': null, 'username': 'Eddie' }, 'verified': { 'id': 26, 'channel_id': 22, 'created_at': '2022-12-12T16:48:07.000000Z', 'updated_at': '2022-12-12T16:48:07.000000Z' } }, 'categories': [ { 'id': 28, 'category_id': 4, 'name': 'Slots & Casino', 'slug': 'slots', 'tags': [ 'Gambling' ], 'description': null, 'category': { 'id': 4, 'name': 'Gambling', 'slug': 'gambling', 'icon': '🎰' } } ] } } ``` This is all that's needed for basic video extraction with metadata.
Author
Owner

@shubham-singh-748 commented on GitHub (Mar 12, 2023):

hey is this issue still available, if yes can i work on this?

@shubham-singh-748 commented on GitHub (Mar 12, 2023): hey is this issue still available, if yes can i work on this?
Author
Owner

@dirkf commented on GitHub (Mar 12, 2023):

Please review the linked PR if you wish.

@dirkf commented on GitHub (Mar 12, 2023): Please review the linked PR if you wish.
Author
Owner

@DealsBeam commented on GitHub (May 17, 2023):

Single video link in OP has been removed, try this one https://kick.com/video/7237f151-70e4-439c-8306-2a7b0b0cc366

@DealsBeam commented on GitHub (May 17, 2023): Single video link in OP has been removed, try this one https://kick.com/video/7237f151-70e4-439c-8306-2a7b0b0cc366
Author
Owner

@aaron-tan commented on GitHub (Aug 8, 2023):

Video link above has also been removed, tried using this one: https://kick.com/video/e466d965-b67d-471d-bed5-e3d4f19a4a9d but unfortunately it returned HTTP 403: forbidden error. Could be a bug?

I've had a look at https://github.com/yt-dlp/yt-dlp/issues/6748 and it seems to be an issue with cloudflare fingerprinting. I've tried the solutions offered like using my browser's user-agent string: python -m youtube_dl -v --user-agent ''USER AGENT'' https://kick.com/video/56292fc4-98fe-4fc8-8267-8082651bde12 but unfortunately it did not work for me. I've tried passing cookies from browser but there is no --cookies-from-browser option in youtube-dl (a new feature for the future maybe?) but no success it still returns HTTP 403: forbidden error.

@aaron-tan commented on GitHub (Aug 8, 2023): Video link above has also been removed, tried using this one: https://kick.com/video/e466d965-b67d-471d-bed5-e3d4f19a4a9d but unfortunately it returned HTTP 403: forbidden error. Could be a bug? I've had a look at https://github.com/yt-dlp/yt-dlp/issues/6748 and it seems to be an issue with cloudflare fingerprinting. I've tried the solutions offered like using my browser's user-agent string: python -m youtube_dl -v --user-agent ''USER AGENT'' https://kick.com/video/56292fc4-98fe-4fc8-8267-8082651bde12 but unfortunately it did not work for me. I've tried passing cookies from browser but there is no --cookies-from-browser option in youtube-dl (a new feature for the future maybe?) but no success it still returns HTTP 403: forbidden error.
Author
Owner

@Lil-Nugs commented on GitHub (Jan 28, 2024):

I tried using the Kick implementation from #31576 and it was working at first, but then started getting 403's as well. Probably still due to the cloudflare fingerprinting I'm guessing.

I have a branch with the code from #31576 for VOD's and have a clip extractor too, not sure if we are still wanting to add functionality if the 403's are happening due to the cloudflare issue?

@Lil-Nugs commented on GitHub (Jan 28, 2024): I tried using the Kick implementation from #31576 and it was working at first, but then started getting 403's as well. Probably still due to the cloudflare fingerprinting I'm guessing. I have a branch with the code from #31576 for VOD's and have a clip extractor too, not sure if we are still wanting to add functionality if the 403's are happening due to the cloudflare issue?
Author
Owner

@Adithyrao1 commented on GitHub (Sep 22, 2025):

Hey @DealsBeam id like to work on this issue

@Adithyrao1 commented on GitHub (Sep 22, 2025): Hey @DealsBeam id like to work on this issue
Author
Owner

@dirkf commented on GitHub (Sep 23, 2025):

The existing PR #31576 stalled because the site blocked our web client. Please review that PR before anything else, and report there whether it works for you (or how you made it work, if you had to change anything).

Otherwise, depends on #33050.

@dirkf commented on GitHub (Sep 23, 2025): The existing PR #31576 stalled because the site [blocked our web client](https://github.com/ytdl-org/youtube-dl/pull/31576#issuecomment-1668920092). Please review that PR before anything else, and report there whether it works for you (or how you made it work, if you had to change anything). Otherwise, depends on #33050.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/youtube-dl#25656
No description provided.