# Social Fetch API - Kick endpoints # Base URL: https://api.socialfetch.dev # Auth: x-api-key header (sfk_...) # Full catalog: https://www.socialfetch.dev/llms-endpoints.txt | JSON: https://www.socialfetch.dev/llms.json # Docs hub: https://www.socialfetch.dev/docs/api | OpenAPI: https://www.socialfetch.dev/openapi.json 24 documented Kick operations. Do not invent paths - only the routes below (and their linked markdown pages) are supported. ## GET /v1/kick/channels/{slug} Get Kick channel Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/get.mdx SDK: client.kick.getChannel({ slug: "xqc" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/videos List Kick channel videos Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/videos/get.mdx SDK: client.kick.listChannelVideos({ slug: "xqc" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc/videos" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/leaderboard Get Kick channel gifter leaderboard Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/leaderboard/get.mdx SDK: client.kick.getChannelLeaderboard({ slug: "xqc" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc/leaderboard" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/rewards List Kick channel point rewards Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/rewards/get.mdx SDK: client.kick.listChannelRewards({ slug: "xqc" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc/rewards" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/goals List Kick channel goals Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/goals/get.mdx SDK: client.kick.listChannelGoals({ slug: "nemesie" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/nemesie/goals" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/emotes List Kick channel emotes Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/emotes/get.mdx SDK: client.kick.listChannelEmotes({ slug: "xqc" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc/emotes" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/top-channels List top Kick channels Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/top-channels/get.mdx SDK: client.kick.listTopChannels({ limit: 100 }) Parameters: - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/top-channels?limit=100" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/chatters List Kick channel chatters Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/chatters/get.mdx SDK: client.kick.listChannelChatters({ slug: "xqc" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc/chatters" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/clips List Kick channel clips Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/clips/get.mdx SDK: client.kick.listChannelClips({ slug: "xqc", sort: "date", time: "week" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). - sort (optional, string, enum: view | date) - `view` (most viewed) or `date` (newest). Default: `view`. - time (optional, string, enum: all | month | week | day) - Time window. Default: `all`. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc/clips?sort=date&time=week" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/clips/{clipId} Get Kick clip Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/clips/clipid/get.mdx SDK: client.kick.getClip({ clipId: "clip_01M6J22MWRBCFBQWNNWP4T6166" }) Parameters: - clipId (required, string) - Kick clip id. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/clips/clip_01M6J22MWRBCFBQWNNWP4T6166" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/clips List Kick clips Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/clips/get.mdx SDK: client.kick.listClips({ sort: "view", time: "all" }) Parameters: - category (optional, string) - Kick category slug (e.g. `just-chatting`). - sort (optional, string, enum: view | date) - `view` (most viewed) or `date` (newest). - time (optional, string, enum: all | month | week | day) - Time window. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/clips?sort=view&time=all" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/channels/{slug}/livestream Check whether a Kick channel is live Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/channels/slug/livestream/get.mdx SDK: client.kick.getChannelLivestream({ slug: "xqc" }) Parameters: - slug (required, string) - Kick channel slug, case-insensitive. Most replace the username's underscores with hyphens (e.g. `alfalfa-kid`, not `alfalfa_kid`), but some keep an underscore (e.g. `pala_okey`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/channels/xqc/livestream" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/livestreams List live Kick streams Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/livestreams/get.mdx SDK: client.kick.listLivestreams({ sort: "viewers", language: "en", limit: 50 }) Parameters: - sort (optional, string, enum: viewers | featured) - `viewers` (most watched) or `featured`. Default: `viewers`. - language (optional, string) - Language code (e.g. `en`, `es`, `ja`). - categoryId (optional, integer) - Category id, 1 to 2147483647. - groupId (optional, integer) - Directory group id, 1 to 2147483647. - limit (optional, integer) - Rows per page, 1 to 100. Default: 100. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/livestreams?sort=viewers&language=en&limit=50" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/livestreams/languages List Kick livestream languages Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/livestreams/languages/get.mdx SDK: client.kick.listLanguageCodes() Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/livestreams/languages" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/livestreams/top-gifted List Kick top gifted streams Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/livestreams/top-gifted/get.mdx SDK: client.kick.listTopGiftedLivestreams() Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/livestreams/top-gifted" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/videos/{videoId} Get Kick VOD Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/videos/videoid/get.mdx SDK: client.kick.getVideo({ videoId: "5b15049f-26ec-4ebe-9c65-c1719760b933" }) Parameters: - videoId (required, string) - VOD UUID, the id Kick pages use. Outcome field: `data.lookupStatus` in `found`, `not_found`, `restricted` curl "https://api.socialfetch.dev/v1/kick/videos/5b15049f-26ec-4ebe-9c65-c1719760b933" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/users/{username} Get Kick user Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/users/username/get.mdx SDK: client.kick.getUser({ username: "jamshiddo" }) Parameters: - username (required, string) - Kick account name, with underscores where the channel slug has hyphens (e.g. `alfalfa_kid`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/users/jamshiddo" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/search Search Kick channels and categories Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/search/get.mdx SDK: client.kick.search({ query: "xqc" }) Parameters: - query (required, string) - Words to search for, at least 3 characters. Double quotes, semicolons, backslashes, ampersands and emoji are not accepted. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/search?query=xqc" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/categories List busiest Kick categories Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/categories/get.mdx SDK: client.kick.listCategories({ page: 1 }) Parameters: - page (optional, integer) - Page number, 1 to 20; Kick lists no deeper pages. - cursor (optional, string) - Cursor from `page.nextCursor` of the previous response. It only works with the same filters. Pagination: send query `cursor` from prior `data.page.nextCursor`; stop when `data.page.hasMore` is false. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/categories?page=1" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/categories/{slug} Get Kick category Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/categories/slug/get.mdx SDK: client.kick.getCategory({ slug: "just-chatting" }) Parameters: - slug (required, string) - Kick category slug (e.g. `just-chatting`). Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/categories/just-chatting" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/category-groups List Kick top-level category groups Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/category-groups/get.mdx SDK: client.kick.listCategoryGroups() Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/category-groups" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/top-categories List top Kick categories by viewers Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/top-categories/get.mdx SDK: client.kick.listTopCategories({ limit: 20 }) Parameters: - limit (optional, integer) - Rows, 1 to 100. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/top-categories?limit=20" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/events List Kick events, or read one event Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/events/get.mdx SDK: client.kick.listEvents({}) Parameters: - event (optional, string) - Event ULID or slug (e.g. `nopixel-v`). - include (optional, array) - When `event` is given: return its live streams or its clips instead of the event record. Send `streams` or `clips`, not both. - featured (optional, boolean) - Return the featured events instead of the browse list. Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/events" \ -H "x-api-key: YOUR_API_KEY" ## GET /v1/kick/drops List Kick drop campaigns Credit cost: 1 credit. Failed requests are free. Found, empty and not-found answers are all charged. Auth: API key or x402 payment (no key needed for payment) Docs: https://www.socialfetch.dev/docs/api/v1/kick/drops/get.mdx SDK: client.kick.listDrops() Outcome field: `data.lookupStatus` in `found`, `not_found` curl "https://api.socialfetch.dev/v1/kick/drops" \ -H "x-api-key: YOUR_API_KEY"