Kick Channel Scraper - Latest VODs & Clips avatar

Kick Channel Scraper - Latest VODs & Clips

Pricing

from $2.00 / 1,000 scraped videos

Go to Apify Store
Kick Channel Scraper - Latest VODs & Clips

Kick Channel Scraper - Latest VODs & Clips

Scrape the latest VODs (past broadcasts) and clips of any Kick.com channel by username or URL. Get title, description, thumbnail, duration, views, upload date and stream URL for each video. No login needed.

Pricing

from $2.00 / 1,000 scraped videos

Rating

0.0

(0)

Developer

Harish Garg

Harish Garg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Kick Channel Scraper gets the latest VODs (past broadcasts) and clips of any Kick.com channel. Enter a streamer's username or channel URL, and get one row per video with the title, description, thumbnail, duration, view count, upload date, clip creator and stream URL.

Scrape many Kick channels in one run. Export the data as JSON, CSV, Excel or HTML, read it from the API, or let an AI assistant such as Claude or ChatGPT run the scraper for you.

No Kick account, no login, no Kick API key and no coding needed.

What does Kick Channel Scraper do?

Kick Channel Scraper is a Kick VOD and clip scraper. It finds the newest videos of each channel that you give it, and it collects public data about each video.

  • Latest Kick VODs — the most recent past broadcasts of each channel, newest first.
  • Latest Kick clips — the most recent clips of each channel, with the username of the viewer who made each clip.
  • Video metadata — title, description, duration, view count, upload date and thumbnail of every video.
  • Stream URLs — an .m3u8 playlist for every video, which players such as VLC can open.
  • Many channels in one run — add as many Kick streamers as you need.

The scraper runs on the Apify platform. You get API access, scheduled runs, integrations with your other tools and run monitoring without extra setup.

Do you have the URLs of specific videos, or do you want the MP4 files? Use Kick Video Scraper. It takes the URLs of single VODs and clips, and it can save each video as a file.

Why scrape Kick channels?

  • Streamer and creator research — See what a streamer publishes, how long the streams are and how many views each one gets.
  • Clip monitoring — Collect the newest clips of a channel every day, and find the clips with the most views.
  • Talent scouting and sponsorships — Compare the activity and audience of many Kick streamers before you contact them.
  • VOD archives — Keep a record of a channel's VODs and clips. Kick keeps VODs for about 30 days only.
  • Dashboards and AI analysis — Send structured Kick video data to a spreadsheet, a database, a BI tool or an AI model.

