# Kick Video Downloader (`parsebird/kick-video-downloader`) Actor

Download Kick.com videos, VODs, and clips in up to 1080p60 quality. Save Kick stream recordings, highlights, and clips to Apify storage. No proxy needed. Export download links via API. Supports batch downloads.

- **URL**: https://apify.com/parsebird/kick-video-downloader.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:** Social media, Videos, Automation
- **Features:** Limited permissions
- **Stats:** 1,076 total users, 16 monthly users, 98.1% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 ≤ 100 mbs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Kick Video Downloader

Download [Kick.com](https://kick.com) videos, VODs, clips, and stream recordings in up to 1080p60 quality — no proxy needed, no account required. Save Kick videos directly to Apify storage and get instant download links.

![Kick Video Downloader](https://kick.com/img/kick-social-logo-1200x630.png)

<table><tr>
<td style="border-left:4px solid #53FC18;padding:12px 16px;font-weight:600">
Download Kick VODs, clips, and stream recordings in up to 1080p60 quality — supports batch downloads, multiple URL formats, and automatic quality selection with direct download links via API.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Kick Video Downloader (parsebird/kick-video-downloader) downloads Kick.com videos, VODs, and clips. Call via ApifyClient: client.actor("parsebird/kick-video-downloader").call(run_input={"startUrls": [{"url": "https://kick.com/video/uuid"}], "quality": "best"}). Inputs: startUrls (array of {url: string}, required — Kick video/VOD/clip URLs), quality (string, default "best" — options: "best", "1080p60", "720p60", "480p30"), maxVideoSizeMb (integer, default 20480 — max file size in MB, up to 20 GB), proxyConfiguration (object, optional — default no proxy). Output fields: url (source URL), title (video title), channel (streamer name), quality (downloaded quality), duration (ms), file_size (bytes), download_url (direct download link from Apify KVS), status ("success" or "error"). Supported URL formats: kick.com/channel/videos/uuid (VODs), kick.com/video/uuid (direct video), kick.com/clips/id (clips). Get API token: https://console.apify.com/account#/integrations. Pricing: tiered by file size — $0.01 (≤100 MB) to $3.00 (15–20 GB).
```

### What does Kick Video Downloader do?

Kick Video Downloader extracts and downloads videos from [Kick.com](https://kick.com) — the live streaming platform — and saves them directly to Apify cloud storage. No Kick account, browser extension, or desktop software required.

- 📹 **VOD downloads** — Download full Kick stream recordings (VODs) in up to 1080p60 quality
- 🎬 **Clip downloads** — Save Kick clips and highlights with a single URL
- ⚡ **Batch processing** — Download multiple Kick videos in one run
- 🎯 **Quality selection** — Choose between best, 1080p60, 720p60, or 480p30
- 🔗 **Direct download links** — Get instant Apify storage URLs for each downloaded video
- 🚫 **No proxy needed** — Kick Video Downloader works without proxies for most downloads
- 📦 **API access** — Integrate Kick video downloads into your workflow via the [Apify API](https://docs.apify.com/api/v2)
- ⏰ **Scheduling** — Set up recurring downloads with [Apify scheduling](https://docs.apify.com/platform/schedules)

### What data can you get from Kick Video Downloader?

Each downloaded video produces a result row with metadata and a direct download link.

| Data Field | Type | Description |
|------------|------|-------------|
| **url** | string | Original Kick.com video URL |
| **title** | string | Stream or clip title from Kick |
| **channel** | string | Kick streamer/channel name |
| **quality** | string | Downloaded video quality (e.g. 1080p60) |
| **duration** | number | Video duration in milliseconds |
| **file_size** | number | Downloaded file size in bytes |
| **download_url** | string | Direct download link from Apify key-value store |
| **status** | string | "success" or "error" |

### How to download Kick videos

1. **Open the Actor** — Go to [Kick Video Downloader](https://apify.com/parsebird/kick-video-downloader) on the Apify Console
2. **Add Kick URLs** — Paste one or more Kick video, VOD, or clip URLs into the "Kick Video URLs" field
3. **Select quality** — Choose your preferred quality: best, 1080p60, 720p60, or 480p30
4. **Click Start** — Kick Video Downloader fetches the video metadata, downloads the video segments, and uploads the file to Apify storage
5. **Get your video** — Click the download URL in the results dataset to save the MP4 file. You can also export metadata as JSON, CSV, Excel, or HTML.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| startUrls | array | **Yes** | — | Kick video URLs to download. Supports VODs, direct videos, and clips. |
| quality | string | No | best | Preferred quality: best, 1080p60, 720p60, 480p30. Falls back to next available. |
| maxVideoSizeMb | integer | No | 20480 | Maximum video file size in MB. Videos exceeding this limit are skipped and not charged. Max 20 GB. |
| proxyConfiguration | object | No | No proxy | Proxy settings. Most Kick downloads work without a proxy. |

### Supported Kick URL formats

Kick Video Downloader supports these Kick.com URL formats:

- `https://kick.com/channel/videos/uuid` — VOD recordings (full stream replays)
- `https://kick.com/video/uuid` — Direct video links
- `https://kick.com/clips/clip_id` — Kick clips and highlights

### Output example

```json
{
  "url": "https://kick.com/xqc/videos/12345678-abcd-1234-abcd-1234567890ab",
  "title": "Late Night Stream",
  "channel": "xqc",
  "quality": "1080p60",
  "duration": 5042000,
  "file_size": 2500000000,
  "download_url": "https://api.apify.com/v2/key-value-stores/abc123/records/Late_Night_Stream_1080p60.mp4",
  "status": "success"
}
```

Download results in **JSON, CSV, Excel, or HTML** directly from the [Apify dataset](https://docs.apify.com/platform/storage/dataset). Video files are stored in the [Apify key-value store](https://docs.apify.com/platform/storage/key-value-store) and accessible via the download URL.

### Use cases

- **Content creators** — Download your own Kick stream recordings for editing and re-uploading
- **Clip compilations** — Batch download Kick clips to create highlight reels or compilations
- **Stream archiving** — Back up VODs from your favorite Kick streamers before they expire
- **Content analysis** — Download Kick videos for research, sentiment analysis, or content review
- **Cross-platform publishing** — Download Kick streams and re-publish on other platforms

### How it works

1. **URL parsing** — Kick Video Downloader identifies the video type (VOD, direct video, or clip) from the URL
2. **Metadata fetch** — The actor queries Kick's API to retrieve video title, channel, duration, and playback URL
3. **HLS resolution** — For VODs, the actor fetches the HLS master playlist and selects the requested quality variant
4. **Streaming download** — Video segments are downloaded concurrently (10 parallel connections) and streamed to disk — no full-video RAM buffering, so even multi-hour VODs download reliably
5. **Size check** — The downloaded file is checked against the size limit (default 20 GB). Oversized videos are skipped and not charged.
6. **Upload** — The complete video file is uploaded to Apify's key-value store as an MP4
7. **Tiered charge** — Pricing is based on the actual file size (see pricing table below)
8. **Results** — Metadata and download link are pushed to the dataset

### How much does it cost to download Kick videos?

Kick Video Downloader uses **tiered pay-per-event pricing** — you pay based on the downloaded video's file size, not for compute time. Small clips cost less, large VODs cost more.

| Tier | File Size | Free / Silver / Bronze | Gold |
|------|-----------|----------------------|------|
| XS | ≤ 100 MB | $0.01 | $0.008 |
| S | 100 MB – 500 MB | $0.04 | $0.034 |
| M | 500 MB – 2 GB | $0.20 | $0.17 |
| L | 2 GB – 5 GB | $0.60 | $0.50 |
| XL | 5 GB – 15 GB | $1.60 | $1.30 |
| XXL | 15 GB – 20 GB | $3.00 | $2.50 |

Failed downloads are never charged. Videos exceeding the 20 GB size limit are skipped and not charged.

**Examples:**

- 10 short Kick clips (30 MB each, XS tier) = **$0.10**
- 1 two-hour VOD at 720p (1.5 GB, M tier) = **$0.20**
- 1 eight-hour stream at 1080p60 (8 GB, XL tier) = **$1.60**

New users get a [free trial](https://apify.com/pricing) with $5 of platform credits to test any Actor.

See the [Pricing tab](https://apify.com/parsebird/kick-video-downloader/pricing) for current rates.

### Programmatic API usage

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run_input = {
    "startUrls": [
        {"url": "https://kick.com/xqc/videos/12345678-abcd-1234-abcd-1234567890ab"}
    ],
    "quality": "best",
}

run = client.actor("parsebird/kick-video-downloader").call(run_input=run_input)

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['title']} — {item['quality']} — {item['download_url']}")
```

#### JavaScript

```javascript
import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_API_TOKEN>" });

const input = {
    startUrls: [
        { url: "https://kick.com/xqc/videos/12345678-abcd-1234-abcd-1234567890ab" }
    ],
    quality: "best",
};

const run = await client.actor("parsebird/kick-video-downloader").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();

items.forEach((item) => {
    console.log(`${item.title} — ${item.quality} — ${item.download_url}`);
});
```

Get your API token at [Apify Console → Integrations](https://console.apify.com/account#/integrations).

Use [Apify scheduling](https://docs.apify.com/platform/schedules) to automate recurring Kick video downloads. Combine with [integrations](https://apify.com/integrations) to push download links to Google Sheets, Slack, webhooks, or your own storage.

### Is it legal to download Kick videos?

Kick Video Downloader accesses **publicly available video content** from Kick.com. All videos processed are publicly viewable on kick.com without authentication. Subscriber-only or private VODs are not supported.

Downloading your own Kick stream recordings is explicitly supported by [Kick's Help Center](https://help.kick.com/en/articles/7832538-how-to-download-your-kick-vod). For third-party content, users should ensure their use case complies with [Kick's Terms of Service](https://kick.com/terms-of-service) and applicable copyright law.

As with any content download tool, users are responsible for how they use the downloaded files. For more context on web scraping and content downloading legality, see [Apify's guide on web scraping and the law](https://blog.apify.com/is-web-scraping-legal/).

### Related Actors

Explore more ParseBird data extraction and automation tools:

- [Product Hunt Scraper](https://apify.com/parsebird/product-hunt-scraper) — Extract Product Hunt launches, leaderboards, and product data
- [YouTube Thumbnail Downloader](https://apify.com/parsebird/youtube-thumbnail-downloader) — Download YouTube thumbnails in all resolutions
- [HTTP Request Actor](https://apify.com/parsebird/http-request-actor) — Send custom HTTP requests with full control over headers, method, and body
- [Data Deduplicator](https://apify.com/parsebird/dataset-deduplicator) — Remove duplicate records from any Apify dataset
- [Data Cleaner](https://apify.com/parsebird/data-cleaner) — Clean, transform, and validate dataset records

### FAQ

**What Kick video formats are supported?**
Kick Video Downloader supports VOD recordings (full stream replays), direct video links, and Kick clips. Live streams that are currently broadcasting cannot be downloaded — only completed recordings.

**Do I need a Kick account to download videos?**
No. Kick Video Downloader downloads publicly available Kick videos. No Kick account, login, or API key is required.

**What quality options are available?**
You can select best (highest available), 1080p60, 720p60, or 480p30. If your selected quality is not available for a specific video, Kick Video Downloader automatically falls back to the next best available option.

**Can I download subscriber-only VODs?**
No. Only publicly accessible Kick videos can be downloaded. Subscriber-only and private VODs are not supported.

**What format are downloaded videos in?**
All Kick videos are downloaded as MP4 files (H.264 video with AAC audio) and stored in Apify's key-value store.

**How long does a download take?**
Download time depends on video length and quality. A 2-hour VOD in 1080p60 typically takes 5–15 minutes. Clips download in seconds. Long VODs (5+ hours) may take longer but will not time out — the actor uses streaming downloads and has no hard timeout limit.

**Is there a maximum video size?**
The default limit is 20 GB per video. You can lower this using the `maxVideoSizeMb` input parameter. Videos exceeding the limit are skipped and not charged.

**Can I download very long VODs (5+ hours)?**
Yes. The actor uses streaming downloads that write to disk instead of buffering in memory, so even multi-hour marathon streams download reliably without running out of memory.

**Is a proxy required?**
No. Kick Video Downloader works without a proxy for most downloads. A proxy configuration option is available in the advanced settings if needed.

**Can I schedule recurring Kick downloads?**
Yes. Use [Apify scheduling](https://docs.apify.com/platform/schedules) to run Kick Video Downloader daily, weekly, or at any custom interval.

**How do I access downloaded videos programmatically?**
Each downloaded video produces a `download_url` field in the dataset results. This URL points directly to the MP4 file in Apify's key-value store and can be accessed via the [Apify API](https://docs.apify.com/api/v2).

**What happens if a download fails?**
Failed downloads produce a result row with `status: "error"` and an error message explaining the issue. Failed downloads are not charged.

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/kick-video-downloader/changelog.md

# Actor input Schema

## `startUrls` (type: `array`):

Add Kick video URLs to download. Supports VODs (kick.com/channel/videos/uuid), direct video links (kick.com/video/uuid), and clips (kick.com/clips/id).

## `quality` (type: `string`):

Select video quality. 'best' downloads the highest available quality. If the selected quality is not available, the next best option is used.

## `maxVideoSizeMb` (type: `integer`):

Maximum allowed video file size in megabytes. Videos exceeding this limit will be skipped and not charged. Default is 20,480 MB (20 GB).

## `proxyConfiguration` (type: `object`):

Proxy settings for accessing Kick.com. No proxy is needed for most downloads. Enable only if you encounter access issues.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://kick.com/xqc/clips/clip_01KT86AY6TFA1JMTT3M02AZ4YW"
    }
  ],
  "quality": "best",
  "maxVideoSizeMb": 20480,
  "proxyConfiguration": {}
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://kick.com/xqc/clips/clip_01KT86AY6TFA1JMTT3M02AZ4YW"
        }
    ],
    "quality": "best",
    "maxVideoSizeMb": 20480,
    "proxyConfiguration": {}
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/kick-video-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://kick.com/xqc/clips/clip_01KT86AY6TFA1JMTT3M02AZ4YW" }],
    "quality": "best",
    "maxVideoSizeMb": 20480,
    "proxyConfiguration": {},
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/kick-video-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://kick.com/xqc/clips/clip_01KT86AY6TFA1JMTT3M02AZ4YW"
    }
  ],
  "quality": "best",
  "maxVideoSizeMb": 20480,
  "proxyConfiguration": {}
}' |
apify call parsebird/kick-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/kick-video-downloader"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/MVUjac6vdJ5ypCXib/builds/1IUxrMlyzb9gPUpnl/openapi.json
