Kick

Kick Clip API

Get a Kick clip — source, 7d clip cache, fallback paths on a miss.

Two modes. Clip URL → {channelUrl, clip, source} with creator (who cut the clip) separate from channel (broadcaster), privacy, isMature, startedAt, livestreamId, vod{id,url,urlWithOffset}, vodStartsAt, and categorySlug/parentCategory. source is native | extended | cache, so a fallback is visible. Playback is HLS: videoType is "hls" and videoUrl is the .m3u8 playlist (not a progressive MP4 — download that URL and you get a text manifest). Clip mode caches by default (7d) — twenty of twenty-four fields never change; set cache=false to refetch views/likes. Channel input accepts kick.com/{name}, kick.com/@{name}, @{name}, or bare {name} → {channelUrl, totalReturned, clips[]} only — no top-level clip and no cursor (Kick's channel clips list is a single page; use limit, default 30, max 100). Channel listings stay fresh unless cache=true. Several fetch paths are tried in order, the slowest last. Kick has its own retry budget, independent of other platforms. An empty clips[] is 200 at 0 credits, not 404. A VOD URL is 400 WRONG_RESOURCE_TYPE (Kick coverage is clips only). Session-only liked is omitted. Flat 1 credit on a 200 with rows.

Docs: https://captapi.com/apis/kick-clip

get/v1/kick/clip

Request

  • Base URL: https://api.captapi.com
  • URL: https://api.captapi.com/v1/kick/clip
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Query parameters

urlstring required

Kick clip URL for one enriched clip (e.g. https://kick.com/{channel}/clips/clip_…), or channel input for recent clips[]: kick.com/{name}, kick.com/@{name}, @{name}, or {name}. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.

limitinteger

Channel mode only — max recent clips to return (default 30, max 100). Ignored when url is a clip. Flat 1 credit. No cursor — Kick returns a single page.

cacheboolean

Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.

cacheMaxAge'1d' | '3d' | '7d' | '14d' | '30d'

Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.

Response

Success. The data object for this endpoint.

successunknown required

Changes

No recorded changes to this operation across all 3 revisions of this API.