GET /webcast/feed
Discover currently live TikTok LIVE streams. Uses a two-step “sign-and-return” pattern — the API returns a signed URL with headers and cookies that you fetch from YOUR own IP to get the actual TikTok feed data.
Authentication: Include your TikTok session_id cookie for personalized, populated results. Without it, results are anonymous and limited (~5 rooms).
Channels: 87 = Recommended — the main “For You” infinite scroll feed, 86 = Suggested — sidebar host recommendations (shown while watching), 89 or 1111006 = Gaming, 42 = Following (requires session).
Geo-targeting: Feed results are determined by the IP address making the final TikTok fetch (Step 2), NOT by the region parameter. Since you fetch the signed URL from your own client, you’ll see content relevant to your geographic location. The region param is passed to TikTok but has minimal effect on results.
Pagination: The API automatically switches to TikTok’s “load more” mode when you pass a max_time cursor. Fetch the signed URL → parse the TikTok JSON response → extract data.extra.max_time → pass it as max_time in your next call. Each page returns ~6-15 rooms; keep paginating for continuous discovery. The response also includes a load_more_url template — just replace {MAX_TIME} with the cursor.
Rate limits: Pro: 100 calls/day. Ultra: 2,000 calls/day. Response includes feed_remaining and feed_limit fields.
Response data: Each room includes owner.display_id (username), owner.nickname (display name), title, user_count (viewers), owner.avatar_thumb (profile photo), id_str (room ID), and more.
This endpoint requires a Basic tier subscription or higher.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | No | Your TikTok sessionid cookie — strongly recommended. Get from browser DevTools → Application → Cookies → tiktok.com. Without it, results are sparse. |
channel_id | string | No | Feed channel: 87 = Recommended “For You” (default), 86 = Suggested sidebar, 89 or 1111006 = Gaming, 42 = Following |
count | number | No | Rooms per page (default: 20, max: 50) |
max_time | string | No | Pagination cursor from previous TikTok response (data.extra.max_time). Omit or “0” for first page. |
region | string | No | Hint passed to TikTok (default: US). Note: actual results are geo-targeted by the IP making the final fetch, not this param. |
ttwid | string | No | TikTok ttwid visitor cookie. Server provides one if omitted. |
ms_token | string | No | TikTok msToken cookie (optional, a placeholder is used if omitted). |