Terakhir diperbarui
Live
Sesi LIVE yang terekam, performa per kreator, dan sumber video LIVE.
Setiap operasi diautentikasi dengan API key (Authorization: Bearer <key>) dan error memakai amplop bersama yang dijelaskan di Error. Dibuat dari dokumen OpenAPI milik API.
Ambil performa LIVE seorang kreator
/v1/live/creators/{uid}/performanceSatu baris per sesi yang terekam: durasi, penonton puncak, hadiah, berlian, dan jumlah pemberi hadiah unik.
Parameter path
| Name | Type | Description |
|---|---|---|
uidRequired | string | Handle kreator tanpa @ (linh.live) atau user id TikTok numerik. |
Parameter query
| Name | Type | Description |
|---|---|---|
cursorOptional | string | Cursor opaque dari nextCursor halaman sebelumnya. |
limitOptional | integer | Baris per halaman. Rentang 1–100. Default: 50 |
Permintaan
curl "https://api.toktokdata.live/v1/live/creators/linh.live/performance" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respons
{ "data": { "items": [ { "sessionId": "f18eaa3e-a762-543d-9ea5-178271dc43f9", "sessionStartedAt": "2026-11-01T07:51:44.935Z", "creatorUniqueId": "linh.live", "roomKey": "room:linh.live", "durationSeconds": 7200, "peakViewerCount": 2000, "eventCount": 1000, "chatCount": 600, "giftCount": 80, "totalGiftDiamonds": 5000, "distinctGifterCount": 2 }, { "sessionId": "278f3a86-af07-5768-85d2-6dfff8efee7d", "sessionStartedAt": "2026-10-31T07:51:44.935Z", "creatorUniqueId": "linh.live", "roomKey": "room:linh.live", "durationSeconds": 7200, "peakViewerCount": 1000, "eventCount": 500, "chatCount": 300, "giftCount": 40, "totalGiftDiamonds": 2500, "distinctGifterCount": 2 } ], "nextCursor": null, "historyWindowDays": 365, "historyTruncated": false }, "provenance": { "observedAt": "2026-11-01T07:51:44.935Z", "freshness": "historical", "source": "platform_observed_live_stream", "sourceKind": "derived", "coverageStatus": "observed", "methodologyVersion": "live-history-v1", "window": null }}Error
400Parameter atau body tidak valid;codemenyebutkan masalahnya.401API key tidak ada atau tidak dikenal.402Dompet kredit workspace tidak dapat menutup biaya panggilan ini;resetAtmenunjukkan kapan kredit di-reset.403Key tidak memiliki scope tersebut, atau paket tidak mencakup fitur ini.429Laju permintaan terlampaui; patuhiRetry-After.
Ambil sumber video LIVE seorang kreator
/v1/live/creators/{uid}/playbackURL video bertanda tangan dan berbatas waktu dari room LIVE kreator yang sedang berlangsung. Player Anda memuatnya langsung dari CDN TikTok (source: tiktok-cdn); RoomScope tidak pernah mem-proxy video. hlsUrl lebih diutamakan; flvUrl adalah sumber untuk room yang hanya menyediakan FLV (putar dengan engine MSE seperti mpegts.js); setidaknya salah satunya diisi saat status: live, dan expiresAt adalah waktu URL tersebut berhenti berfungsi. renditions sering kosong. avatarUrl, followerCount, dan region bernilai null jika tidak diketahui. Jawaban lainnya: status: offline (tidak live), status: no_playback (live, tetapi TikTok tidak menyediakan sumber yang dapat diputar), 202 status: resolving (poll URL yang sama setelah Retry-After), 503 collection_saturated atau live_playback_upstream_unavailable (coba ulang), dan 503 live_playback_not_configured selama fitur ini dimatikan di deployment ini (jangan coba ulang). Memerlukan scope live:stream, bukan live:read.
Parameter path
| Name | Type | Description |
|---|---|---|
uidRequired | string | Handle kreator (linh.live); @ di awal diabaikan. |
Permintaan
curl "https://api.toktokdata.live/v1/live/creators/linh.live/playback" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respons
{ "status": "live", "roomId": "7665709659185105682", "title": "Friday night karaoke", "nickname": "Linh", "hlsUrl": "https://pull-hls-l1-sg01.tiktokcdn.com/stage/stream-7665709727191485202_hd/index.m3u8?expire=1786024940&sign=ea92cabbf90993d50a0e3d50ee9ed526", "flvUrl": "https://pull-flv-l1-sg01.tiktokcdn.com/stage/stream-7665709727191485202_hd.flv?expire=1786024940&sign=ea92cabbf90993d50a0e3d50ee9ed526", "expiresAt": "2026-08-06T14:02:20.000Z", "startedAt": "2026-07-23T09:46:40.000Z", "renditions": [], "avatarUrl": "https://p16-sign-sg.tiktokcdn.com/avatar.jpeg", "verified": true, "followerCount": 894314, "region": "VN", "source": "tiktok-cdn", "cached": false}Error
401API key tidak ada atau tidak dikenal.402Dompet kredit workspace tidak dapat menutup biaya panggilan ini;resetAtmenunjukkan kapan kredit di-reset.403Key tidak memiliki scope tersebut, atau paket tidak mencakup fitur ini.429Laju permintaan terlampaui; patuhiRetry-After.503Sementara tidak tersedia; coba ulang setelahRetry-Afterjikaretryablebernilai true.
Antrekan refresh status live
/v1/live/creators/{uid}/refreshMeminta worker memeriksa sekarang juga apakah kreator sedang live. Ditagih dengan tarif refresh.
Parameter path
| Name | Type | Description |
|---|---|---|
uidRequired | string | Handle kreator tanpa @ (linh.live) atau user id TikTok numerik. |
Permintaan
curl -X POST "https://api.toktokdata.live/v1/live/creators/linh.live/refresh" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respons
{ "queued": true, "jobId": "1761994604935-0"}Error
400Parameter atau body tidak valid;codemenyebutkan masalahnya.401API key tidak ada atau tidak dikenal.402Dompet kredit workspace tidak dapat menutup biaya panggilan ini;resetAtmenunjukkan kapan kredit di-reset.403Key tidak memiliki scope tersebut, atau paket tidak mencakup fitur ini.429Laju permintaan terlampaui; patuhiRetry-After.
Daftar sesi LIVE yang terekam
/v1/live/sessionsSesi yang direkam RoomScope untuk kreator milik workspace, dari yang terbaru. Sesi yang masih berjalan memiliki endedAt: null.
Parameter query
| Name | Type | Description |
|---|---|---|
creatorUniqueIdOptional | string | Hanya sesi kreator ini (handle tanpa @). |
cursorOptional | string | Cursor opaque dari nextCursor halaman sebelumnya. |
limitOptional | integer | Sesi per halaman. Rentang 1–100. Default: 50 |
Permintaan
curl "https://api.toktokdata.live/v1/live/sessions" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respons
{ "data": { "items": [ { "id": "f18eaa3e-a762-543d-9ea5-178271dc43f9", "roomKey": "room:linh.live", "roomId": "7990000000000000001", "creatorUniqueId": "linh.live", "creatorAvatarUrl": null, "startedAt": "2026-11-01T07:51:44.935Z", "endedAt": "2026-11-01T09:51:44.935Z", "peakViewerCount": 2000, "eventCount": 1000, "chatCount": 600, "giftCount": 80, "totalGiftDiamonds": 5000, "durationSeconds": 7200 }, { "id": "278f3a86-af07-5768-85d2-6dfff8efee7d", "roomKey": "room:linh.live", "roomId": "7990000000000000001", "creatorUniqueId": "linh.live", "creatorAvatarUrl": null, "startedAt": "2026-10-31T07:51:44.935Z", "endedAt": "2026-10-31T09:51:44.935Z", "peakViewerCount": 1000, "eventCount": 500, "chatCount": 300, "giftCount": 40, "totalGiftDiamonds": 2500, "durationSeconds": 7200 } ], "nextCursor": null, "historyWindowDays": 365, "historyTruncated": false }, "provenance": { "observedAt": "2026-11-01T09:51:44.935Z", "freshness": "historical", "source": "platform_observed_live_stream", "sourceKind": "derived", "coverageStatus": "observed", "methodologyVersion": "live-history-v1", "window": null }}Error
400Parameter atau body tidak valid;codemenyebutkan masalahnya.401API key tidak ada atau tidak dikenal.402Dompet kredit workspace tidak dapat menutup biaya panggilan ini;resetAtmenunjukkan kapan kredit di-reset.403Key tidak memiliki scope tersebut, atau paket tidak mencakup fitur ini.429Laju permintaan terlampaui; patuhiRetry-After.
Ambil sesi LIVE
/v1/live/sessions/{session_id}Satu sesi beserta rekapitulasi hadiah dan pemberi hadiah.
Parameter path
| Name | Type | Description |
|---|---|---|
session_idRequired | string | Id sesi dari daftar. |
Permintaan
curl "https://api.toktokdata.live/v1/live/sessions/f18eaa3e-a762-543d-9ea5-178271dc43f9" \ -H "Authorization: Bearer $ROOMSCOPE_API_KEY"Respons
{ "data": { "id": "278f3a86-af07-5768-85d2-6dfff8efee7d", "roomKey": "room:linh.live", "roomId": "7990000000000000001", "creatorUniqueId": "linh.live", "creatorAvatarUrl": null, "startedAt": "2026-10-31T07:51:44.935Z", "endedAt": "2026-10-31T09:51:44.935Z", "peakViewerCount": 1000, "eventCount": 500, "chatCount": 300, "giftCount": 40, "totalGiftDiamonds": 2500, "durationSeconds": 7200, "giftRollups": [ { "giftId": "5269", "giftName": "TikTok", "giftType": 1, "giftCount": 10, "diamondTotal": 2470, "senderCount": 2 }, { "giftId": "5655", "giftName": "Rose", "giftType": 1, "giftCount": 30, "diamondTotal": 30, "senderCount": 2 } ], "gifterRollups": [ { "gifterUserId": "991000000000000001", "gifterUniqueId": "gifter.1", "gifterNickname": "Gifter 1", "giftCount": 20, "diamondTotal": 1500 }, { "gifterUserId": "991000000000000002", "gifterUniqueId": "gifter.2", "gifterNickname": "Gifter 2", "giftCount": 20, "diamondTotal": 1000 } ] }, "provenance": { "observedAt": "2026-10-31T09:51:44.935Z", "freshness": "stale", "source": "platform_observed_live_stream", "sourceKind": "derived", "coverageStatus": "stale", "methodologyVersion": "live-history-v1", "window": null }}Error
400Parameter atau body tidak valid;codemenyebutkan masalahnya.401API key tidak ada atau tidak dikenal.402Dompet kredit workspace tidak dapat menutup biaya panggilan ini;resetAtmenunjukkan kapan kredit di-reset.403Key tidak memiliki scope tersebut, atau paket tidak mencakup fitur ini.429Laju permintaan terlampaui; patuhiRetry-After.