Kick clips and VODs: what the link tells the downloader
Kick answers three different questions depending on the link you paste: a clip, a past broadcast, or a channel that happens to be live right now. The downloader reads the URL first and picks the right one.
Kick's own address structure is the clearest map of what you are holding. A clip is a short, edited moment. A VOD is a full past broadcast. A channel page is neither, and if the streamer is live at that moment, there is nothing to download — a live stream has no end, so there is no file.
The three links, and what each one becomes
| Link shape | What the resolver does |
|---|---|
kick.com/<channel>/clips/clip_… | Reads the clip API and returns the clip's original quality. |
kick.com/<channel>/videos/<id> and /video/<id> | Reads the video API and lists every rendition the VOD's master playlist carries. |
kick.com/<channel> | Lists the channel's recent VODs; a live channel answers live instead. |
| A bare clip id | Asks for the channel first (need_channel), because Kick's clip API needs both. |
A clip id has a fixed shape — clip_ followed by a ULID-style code — so the resolver can recognise one without any network call. A bare id is not enough on its own; Kick's API wants the channel in the path, which is why a pasted id alone comes back asking for more.
Where the qualities come from
For a VOD, Kick publishes an HLS master playlist: one small file listing every rendition, each with its own resolution, bandwidth and frame rate. The resolver reads that master and nothing else — it does not download fragments, and it does not ask Kick for a merged file, because Kick does not offer one.
- Each rendition keeps the best bitrate available for its resolution, so the list never shows two entries at the same size.
- Variants are sorted by bandwidth, highest first — the top row is the source.
- A rendition at 50 fps or more is labelled with the frame rate, for example
1080p60; below that the label is just the height. - If the master cannot be parsed, the resolver falls back to a single
sourceentry pointing at the playlist itself.
Clips are simpler: they usually carry one file at the quality the clip was cut at, which is why a clip download rarely asks you to choose anything.
Why live streams are refused
A live stream is a rolling window, not a file. Kick reports a live channel as live in three different places — the VOD object, the channel's video list and the channel page itself — and the resolver turns all three into the same answer: live. Try a clip or a VOD instead.
Two other states look like errors but are not: processing means the broadcast ended minutes ago and Kick has not finished cutting the VOD, and no_source means the VOD was removed or expired. Both are Kick's state, not a failure of the download.
Nothing is stored
Kick's CDNs send access-control-allow-origin: *, so the browser can read the file directly. The download runs in the page, straight from Kick's edge to your disk; the resolver only ever handled metadata. Nothing is re-encoded, watermarked or kept.
One practical note: long VODs are best saved on a desktop browser, where the file streams straight to disk. On a phone, a multi-hour broadcast is held in memory while it downloads, and the browser may give up before the file finishes.
The short version
- Clip links return the clip; VOD links return a list of renditions; channel links list recent VODs.
- Live streams are refused — there is no file to save while a stream is running.
- Quality rows come from Kick's own HLS master playlist, best bitrate per resolution.
- The bytes travel from Kick's CDN to your browser; the resolver keeps nothing.
Questions
Can I download a Kick livestream while it is running?
No. A live stream has no end and no file; Kick reports it as live and the resolver refuses it. Once the broadcast ends and Kick finishes processing it, the VOD link works.
Why do VODs list several qualities but clips only one?
A VOD ships an HLS master playlist with every rendition Kick encoded, so the resolver can list each one. A clip is cut from a single file, so there is normally only that one quality to offer.
What does the `source` quality mean?
It is the master playlist itself, offered when the individual renditions could not be parsed. It is the same video, just without the per-resolution breakdown.