Skip to content

VODs API

Use these actions to download Kick VODs and to cut clips from a VOD with the VOD editor.

Each action is a REST endpoint under https://kickbot.com/api/v1 and an MCP tool with the same name. The MCP area name is vods. Use it to load only this area: https://kickbot.com/api/v1/mcp?areas=vods.

A team member needs one of these permissions in Manage Team: VOD downloader or VOD editor. Some actions need a specific one (the action says so). Owners and admins have every permission. Write actions also need a read and write key or connection. See Permissions and security.

How the feature works in the dashboard: VOD downloader, VOD editor.

ToolRESTAccess
list_vod_downloadsGET /vods/downloadsRead
get_kick_vodGET /vods/kickRead
start_vod_downloadPOST /vods/downloadsWrite
delete_vod_downloadDELETE /vods/downloads/{id}Write
list_vod_editor_clipsGET /vods/editor/clipsRead
create_vod_editor_clipPOST /vods/editor/clipsWrite

List VOD downloads. List the VOD downloads of the last 14 days, newest first, with status, queue position, and download_url when complete. Files expire (expires_at): 36 hours on the free plan, 14 days on premium. Call it again to check progress.

GET /api/v1/vods/downloads
FieldTypeRequiredDescription
limit (query)integerNoMax items to return (1-100, default 50).
offset (query)integerNoNumber of items to skip (default 0).

Look up a Kick VOD. Look up a Kick VOD (past broadcast) by URL: title, channel, length, and the qualities (resolutions) you can download. Use it before start_vod_download or create_vod_editor_clip.

GET /api/v1/vods/kick

This has an effect outside your settings (for example on your live stream).

FieldTypeRequiredDescription
video_url (query)stringYesThe Kick VOD URL, for example https://kick.com/<channel>/videos/<video id>.

Download a Kick VOD. Start downloading a Kick VOD as a video file. Free plans can start 2 downloads per 24 hours (failed ones do not count); premium downloads use the priority queue. A VOD that is already queued cannot be added again. Check list_vod_downloads for progress and the download_url.

POST /api/v1/vods/downloads

Needs a read and write key or connection. This has an effect outside your settings (for example on your live stream). Rate limit: 10 per minute, 100 per day.

FieldTypeRequiredDescription
video_urlstringYesThe Kick VOD URL, for example https://kick.com/<channel>/videos/<video id>.
resolutionstringNoA resolution from get_kick_vod, for example 1080p60, 720p60, or audio_only. Default: the best video quality.

Delete a VOD download. Delete a finished VOD download: the file is removed and the download link stops working. This cannot be undone. Downloads that are not complete yet cannot be deleted.

DELETE /api/v1/vods/downloads/{id}

Needs a read and write key or connection. This can delete or replace data, and you may not be able to undo it.

FieldTypeRequiredDescription
id (in the path)integerYesThe download id from list_vod_downloads.

List VOD editor clips. List the clips cut from Kick VODs with the VOD editor, newest first, with status and download_url when complete.

GET /api/v1/vods/editor/clips
FieldTypeRequiredDescription
limit (query)integerNoMax items to return (1-100, default 50).
offset (query)integerNoNumber of items to skip (default 0).

Cut a clip from a Kick VOD. Cut a clip from a Kick VOD in the best quality. Clips can be up to 20 minutes on the free plan and 3 hours on premium. KickBot processes it in the background; check list_vod_editor_clips for the status and download_url.

POST /api/v1/vods/editor/clips

Needs a read and write key or connection. This has an effect outside your settings (for example on your live stream). Rate limit: 10 per minute, 100 per day.

FieldTypeRequiredDescription
video_urlstringYesThe Kick VOD URL, for example https://kick.com/<channel>/videos/<video id>.
start_secondsnumberYesStart of the clip, in seconds from the start of the VOD. Decimals are allowed.
end_secondsnumberYesEnd of the clip, in seconds from the start of the VOD. Must be after start_seconds.
namestringYesName of the clip (1-100 characters).