TikTok Live Scraper — Live Status, Chat & Gifts avatar

TikTok Live Scraper — Live Status, Chat & Gifts

Pricing

from $5.00 / 1,000 live result (status / room / discover)s

Go to Apify Store
TikTok Live Scraper — Live Status, Chat & Gifts

TikTok Live Scraper — Live Status, Chat & Gifts

Scrape TikTok LIVE: check whether a username is live, get room metadata with viewer count and stream URLs, follow the real-time chat and gifts feed, or discover creators live now. The mode is auto-detected, with no cookies or login.

Pricing

from $5.00 / 1,000 live result (status / room / discover)s

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

44

Total users

9

Monthly active users

a day ago

Last modified

Security

Limited permissions

Share

What is TikTok Live Scraper?

TikTok Live Scraper returns TikTok LIVE data for creators and rooms you name: whether a username is live right now, the live room's title, viewer counts, start time, hashtag and stream URLs, a timed capture of the real-time chat and gift feed, live rooms found by keyword search, or a list of rooms broadcasting now in a category. Live rows can also list the room's top gifters with their coin totals. Each dataset row has a recordType and a status, so brand monitors, live-shopping analysts, talent scouts and AI agents can branch on the result without parsing pages. No cookies or TikTok login are needed.

Why teams use this TikTok LIVE scraper

  • Five LIVE jobs, one input. Fill usernames, liveRoomUrls, chatFeedUsername, liveSearchKeyword or discoverCategory, and the Actor picks the matching mode.
  • Live search by keyword. liveSearchKeyword returns rooms TikTok ranks for any phrase, such as cooking or makeup tutorial, with viewer count and live link.
  • Top gifters per room. Set includeTopGifters to add the room's top gifters (rank, handle, coins, followers) to every live status or room row.
  • A clear answer per creator. Live-status rows carry isLive plus room details when the creator is broadcasting.
  • Real-time chat and gifts. Chat capture listens to a live room for chatCaptureSeconds and saves one row per chat, gift, join or like you choose in chatEventTypes.
  • Labeled outcomes. A confirmed offline creator returns isLive: false. Read OUTPUT or RUN_SUMMARY for restricted targets, interrupted capture, and discovery failures.
  • Agent-friendly rows. Flat, consistently named fields that an MCP client can read straight from the dataset.

Best fit for this Actor

  • Best fit for checking a list of creators for live status, pulling a live room's metadata, or recording a live session's chat and gifts while it airs.
  • Use it on a short schedule when you want to know when creators go live.
  • For a dedicated watchlist that alerts on changes, continue with TikTok Live Status Monitor.
  • For follower counts, bio and engagement of the same creators, pass the handles to TikTok Profile Scraper — Followers, Bio & Score.

What people and AI agents ask this Actor to do

Is this creator live on TikTok right now? Record the chat and gifts from this live stream for five minutes. Get the room title and viewer count for this live link. Which gaming creators are live in the US right now?

RequestInput to send
Live status for a list of creators{"usernames": ["stoolpresidente", "khaby.lame"]}
Live room details{"liveRoomUrls": ["https://www.tiktok.com/@stoolpresidente/live"]}
Chat and gifts for five minutes{"chatFeedUsername": "stoolpresidente", "chatCaptureSeconds": 300}
Rooms live now in a category{"discoverCategory": "gaming", "discoverRegion": "US", "maxDiscoverResults": 50}
Live rooms for a keyword{"liveSearchKeyword": "cooking", "discoverRegion": "US", "maxDiscoverResults": 40}
Who is gifting most in a live room{"usernames": ["stoolpresidente"], "includeTopGifters": true, "maxTopGifters": 10}

Example workflow: from a creator list to a live-shopping report

A live-commerce manager starts with the handles of eight partner creators in usernames and schedules the Actor every ten minutes during launch week. Each run returns a live-status row per creator. When a row shows isLive as true, her automation starts a second run with chatFeedUsername set to that creator and chatEventTypes set to chat and gift. She exports the chat rows, compares gift totals across creators, and feeds the comment text into an LLM summary of what buyers asked about the product.

Input

Fill one of the five mode fields. The others stay empty.

{
"usernames": ["stoolpresidente", "khaby.lame"],
"maxResults": 100
}
FieldTypeWhat it controls
usernamesarrayTikTok handles or profile URLs for live-status checks
liveRoomUrlsarrayLive room URLs such as tiktok.com/@user/live, or numeric room IDs
chatFeedUsernamestringOne handle whose live chat and gifts to capture
chatCaptureSecondsintegerListening time for chat capture. Default 60, range 10 to 1800
chatEventTypesarraychat, gift, member, like, social. Default ["chat", "gift"]
discoverCategorystringgaming, lifestyle, music, fashion, food, sports, education, entertainment, beauty or comedy
liveSearchKeywordstringFree-text live search, up to 100 characters
discoverRegionstringTwo-letter country code for discovery and keyword search. Default US
maxDiscoverResultsintegerCap on discovered or searched rooms. Default 50
maxResultsintegerCap on live-status and room-details rows. Default 100
includeTopGiftersbooleanAdd the room's top gifters to live rows. Default false
maxTopGiftersintegerGifters per live room. Default 10, range 1 to 99

Output

Every row has recordType (live-status, room-details, chat-event, search-live or discover-live), status and scrapedAt.

