Endpoint Playground
Returns the LIVE room a TikTok user is currently streaming, keyed by `user_id`. The upstream is `/webcast/room/info_by_user/` on the webcast edge host (no origin header) and returns the same room payload as `/api/v1/tiktok/mobile/live/room` (title, status, concurrent viewers, owner, cumulative stats, per-resolution FLV URLs, cover and the ~500-key room object in `data`), except that the caller addresses a user and the room id is filled from the payload (both `user_id` and `room_id` are echoed). Measured 2026-10-22: `user_id=6707748031095751686` answered 184,575 B (195,220 B on the second webcast host); `anchor_id` alone answers a 57-byte empty payload, so `user_id` is the address. A user with no live room answers status 30003 "room has finished" and is surfaced as a 400; a non-numeric user id is a 400 (status 10011); a bare call answers a 57-byte empty success envelope, which is why this endpoint requires `user_id`.
curl 'https://api.crawlora.net/api/v1/tiktok/mobile/live/room-by-user?user_id=6707748031095751686' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| user_id | string | Yes | 6707748031095751686 | Numeric TikTok user id (e.g. the owner id from a profile, video author or live search row) |
{
"code": 200,
"msg": "OK",
"data": {
"room_id": "7699244186013010702",
"user_id": "6707748031095751686",
"title": "",
"status": 2,
"user_count": 468,
"create_time": 1792608000,
"owner": {
"user_id": "6707748031095751686",
"nickname": "kira lise🐉",
"avatar_url": {
"url_list": [
"..."
]
}
},
"stats": {
"enter_count": 1200,
"total_user": 1300,
"watch_user_count": 1300
},
"stream": {
"flv_pull_url": {
"FULL_HD1": "https://pull-flv-...tiktokcdn.com/...flv"
},
"candidate_resolution": [
"SD1",
"SD2",
"HD1",
"FULL_HD1"
]
},
"cover": {
"uri": "...",
"url_list": [
"..."
]
},
"data": {
"title": "",
"status": 2,
"...": "the upstream room object"
},
"host": "webcast16-normal-c-useast2a.tiktokv.com",
"fetched_at": "2026-10-22T08:16:12Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.