Kick API endpoint
Returns one page of 20 clips from a Kick channel, newest first: id, title, kick.com link, thumbnail, views, likes, duration in seconds, creation time, mature flag, category, the viewer who made the clip and the channel. Page onward by passing the previous response's next_cursor as cursor; next_cursor is empty on the last page. Playable clip URLs are never returned. An unknown channel returns not found.
/kick/channel-clipsParameters:
slug (required): the channel slug (see kick-channel).cursor (optional): the previous response's next_cursor. Omit it for the newest page.Notable response behavior:
next_cursor is empty on the last page.url is the kick.com clip page (kick.com/{channel}/clips/{id}). Playable clip and playlist URLs are never returned.channel is the channel the clip was taken from. The clip's creator is not returned.started_at is omitted when Kick sends its zero time.404.Example response (long values and lists shortened):
{
"code": 200,
"msg": "OK",
"data": {
"slug": "xqc",
"clips": [
{
"id": "clip_01M5SKVA6GGAAAT5YPJ7J43WE4",
"title": "\"Bro, this thing teleports\"",
"url": "https://kick.com/xqc/clips/clip_01M5SKVA6GGAAAT5YPJ7J43WE4",
"thumbnail_url": "https://clips.kick.com/clips/ee/clip_01M5SKVA6GGAAAT5YPJ7J43WE4/thumbnail.webp",
"views": 9,
"duration_seconds": 45,
"created_at": "2026-10-25T13:27:04.463162Z",
"mature": true,
"category": {
"id": 15,
"name": "Just Chatting",
"slug": "just-chatting"
},
"channel": {
"id": 668,
"slug": "xqc",
"username": "xQc",
"profile_picture": "https://files.kick.com/images/user/676/profile_image/conversion/151f289a-5bff-4f31-b125-0c54c542519e-thumb.web…",
"url": "https://kick.com/xqc"
}
},
{
"id": "clip_01M5SKNHV7WZJTK29C8QFAGYAC",
"title": "\"This thing teleports\" ",
"url": "https://kick.com/xqc/clips/clip_01M5SKNHV7WZJTK29C8QFAGYAC",
"thumbnail_url": "https://clips.kick.com/clips/df/clip_01M5SKNHV7WZJTK29C8QFAGYAC/thumbnail.webp",
"views": 1,
"duration_seconds": 83,
"created_at": "2026-10-25T13:25:55.042512Z",
"mature": true,
"category": {
"id": 15,
"name": "Just Chatting",
"slug": "just-chatting"
},
"channel": {
"id": 668,
"slug": "xqc",
"username": "xQc",
"profile_picture": "https://files.kick.com/images/user/676/profile_image/conversion/151f289a-5bff-4f31-b125-0c54c542519e-thumb.web…",
"url": "https://kick.com/xqc"
}
}
],
"next_cursor": "{\"view\":0,\"id\":\"clip_01M5QZTV0T19SH24RQ2RYDNSWS\"}"
}
}
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| title | 20 | |
| url | 20 | kick.com |
| thumbnail_url | 20 | clips.kick.com |
| views | 20 | 2 to 52, median 5 |
| duration_seconds | 20 | 15 to 180, median 45 |
| created_at | 20 | 2026-10-25 to 2026-10-26 |
| mature | 20 | true in 19 of 20 |
| category | 20 | |
| creator | 20 | |
| channel | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug | string | Yes | Channel slug from kick.com/{slug}, case-insensitive; a kick.com URL is also accepted | xqc | |
| cursor | string | No | Previous response's next_cursor; omit for the newest page | abc | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/kick/channel-clips?slug=xqc" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"slug": "xqc",
"clips": [
{
"id": "clip_01M5SKVA6GGAAAT5YPJ7J43WE4",
"title": "\"Bro, this thing teleports\"",
"url": "https://kick.com/xqc/clips/clip_01M5SKVA6GGAAAT5YPJ7J43WE4",
"thumbnail_url": "https://clips.kick.com/clips/ee/clip_01M5SKVA6GGAAAT5YPJ7J43WE4/thumbnail.webp",
"views": 9,
"duration_seconds": 45,
"created_at": "2026-10-25T13:27:04.463162Z",
"mature": true,
"category": {
"id": 15,
"name": "Just Chatting",
"slug": "just-chatting"
},
"channel": {
"id": 668,
"slug": "xqc",
"username": "xQc",
"profile_picture": "https://files.kick.com/images/user/676/profile_image/conversion/151f289a-5bff-4f31-b125-0c54c542519e-thumb.web…",
"url": "https://kick.com/xqc"
}
},
{
"id": "clip_01M5SKNHV7WZJTK29C8QFAGYAC",
"title": "\"This thing teleports\" ",
"url": "https://kick.com/xqc/clips/clip_01M5SKNHV7WZJTK29C8QFAGYAC",
"thumbnail_url": "https://clips.kick.com/clips/df/clip_01M5SKNHV7WZJTK29C8QFAGYAC/thumbnail.webp",
"views": 1,
"duration_seconds": 83,
"created_at": "2026-10-25T13:25:55.042512Z",
"mature": true,
"category": {
"id": 15,
"name": "Just Chatting",
"slug": "just-chatting"
},
"channel": {
"id": 668,
"slug": "xqc",
"username": "xQc",
"profile_picture": "https://files.kick.com/images/user/676/profile_image/conversion/151f289a-5bff-4f31-b125-0c54c542519e-thumb.web…",
"url": "https://kick.com/xqc"
}
}
],
"next_cursor": "{\"view\":0,\"id\":\"clip_01M5QZTV0T19SH24RQ2RYDNSWS\"}"
}
}Request schema
No body schema
Response schema
#/definitions/kick.channelClipsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | kick.ClipsResponse | No | ||||
| data.category | string | No | Category is the category slug a category clip list was read for. | |||
| data.clips | array | No | Clip record, 23 fields: category, channel, created_at, duration_seconds, id, likes, mature, started_at, thumbnail_url, title, url, video_id and 2 more. Described under Get one Kick clip API. | |||
| data.next_cursor | string | No | ||||
| data.slug | string | No | ||||
| data.sort | string | No | ||||
| data.time | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/kick/channel-clips?slug=xqc" \
-H "x-api-key: $CRAWLORA_API_KEY"