Pull a Kick Channel's Past Streams (VODs)
Export a channel's VOD list — titles, views, durations, thumbnails, and playback URLs — for archiving and analysis.

A streamer's VOD history is their content catalog — export it as rows. Thirdwatch's Kick Scraper pulls Kick channels, past streams, and clips through the platform's public API — followers, live status, views, durations, and playback URLs.
Skip the setup: Run this as a ready-to-go task on Apify — pre-loaded with the configuration from this guide.
Why pull the VOD archive
VOD lists drive clip-pipeline and analysis work: which streams ran longest, which pulled the most views, where are the playback files. The channel page shows them; nothing exports them.
includeVideos returns the VOD rows with playback URLs for the same channel.
The scraper hits Kick's public API surface, so a channel slug in means profile, VODs, and clips as rows — no browser needed.
How does this compare to the alternatives?
| Approach | Cost model | Coverage | Effort |
|---|---|---|---|
| Kick web UI | Free | One channel at a time | No export path |
| Custom API scripts | Your infra | Same endpoints | You own maintenance |
| Thirdwatch Kick Scraper | Pay per row | Channels, VODs, clips | Paste a channel, run |
Why this Actor
- Channel profile rows: followers, live status, current stream title and viewers.
- VOD rows with playback URLs and thumbnails.
- Clip rows with view counts and durations.
- Multiple channels per run for comparison or monitoring.
- Public API path — no auth, no browser.
How to do it in 3 steps
Step 1: Configure the input
Set the inputs as shown below — channels takes the targets, channel slugs; includeVideos and includeClips toggle the VOD and clip pulls per channel.
Step 2: Run the Actor
Run it from the console, the API, or the linked saved task. One dataset row is written per channel or video.
Step 3: Use the output
Channel rows carry followers, live status and current stream info; video rows carry title, views, duration, thumbnail and playback URL.
{
"channels": [
"xqc"
],
"includeVideos": true,
"maxVideos": 10
}Each dataset row looks like:
{
"type": "channel",
"slug": "xqc",
"userId": "12345",
"followersCount": 1200000,
"isLive": true,
"liveTitle": "SLOTS THEN REACT",
"liveViewers": 45000,
"url": "https://kick.com/xqc"
}What to watch for
Kick's public API is undocumented — field availability can shift over time. Viewer counts are point-in-time at scrape.
Related use cases
- Snapshot a Kick Channel's Profile and Live Status
- Discover a Kick Channel's Top Clips
- Monitor Which Kick Streamers Are Live Right Now
- Compare Several Kick Streamers in One Run
- All Thirdwatch use-case guides
Run the Kick Scraper on Apify Store — pay per result, free to try, no credit card to test.
Frequently asked questions
What do I get per channel?
A channel row — slug, userId, followers, `isLive`, live title and viewers — plus a row per VOD or clip when `includeVideos`/`includeClips` are set.
Are playback URLs included?
Yes — VOD rows carry `playbackUrl` and `videoUrl` plus the thumbnail.
Can I check if a streamer is live?
Yes — the channel row's `isLive`, `liveTitle` and `liveViewers` are the live-status fields.
How many VODs come back?
`maxVideos` caps the pull per channel; default is 20.
Is the API official?
It's Kick's public, unauthenticated API — the same one the site itself uses.
Do clips have view counts?
Yes — `views` is on every clip row along with duration and creation date.
Related
100 free credits, no credit card.
About 30 real searches. Add the MCP to Claude or Cursor in two minutes.