How to scrape Kick VODs and clips

  1. Click Try for free and sign in to Apify. A free account is enough.
  2. In Channels, add one or more channel usernames (for example xqc) or channel URLs (for example https://kick.com/xqc).
  3. Optional: turn off Include VODs or Include clips, and set Max items per channel.
  4. Click Start.
  5. Open the Output tab. View the videos as a table, or download them as JSON, CSV, Excel or HTML.

You can also run the scraper from your own code or from an AI assistant. See Usage examples below.

Input

Set the input on the Input tab in Apify Console, or send it as JSON through the API.

FieldTypeDefaultDescription
channelsstring[]—Required. Kick channel usernames (xqc) or channel URLs (https://kick.com/xqc)
includeVodsbooleantrueGet the past broadcasts of each channel
includeClipsbooleantrueGet the clips of each channel
maxItemsPerChannelinteger20The maximum number of VODs, and separately of clips, for each channel (1 to 200). For example, 20 gives up to 20 VODs plus up to 20 clips

At least one of includeVods and includeClips must be true.

Input examples

The latest 20 VODs and 20 clips of one channel

{
"channels": ["xqc"]
}

The 10 newest clips of two channels

{
"channels": ["xqc", "https://kick.com/trainwreckstv"],
"includeVods": false,
"maxItemsPerChannel": 10
}

The 5 newest VODs of one channel

{
"channels": ["xqc"],
"includeClips": false,
"maxItemsPerChannel": 5
}

Output

You get one row for each VOD or clip. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Example of a VOD:

{
"type": "vod",
"id": "e8885172-7587-4fa8-80a2-ec2f140159ba",
"title": "🦖LIVE🦖LOCK IN🦖GTA V🦖NOPIXEL V🦖BIG DRAMA🦖MEGA DAY🦖HEIST DAY🦖",
"url": "https://kick.com/xqc/videos/e8885172-7587-4fa8-80a2-ec2f140159ba",
"channel": "xqc",
"clipCreator": null,
"description": "THE BEST AT ABSOLUTELY EVERYTHING. THE JUICER. LEADER OF THE JUICERS.",
"thumbnail": "https://images.kick.com/video_thumbnails/DsuAwCgUc9Bh/LyweTclipKhZ/720.webp",
"streamUrl": "https://stream.kick.com/3c81249a5ce0/ivs/v1/196233775518/DsuAwCgUc9Bh/2026/10/9/18/42/LyweTclipKhZ/media/hls/1080p60/playlist.m3u8",
"durationSeconds": 8170,
"viewCount": 30637,
"uploadDate": "2026-10-09",
"isLive": false,
"ext": "mp4",
"filesizeBytes": null,
"formatsCount": 5,
"scrapedAt": "2026-10-10T04:37:32.744874+00:00"
}

Example of a clip:

{
"type": "clip",
"id": "clip_01M4HMYR6NHDD0Y2DZ0TP92ETH",
"title": "ASPLDK",
"url": "https://kick.com/xqc/clips/clip_01M4HMYR6NHDD0Y2DZ0TP92ETH",
"channel": "xqc",
"clipCreator": "rizkyk",
"description": "",
"thumbnail": "https://clips.kick.com/clips/83/clip_01M4HMYR6NHDD0Y2DZ0TP92ETH/thumbnail.webp",
"streamUrl": "https://clips.kick.com/clips/83/clip_01M4HMYR6NHDD0Y2DZ0TP92ETH/playlist.m3u8",
"durationSeconds": 180,
"viewCount": 19,
"uploadDate": "2026-10-10",
"isLive": false,
"ext": "mp4",
"filesizeBytes": null,
"formatsCount": 1,
"scrapedAt": "2026-10-10T04:37:35.891487+00:00"
}

Kick data fields

FieldDescription
typevod or clip
idThe Kick ID of the video
titleThe video title
urlThe video page on Kick.com
channelThe channel username
clipCreatorThe username of the viewer who made the clip (null for VODs)
descriptionThe video description (up to 2,000 characters)
thumbnailThe thumbnail image URL
streamUrlThe .m3u8 stream playlist of the video in the best quality
durationSecondsThe length of the video in seconds
viewCountThe number of views when the video was scraped
uploadDateThe upload date (YYYY-MM-DD)
isLivetrue when the stream was live when it was scraped
extThe file type of the video
filesizeBytesThe approximate size of the best quality, when Kick gives it
formatsCountThe number of qualities that Kick has for the video
scrapedAtWhen the row was scraped (UTC)

Usage examples

Run Kick Channel Scraper from Apify Console, from the Apify API, or from an AI assistant. All examples below get the same kind of data.

Apify Console (no code)

  1. Open the scraper and go to the Input tab.
  2. Add xqc in Channels.
  3. Set Max items per channel to 10.
  4. Click Start, and open the Output tab when the run finishes.

To run the scraper automatically, open Schedules in Apify Console and create a schedule, for example every day at 08:00.

Apify API (HTTP)

Get your API token in Apify Console under Settings → API & Integrations. Replace <YOUR_API_TOKEN> in the examples below.

Run the scraper and get the videos in one call:

curl -X POST "https://api.apify.com/v2/acts/hgservices~kick-channel-scraper/run-sync-get-dataset-items?format=json" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "channels": ["xqc"], "maxItemsPerChannel": 10 }'

Change format=json to format=csv or format=xlsx to get a spreadsheet.

This call waits for the run to finish, for a maximum of 5 minutes. For runs with many channels, start the run without waiting, and read the dataset when the run finishes:

curl -X POST "https://api.apify.com/v2/acts/hgservices~kick-channel-scraper/runs" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{ "channels": ["xqc", "trainwreckstv", "adinross"], "maxItemsPerChannel": 50 }'

The response gives data.defaultDatasetId. Get the videos from https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=json.

JavaScript / Node.js client

Install the client with npm install apify-client.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('hgservices/kick-channel-scraper').call({
channels: ['xqc', 'trainwreckstv'],
includeVods: false,
maxItemsPerChannel: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const video of items) {
console.log(video.channel, video.title, video.viewCount, video.url);
}

Python client

Install the client with pip install apify-client (version 3.0 or later).

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("hgservices/kick-channel-scraper").call(run_input={
"channels": ["xqc"],
"includeClips": False,
"maxItemsPerChannel": 5,
})
if run is None:
raise RuntimeError("The run was not found.")
for video in client.dataset(run.default_dataset_id).iterate_items():
print(video["uploadDate"], video["durationSeconds"], video["title"])

AI assistants: Claude, ChatGPT and other MCP clients

Kick Channel Scraper works as a tool for AI assistants through the Apify MCP server. Your assistant finds the scraper, reads its input options, runs it and uses the videos in its answer.

Claude (claude.ai or Claude Desktop) — Go to Settings → Connectors and add a custom connector. Enter https://mcp.apify.com as the URL. Sign in to Apify when Claude asks.

Claude Code — Run this command:

$claude mcp add --transport http apify https://mcp.apify.com

ChatGPT — Turn on Developer mode in ChatGPT. Then go to Settings → Apps & Connectors → Create. Enter https://mcp.apify.com as the MCP Server URL, select OAuth and sign in to Apify. In a new chat, click +, select More, and add the Apify connector.

Cursor, VS Code and other MCP clients — Add https://mcp.apify.com as a remote MCP server.

To give the assistant only this scraper, use https://mcp.apify.com?tools=hgservices/kick-channel-scraper as the server URL.

Then ask in plain language:

Use the Kick Channel Scraper to list the 10 newest clips of xqc, sorted by views.

How long were the last 5 streams of trainwreckstv, and how many views did each one get?

Which clips of my Kick channel "mychannel" got more than 1,000 views this week?

For the best results, give the channel names and a small item limit. This keeps the run short.

Integrations

Connect Kick Channel Scraper to the tools you already use with Apify integrations: Google Sheets, Google Drive, Slack, Zapier, Make, n8n, Airbyte and more. Use webhooks to call your own endpoint when a run finishes.

For example, schedule a daily run and send the newest clips of your favorite streamers to a Google Sheet or a Slack channel.

Tips and limits

  • Run time. The scraper gets about one video per second. One channel with the default limits (20 VODs and 20 clips) takes about one minute.
  • Get only what you need. Turn off Include VODs or Include clips, and lower Max items per channel, to make runs shorter.
  • VOD history. Kick keeps VODs for about 30 days. A channel can give fewer VODs than Max items per channel.
  • Live streams. A stream that is live now has no VOD yet, so the scraper skips it. Run the scraper again after the stream ends.
  • Channel names. Use the username from the channel URL (letters, digits, _ and -), or paste the channel URL. The scraper skips names that are not valid and URLs that are not on Kick, and writes a warning in the log.

FAQ

Do I need a Kick account or a Kick API key? No. You need only an Apify account. The scraper reads public videos that every visitor can see.

Can I download the Kick videos as MP4 files? Not with this scraper. It collects the data and the stream URL of each video. Open streamUrl in a player such as VLC to watch a video. To save videos as MP4 files, give the video URLs from this scraper to Kick Video Scraper.

Can I scrape old Kick VODs? Only the VODs that are still on Kick. Kick keeps VODs for about 30 days. Schedule a daily run to keep your own archive.

Why did my channel give no videos? Check that the channel exists and has VODs or clips. If the channel has videos, run the scraper again a few minutes later.

Can I get the chat of a Kick VOD? Not with this scraper. Use Kick Chat Replay Scraper to get the chat messages of a VOD or clip.

Is it legal to scrape Kick? The scraper collects only public data and never signs in. You are responsible for how you use the data, and for compliance with the Kick Terms of Service, copyright law and data protection law such as GDPR. Use only the content that you have the right to use.

Support

Did you find a bug, or do you need a field that is not here? Open an issue on the Issues tab. Custom solutions are available on request.

This scraper is not affiliated with or endorsed by Kick.com.