Scraperize
TikTok

TikTok LIVE stream API

To get an account's LIVE stream from TikTok, call GET /v1/tiktok/user/live?handle=… with your API key. You get clean JSON back.

GET/v1/tiktok/user/live
curl "https://api.scraperize.com/v1/tiktok/user/live?handle=pepper_979" \
  -H "x-api-key: YOUR_API_KEY"
Cost
1 credit / call
Only successful calls are charged. Errors are free.
Pagination
Single response
Everything comes back in one call.
Caching
0 credits
Set cache_max_age to reuse a recent result for free.
Rate limit
Per team / minute
Over the limit: 429 with a Retry-After header.

Parameters

handleRequired
The TikTok username (with or without a leading @, or a tiktok.com/@username URL).
cache_max_ageOptional
Optional. Return a cached result if one this age or newer exists — served for 0 credits with meta.cached=true and meta.cachedAt. Otherwise a fresh scrape runs (1 credit) and refreshes the cache. Omit to always scrape fresh.One of 5 values.

Send your key in the x-api-key header. Full API reference

Example response

200 OK · application/json
{
  "data": {
    "isLive": true,
    "user": {
      "id": "7228617106127094790",
      "secUid": "MS4wLjABAAAAMGcjyEIH8K4TtQaDqwdsnBW8YViN51OijSuKZUXfzreVMAjaVR1Kjsz3PbzBs-o-",
      "handle": "pepper_979",
      "nickname": "PEPPER 🌶️ 🇻🇳🤪",
      "bio": "Focus 🧘 and consistent 🫵no pain no gain 🦾in god I trust",
      "avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/a8fedb5d82169ba633dc52bbc6c0df04~tplv-tiktokx-cropcenter:1080:1…",
      "verified": false,
      "isPrivate": false,
      "followerCount": 51931,
      "followingCount": 1063,
      "profileUrl": "https://www.tiktok.com/@pepper_979",
      "liveUrl": "https://www.tiktok.com/@pepper_979/live"
    },
    "live": {
      "roomId": "7693190947967142674",
      "streamId": "7693191100006648584",
      "title": null,
      "shareUrl": "https://m.tiktok.com/share/live/7693190947967142674/?language=en",
      "coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/a8fedb5d82169ba633dc52bbc6c0df04~tplv-tiktokx-cropcenter:720:72…",
      "startedAt": "2026-10-05T14:30:40.000Z",
      "viewerCount": 148,
      "totalViewers": 818,
      "newFollowers": 1,
      "category": null,
      "game": null,
      "broadcastType": "camera",
      "isCoHosting": false,
      "battle": {
        "id": "7693193300111002386",
        "startedAt": "2026-10-05T14:39:34.000Z",
        "durationSeconds": 301,
        "isFinished": true,
        "opponentUserId": "6550835996421210114",
        "scores": [
          {
            "userId": "6550835996421210114",
            "score": 3096,
            "isHost": false
          }
        ]
      },
      "topGifters": [
        {
          "userId": "6731150825269953538",
          "secUid": "MS4wLjABAAAAFyQ7R9hdb9C2rSyxDOztOWtOHwadTeZ6X28kjdL8HpAWKk0NIS0GIQuWD-kx_9-h",
          "handle": "minhon030399",
          "nickname": "Mi NhOn🇨🇳•🇻🇳",
          "avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/2439730fad7a0dbfbe0642d7ba6c2354~tplv-tiktokx-cropcenter:1080:1…",
          "followerCount": 10129,
          "gifterLevel": 21,
          "giftScore": 52
        }
      ],
      "ageRestricted": false,
      "subscriberOnly": false,
      "isPaidEvent": false,
      "hasShop": false,
      "shopProductCount": 0,
      "chatEnabled": true,
      "giftsEnabled": true,
      "streams": [
        {
          "quality": "origin",
          "name": "Original",
          "codec": "h265",
          "isAudioOnly": false,
          "resolution": "1080x1920",
          "width": 1080,
          "height": 1920,
          "bitrate": 3000000,
          "flvUrl": "https://pull-flv-l1-sg01.tiktokcdn.com/stage/stream-7693191100006648584.flv?expire=1792421138&sign=f284dccf5dbf6416acd81…",
          "hlsUrl": "https://pull-hls-l1-sg01.tiktokcdn.com/stage/stream-7693191100006648584/index.m3u8?expire=1792421138&sign=e0b4ecfe2c9fde…",
          "dashUrl": null,
          "expiresAt": "2026-10-19T14:45:38.000Z"
        }
      ]
    },
    "lastLive": null,
    "fetchedAt": "2026-10-05T14:45:39.366Z"
  },
  "meta": {
    "requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
    "creditsCharged": 1,
    "creditsRemaining": 4999,
    "cached": false
  }
}

A real response, shortened to one item per list.

FAQ

TikTok LIVE stream API questions

How much does the TikTok LIVE stream API cost?

1 credit per successful call. Errors and cached results are free, and new accounts start with 100 free credits, no card required. See pricing.

Do I need a TikTok account or API key?

No. You only need a Scraperize API key, sent in the x-api-key header. Scraperize returns publicly available data. No TikTok login or developer app is needed.

How fresh is the data?

Each call fetches the data live. To trade freshness for cost, pass cache_max_age (e.g. 1h, 1d) to get a recent cached result instantly for 0 credits.

Where are the full parameters and response fields?

In the API reference, with every parameter, field and error.

Try the TikTok LIVE stream API

Grab your key and 100 free credits, no card required, and run this call in minutes.