> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/tiktok/profiles-handle-live>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/tiktok/profiles-handle-live.mdx>

---

# TikTok live stream API

Check whether a TikTok handle is broadcasting right now, and pull room title, viewers, and playback variants when they are live.

`GET /v1/tiktok/profiles/{handle}/live` takes a TikTok handle (with or without a leading `@`) and returns `data.lookupStatus`, `data.liveStatus`, a compact `data.profile`, and `data.live` when the account is broadcasting. On `liveStatus: "live"`, `data.live` includes `roomId`, `title`, `coverUrl`, `startedAt`, `viewerCount`, `enterCount`, optional `streamId`, and a `streams` array of playback variants (`codecFamily`, `source`, `qualityKey`, optional `flvUrl` / `hlsUrl` / `cmafUrl`, resolution, bitrate). On `offline`, `live` is null. On `lookupStatus: "not_found"`, `liveStatus`, `profile`, and `live` are null.

This route is a live-status check for one handle, not a profile card refresh and not a video list. Full identity and aggregate metrics live on `GET /v1/tiktok/profiles/{handle}`. Recent uploads are `GET /v1/tiktok/profiles/{handle}/videos`. Bill from `meta.creditsCharged`.

## Request

- **Endpoint:** `GET /v1/tiktok/profiles/{handle}/live`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by handle
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/tiktok/profiles/handle/live/get)
- **Platform page:** [/platforms/tiktok](https://www.socialfetch.dev/platforms/tiktok)

## FAQ

### How do I check if a TikTok creator is live via API?

Call `GET /v1/tiktok/profiles/{handle}/live` with your Social Fetch API key (`x-api-key`). Pass the TikTok username as the path parameter, with or without a leading `@`. Read `data.lookupStatus`, then `data.liveStatus` and `data.live` when the profile resolved.

### How much does the TikTok live stream API cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

### What does the TikTok live stream API return?

`data.lookupStatus` (`found` or `not_found`), `data.liveStatus` (`live`, `offline`, or null when the handle did not resolve), a compact `data.profile` when found, and `data.live` with room metadata and stream variants when `liveStatus` is `live`. The envelope also includes `meta.requestId` and `meta.creditsCharged`.

### What is in data.live when the creator is broadcasting?

`roomId`, `title`, `coverUrl`, `startedAt`, `viewerCount`, `enterCount`, optional `streamId`, and `streams` (each variant can include `codecFamily`, `source`, `qualityKey`, optional FLV/HLS/CMAF URLs, resolution, and bitrate). When `liveStatus` is `offline` or the lookup failed, `data.live` is null.

### What happens if the TikTok handle does not exist?

`data.lookupStatus` is `not_found`. `liveStatus`, `profile`, and `live` are null. Always branch on `lookupStatus` before treating a null `liveStatus` as offline.

### Do I need TikTok OAuth to check live status?

No. You authenticate to Social Fetch with an API key. The route reads public live-status data for the handle; it does not act on behalf of a logged-in TikTok user.

### How is this different from the TikTok profile API?

This route answers whether the handle is live right now and returns room/stream fields when it is. `GET /v1/tiktok/profiles/{handle}` returns the identity card and aggregate metrics (followers, likes, posts) without live room state. Use the profile route to seed a creator row; poll this live route for broadcast alerts.
