Unofficial TikTok Live API — Live Status and Stream URLs

GET/api/v1/live

Check if a user is live and get the stream URLs (HLS + FLV) per quality.

ParameterDescription
usernameoptionalTikTok username, @handle, or profile URL. (Use this OR room_id.)
room_idoptionalTikTok live room id (e.g. from /room_id). (Use this OR username.)

Returns

username, live_info (status LIVE/OFFLINE, room_id, title, viewers, cover_url, age_restricted, third_party), user_info, and a streams array — each with quality, hls_url, flv_url, resolution, bitrate, codec.

Example Request

https://dev.omar-thing.site/api/v1/live?username=tiktok&room_id=7649810043075971853&key=YOUR_API_KEY

Example Response

{
  "data": {
    "live_info": {
      "age_restricted": false,
      "cover_url": "https://p16-sign.../cover.jpeg",
      "owner_user_id": "6700000000000000000",
      "room_id": "7460000000000000000",
      "status": "LIVE",
      "third_party": false,
      "title": "come hang out",
      "viewers": 1284
    },
    "streams": [
      {
        "bitrate": 1500000,
        "codec": "h264",
        "flv_url": "https://pull-flv-...tiktokcdn.com/.../stream.flv",
        "hls_url": "https://pull-hls-...tiktokcdn.com/.../stream.m3u8",
        "quality": "ORIGIN",
        "resolution": "720x1280"
      },
      {
        "bitrate": 900000,
        "codec": "h264",
        "flv_url": "...",
        "hls_url": "...",
        "quality": "HD",
        "resolution": "540x960"
      },
      {
        "...": "more qualities (sd, ld, ao)"
      }
    ],
    "user_info": {
      "avatar": "https://p16-sign.../avatar.jpeg",
      "nickname": "Some User",
      "sec_uid": "MS4wLjABAAAA...",
      "user_id": "6700000000000000000",
      "username": "someuser"
    },
    "username": "someuser"
  },
  "note": "When the user isn't live, live_info.status is OFFLINE and streams is [].",
  "status": "success"
}
Sends a live request using your API key above.

More Live endpoints