FieldWhat it contains
recordType, status, note, sourceMode, outcome label, readable detail and data route
username, userId, secUid, nickname, verified, avatarUrl, followerCountCreator identity
isLive, roomId, roomTitle, coverUrl, liveUrlLive room identity
viewerCount, totalEnterCount, startedAt, hashTagAudience and timing while live
isPaidEvent, isSubOnly, streamUrlsRoom access flags and stream URLs
chatEventType, chatText, chatTimestamp, fromUsername, fromUserId, fromNicknameChat feed rows
giftName, giftCount, giftDiamondValue, giftTotalDiamondsGift rows
discoverRank, discoverCategory, searchKeywordPosition, category or keyword for discovered and searched rooms
topGifters, topGiftersTotal, topGiftersCurrencyWith includeTopGifters: ranked gifters (rank, username, nickname, userId, coins, followerCount), how many viewers TikTok ranked, and the unit (coins)

A live-status row for a creator who is offline at check time:

{
"recordType": "live-status",
"status": "ok",
"isLive": false,
"username": "stoolpresidente",
"userId": null,
"secUid": null,
"nickname": null,
"verified": false,
"avatarUrl": null,
"followerCount": null,
"roomId": null,
"roomTitle": null,
"coverUrl": null,
"viewerCount": null,
"totalEnterCount": null,
"startedAt": null,
"hashTag": null,
"isPaidEvent": false,
"isSubOnly": false,
"liveUrl": null,
"streamUrls": null,
"scrapedAt": "2026-10-02T15:02:01.057Z"
}

When the creator is broadcasting, the same row fills isLive, roomId, roomTitle, viewerCount, startedAt and liveUrl. A handle that does not exist on TikTok produces no row and no charge; the run summary counts it in notFoundTargets. When TikTok restricts access, the live status is unknown. The summary reports how many targets were restricted. Those targets produce no result charge. For repeated monitoring, retry a restricted target only when its access changes.

Pricing

This Actor uses Pay per event with Apify platform usage included in the event price. You pay an Actor Start charge based on allocated memory, one Live result (status / room / discover) event per live-status check, room-details row, discovered room or keyword-search room, and one Chat / gift / join / like event captured event per chat-feed row. The live Pricing tab on this page shows the current event prices.

Worked example: a check that delivers eight verified creator statuses incurs eight Live result events plus the applicable Actor Start charge. A chat capture costs one Chat event per saved chat or gift row, so a busy stream with a long chatCaptureSeconds produces more rows than a quiet one; keep chatEventTypes to chat and gift for the highest-signal rows. Top gifters are included in the Live result price, with no extra event. Set a maximum charge per run in the run options to cap spend.

API example

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~tiktok-live-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"usernames": ["stoolpresidente", "khaby.lame"]}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("khadinakbar/tiktok-live-scraper").call(run_input={
"usernames": ["stoolpresidente", "khaby.lame"],
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["username"], row["isLive"], row.get("viewerCount"))

Use with AI agents (MCP)

Connect the Actor through Apify MCP in Claude, ChatGPT or Cursor and ask:

Check whether these five TikTok creators are live right now. For anyone live, give me the room title, viewer count and live link.

The agent sends the handles in usernames, reads rows back with get-dataset-items, and answers from isLive, roomTitle, viewerCount and liveUrl. It should read the run summary before concluding, and cite scrapedAt because live data is a point-in-time snapshot. Chat capture is one creator per run and bills per saved row, so agents should set a short chatCaptureSeconds unless the user asks for a long session.

Best results

Starting situationHelpful actionExpected outcome
You track a creator rosterPut all handles in usernames and schedule short intervalsA live or offline row per creator each run
A creator just went liveStart a chat capture with chatFeedUsername while the room is on airChat and gift rows for the session
You need joins and likes tooAdd member and like to chatEventTypesFuller engagement rows
Category discovery returns no verified roomsTry liveSearchKeyword with the same word. Many rooms carry no category tag.Rooms TikTok ranks for that keyword
Discovery returns no verified roomsCheck the run summary for the discovery failure. TikTok may withhold a regional feed.An unavailable feed produces no room fee.
Viewer trends over a streamSchedule liveRoomUrls every few minutes during the broadcastA time series of viewerCount

Builder's note

I built the four LIVE jobs behind one input because people usually move through them in order: check who is live, open the room, then record the chat. I designed every outcome, including offline creators and rooms that close mid-capture, to arrive as a labeled row so schedules and agents can branch on status instead of guessing why a dataset is short.

FAQ

Can I capture chat from a creator who is offline?

Chat exists only while a room is broadcasting. The Actor checks live status before connecting. If the creator is offline, the run ends successfully with no rows, no chat fee, and OUTPUT reporting VALID_EMPTY with creatorLive: false and a plain message. Start the capture again while the creator is live.

Does it return past LIVE replays?

It works with rooms that are on air at run time. For recorded TikTok videos, use a TikTok video Actor instead.

Can I capture several creators' chat at once?

Chat capture follows one creator per run. Start one run per creator, in parallel if needed.

Responsible use

This Actor reads public TikTok LIVE information without a login. Chat rows contain usernames and comments, which are personal data under laws such as the GDPR and CCPA; collect them only with a lawful basis, keep them no longer than needed and respect TikTok's terms of service. TikTok is a trademark of its owner, and this independent Actor is not affiliated with it. For questions, open a ticket in the Issues tab.