TikTok Live Status Monitor avatar

TikTok Live Status Monitor

Pricing

from $5.00 / 1,000 live status checkeds

Go to Apify Store
TikTok Live Status Monitor

TikTok Live Status Monitor

Check TikTok LIVE status from usernames or profile URLs. Returns isLive, room title, viewer count, and start time. Cookieless public data via ScrapeCreators + SociaVault. For chat/recording/discovery use tiktok-live-scraper. $0.005 per resolved snapshot.

Pricing

from $5.00 / 1,000 live status checkeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Share

Turn TikTok usernames or profile URLs into one live-status snapshot per account for brand monitoring, talent scouting, and live-shopping alerts. Each row includes isLive, status, roomTitle, viewerCount, startedAt, and liveUrl. No TikTok login or cookies.

This Actor is a focused is-live roster checker. When you need chat capture, recording, or category discovery after a status check, continue with TikTok Live Scraper.

TikTok is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by TikTok.

Best fit for this Actor

  • Poll a known creator roster on an Apify Schedule and keep isLive plus offline snapshots.
  • Alert when a talent or brand handle starts broadcasting.
  • Feed an agent a short handle list and get structured live/offline JSON.

For profile bios or videos, continue with TikTok Profile Scraper after you have the handles. For comments on published videos (not LIVE rooms), use TikTok Video Comments Scraper.

Practical scenario

A talent scout pastes tiktok and khaby.lame. The job returns one billed row per public handle: offline accounts still write isLive: false so the roster stays complete; an unknown handle finishes as unbilled VALID_EMPTY with no dataset row. The scout schedules the same input every 15 minutes and filters isLive: true downstream.

Quick start input

{
"usernames": ["tiktok"],
"maxItems": 10,
"includeOffline": true,
"includeStreamUrls": false
}

usernames accepts bare handles, @handles, profile URLs, or /live URLs. One unique handle produces one dataset row.

Input reference

FieldTypeWhat it controls
usernamesarrayRequired handles or profile/live URLs. Example: tiktok. Max 100 unique via maxItems.
maxItemsintegerCap on unique accounts processed. Default 20, max 100.
includeOfflinebooleanKeep offline snapshots so a roster stays complete. Default true.
includeStreamUrlsbooleanAttach ephemeral HLS/FLV only while isLive is true. Default false.
providerOrderenumscrapecreators-first (default), sociavault-first, or vendor-only pins.

What data you receive

One dataset item is one public TikTok account snapshot.

{
"username": "tiktok",
"profileUrl": "https://www.tiktok.com/@tiktok",
"isLive": false,
"status": "offline",
"outcome": "OK",
"provider": "scrapecreators",
"checkedAt": "2026-09-15T19:39:18.597Z",
"liveUrl": "https://www.tiktok.com/@tiktok/live",
"nickname": "TikTok",
"verified": true,
"followerCount": 95754368,
"roomTitle": "Example leftover room title",
"viewerCount": 0
}
FieldMeaning
isLivetrue only when the provider reports the account is broadcasting now
statuslive or offline for billed rows
roomTitleCurrent title when live; may still appear after a room ends
viewerCountLive viewers when broadcasting; 0 when offline
providerscrapecreators or sociavault
checkedAtISO timestamp of this snapshot

Offline rooms can still expose a leftover roomTitle. Treat isLive as the source of truth. Stream URLs expire quickly and appear only when you opt in and the account is live.

OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and chargedEventCounts.

Honest live vs leftover-room rule

TikTok payloads often keep title, startTime, and even signed stream URLs after the broadcast ends. This Actor uses the provider is_live flag. A leftover-title room with isLive: false is billed as an honest offline snapshot.

Pricing

Pay per event plus Apify platform usage. The live Pricing tab is the current source of truth for event names and dollar amounts.

EventWhen it chargesTypical price
apify-actor-startOnce per job$0.00005
live-status-checkedEach persisted live or offline snapshot$0.005

Worked example: checking 10 public handles with includeOffline: true charges about 10 × $0.005 for snapshots plus the start fee, plus platform usage on the Pricing tab. Unknown handles finish as unbilled VALID_EMPTY.

Use through the API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/tiktok-live-status-monitor').call({
usernames: ['tiktok', 'khaby.lame'],
maxItems: 10,
includeOffline: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Agent / MCP prompt

Call apify--tiktok-live-status-monitor with usernames ["tiktok","khaby.lame"], includeOffline true, maxItems 10. Read the dataset for isLive/status/roomTitle, then read OUTPUT for outcome and chargedEventCounts. Cost is one live-status-checked event per billed snapshot plus platform usage. Scope is public is-live status only; route chat or recording needs to khadinakbar/tiktok-live-scraper.

Scheduling a roster

Save the Actor as a Task with your handle list, then attach an Apify Schedule (for example every 15 minutes). Each job is one snapshot batch. Filter isLive === true in your downstream webhook or dataset export.

Best results

  • Prefer known public handles over guesswork; unknown accounts stay unbilled.
  • Keep includeOffline: true for roster completeness; set it false when you only want currently live rows.
  • Leave includeStreamUrls false unless you will consume the URLs immediately.
  • Cap maxItems to the roster size you can afford at $0.005 per snapshot.

Builder's note

I found that provider payloads for ended rooms still ship leftover titles and signed stream URLs. Inferring live from those fields created false positives during the first probe, so the runtime trusts is_live only and attaches stream URLs solely when that flag is true. SociaVault’s TikTok live route expects handle= (not username=), which matters when pinning sociavault-only.

Outcome contract

OutcomeMeaningDatasetNamed charge
COMPLETEEvery unique handle resolved live or offlineYesYes, one per snapshot
PARTIALMix of snapshots and upstream issuesSnapshots onlySnapshots only
VALID_EMPTYAll handles missing or all offline when includeOffline is falseNo billable rowsNo
INVALID_INPUTEmpty or unusable handle listNoNo
UPSTREAM_FAILEDBoth providers unavailable for every handleNoNo
CONFIG_ERRORRequired provider keys missingNoNo

Responsible use

Use this Actor on public TikTok LIVE pages and profiles you are authorized to monitor. Respect applicable law and TikTok’s terms. Prefer consented brand, talent, and commerce monitoring workflows.