Skip to content
scrapeatlas.Dashboard

Get a TikTok user's live room

Try in Playground

Read a user's live page state: whether the account is live now, the streamer's user record with counters, and the room (title, cover, start time, status, viewer stats, stream and HEVC stream data with FLV, HLS and CMAF URLs per quality).

GET/v1/tiktok/user/livex-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
1
handlestringrequiredquery

TikTok username.

max 25 chars

Exampleexample
Response fields
23
requestIdstring

Request correlation UUID.

Upstream calls made (the document, redirect hops, feed calls, the caption file, and every retried session), decoded bytes delivered to the parser and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed, or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

The www.tiktok.com document the operation was issued from (profile, video, live, search, tag, music or explore page), after accepted redirects.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

source is document (server-rendered state) or public_api (a feed call); complete means nothing was capped; warnings name each cap or fallback.

coverage.sourceenum

Always included.

one of: document, public_api

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

is_liveboolean

True when the room status is 2 (live now).

{user, stats}: the streamer's web user record (id, uniqueId, nickname, secUid, verified, signature, avatars, roomId, status) and followerCount/followingCount.

Always included.

liveRoomUserInfo.user.idstring

Always included.

liveRoomUserInfo.user.uniqueIdstring

Always included.

liveRoomUserInfo.user.nicknamestring

Always included.

liveRoomUserInfo.user.secUidstring

Always included.

liveRoomUserInfo.user.verifiedboolean

Always included.

liveRoomUserInfo.statsobject

Always included.

liveRoomobjectnullable

TikTok's room record: coverUrl, title, startTime, status (2 live, 4 ended), paidEvent, liveSubOnly, liveRoomMode, hashTagId, gameTagId, liveRoomStats, streamData and hevcStreamData (pull_data with options and the stream_data JSON), streamId and multi-stream fields; null when the account has no room.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
14
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, ambiguous or unsupported parameters, unsupported URL forms, handles, cursors, regions, sorts or languages.
401unauthorizedInvalid API key.
403restricted_pageTikTok restricts the account or post (private video, private account, region block, or a redirect to its login page).
404not_foundUnknown or removed account, post, hashtag or sound, a post without captions, or a TikTok status code naming a missing resource.
429upstream_rate_limitedTikTok rate limited the request.
502upstream_challengedTikTok answered its verification page, an HTTP 401/403, a document without the app state, or refused a feed call with an empty body (status challenged).
502unsafe_redirectTikTok redirected outside the requested resource.
502unsupported_pageLayout, identity or feed-envelope checks failed, or a non-JSON feed answer was served.
502response_too_largeThe upstream response exceeded 4 MiB (512 KiB for caption files).
502payload_too_complexThe embedded JSON exceeded parsing limits.
502request_limitThe upstream call budget was exhausted.
502upstream_errorNetwork failure, a stalled exit, an unexpected upstream status after one retry, or an unexpected TikTok status code.
503busyAll retrieval slots are occupied.
504timeoutThe 90-second deadline elapsed.