Kick API endpoint
Returns a Kick (kick.com) channel's public profile and, when it is live, its current broadcast: username, bio, verification and affiliate flags, follower count, linked social handles, profile and banner images, recent categories, and a live object with title, viewers, start time, language, tags and categories (omitted when the channel is offline). slug is the channel slug from its kick.com address, case-insensitive; a full kick.com URL is also accepted. Playable stream URLs are never returned. An unknown channel returns not found.
/kick/channelNotable response behavior:
live is present only while the channel is broadcasting. It carries title, viewers, started_at (RFC 3339, UTC), language, mature, tags and categories.followers is a number even though Kick sends it as a string on this call.socials holds the handles exactly as the channel stores them (usernames or path fragments, not URLs). Empty handles are omitted.banned is true for a banned channel that Kick still resolves.404; a malformed slug returns 400.Example response (long values and lists shortened):
{
"code": 200,
"msg": "OK",
"data": {
"id": 668,
"slug": "xqc",
"username": "xQc",
"bio": "THE BEST AT ABSOLUTELY EVERYTHING. THE JUICER. LEADER OF THE JUICERS.",
"verified": true,
"affiliate": false,
"followers": 1356519,
"subscription_enabled": true,
"vod_enabled": true,
"banned": false,
"profile_picture": "https://files.kick.com/images/user/676/profile_image/conversion/931b4e8f-5445-427c-bd82-b473530390cc-fullsize.…",
"banner_url": "https://files.kick.com/images/channel/668/banner_image/6fcf7418-df00-460b-9467-1fa95b8eb981",
"socials": {
"instagram": "xqcow1/",
"twitter": "xqc",
"youtube": "channel/UCmDTrq0LNgPodDOFZiSbsww",
"discord": "xqcow"
},
"recent_categories": [
{
"id": 15,
"name": "Just Chatting",
"slug": "just-chatting"
},
{
"id": 8,
"name": "Grand Theft Auto V (GTA)",
"slug": "grand-theft-auto-v"
}
],
"url": "https://kick.com/xqc"
}
}
| Field | Filled in, of 2 checked |
|---|---|
| id | 2 |
| name | 2 |
| slug | 2 |
| 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 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/kick/channel?slug=xqc" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": 668,
"slug": "xqc",
"username": "xQc",
"bio": "THE BEST AT ABSOLUTELY EVERYTHING. THE JUICER. LEADER OF THE JUICERS.",
"verified": true,
"affiliate": false,
"followers": 1356519,
"subscription_enabled": true,
"vod_enabled": true,
"banned": false,
"profile_picture": "https://files.kick.com/images/user/676/profile_image/conversion/931b4e8f-5445-427c-bd82-b473530390cc-fullsize.…",
"banner_url": "https://files.kick.com/images/channel/668/banner_image/6fcf7418-df00-460b-9467-1fa95b8eb981",
"socials": {
"instagram": "xqcow1/",
"twitter": "xqc",
"youtube": "channel/UCmDTrq0LNgPodDOFZiSbsww",
"discord": "xqcow"
},
"recent_categories": [
{
"id": 15,
"name": "Just Chatting",
"slug": "just-chatting"
},
{
"id": 8,
"name": "Grand Theft Auto V (GTA)",
"slug": "grand-theft-auto-v"
}
],
"url": "https://kick.com/xqc"
}
}Request schema
No body schema
Response schema
#/definitions/kick.channelResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | kick.ChannelResponse | No | ||||
| data.affiliate | boolean | No | ||||
| data.banned | boolean | No | ||||
| data.banner_url | string | No | ||||
| data.bio | string | No | ||||
| data.followers | integer | No | ||||
| data.id | integer | No | ||||
| data.live | kick.LiveStream | No | ||||
| data.live.categories | array | No | ||||
| data.live.categories[].id | integer | No | ||||
| data.live.categories[].name | string | No | ||||
| data.live.categories[].slug | string | No | ||||
| data.live.id | integer | No | ||||
| data.live.language | string | No | ||||
| data.live.mature | boolean | No | ||||
| data.live.started_at | string | No | ||||
| data.live.tags | array | No | ||||
| data.live.thumbnail_url | string | No | ||||
| data.live.title | string | No | ||||
| data.live.viewers | integer | No | ||||
| data.profile_picture | string | No | ||||
| data.recent_categories | array | No | ||||
| data.recent_categories[].id | integer | No | ||||
| data.recent_categories[].name | string | No | ||||
| data.recent_categories[].slug | string | No | ||||
| data.slug | string | No | ||||
| data.socials | kick.Socials | No | ||||
| data.socials.discord | string | No | ||||
| data.socials.facebook | string | No | ||||
| data.socials.instagram | string | No | ||||
| data.socials.tiktok | string | No | ||||
| data.socials.twitter | string | No | ||||
| data.socials.youtube | string | No | ||||
| data.subscription_enabled | boolean | No | ||||
| data.url | string | No | ||||
| data.username | string | No | ||||
| data.verified | boolean | No | ||||
| data.vod_enabled | boolean | 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?slug=xqc" \
-H "x-api-key: $CRAWLORA_API_KEY"