Douyin Live Scraper - Live Status, Viewers & Stream URLs avatar

Douyin Live Scraper - Live Status, Viewers & Stream URLs

Pricing

from $4.00 / 1,000 scraped rooms

Go to Apify Store
Douyin Live Scraper - Live Status, Viewers & Stream URLs

Douyin Live Scraper - Live Status, Viewers & Stream URLs

Check Douyin (抖音) live rooms and creators: is the creator live now, room title, viewers watching now, total viewers, likes, category, streamer and HLS/FLV stream links. Paste live links, room IDs or profile links. No login. Schedule it to monitor streamers.

Pricing

from $4.00 / 1,000 scraped rooms

Rating

0.0

(0)

Developer

Harish Garg

Harish Garg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Douyin Live Scraper — Live Status, Viewers & Stream URLs (抖音直播)

Check any Douyin (抖音) live room or creator in seconds. This Douyin live scraper tells you if a creator is live now and gives you the room title, viewers watching now, total viewers, likes, category, streamer profile and HLS and FLV stream URLs of the live stream.

Paste live links, room IDs or creator profile links. You do not need a Douyin account, cookies or a login. Export the results to JSON, CSV, Excel or HTML, schedule the Actor to monitor streamers, or ask an AI assistant such as Claude or ChatGPT to run it for you.

What does Douyin Live Scraper do?

The Actor checks a list of Douyin live rooms and creators and returns one result for each input.

  • 🔴 Live status check – a clear isLive flag and a status for each input: live, ended or offline.
  • 👀 Live audience numbers – the exact number of viewers watching now, Douyin's total-viewers text (for example 10万+) and the likes of the live session.
  • 🏷️ Live room details – room title, category, cover image and a flag for rooms that sell products (live commerce).
  • 🎥 Live stream URLs – the HLS (.m3u8) and FLV links of the stream in the best quality, plus HLS links for every quality.
  • 👤 Streamer profile – name, sec_uid, numeric user ID, profile link and avatar.
  • 🔗 Flexible input – live links, room IDs, creator profile links, v.douyin.com share links or the full share text from the Douyin app.
  • 🧹 Clean results – the results come in the order of your input, and a room that you give two times (for example its live link and its streamer's profile link) shows only one time.

What data can you get from Douyin live rooms?

FieldDescriptionExample
isLiveThe room is live at the time of the checktrue
statuslive, ended or offlinelive
webRidRoom ID, the number in the live link141601416352
roomIdDouyin's ID of this live session7695781264460876544
liveUrlLink to the live roomhttps://live.douyin.com/141601416352
titleLive room title1
viewersNowViewers watching now32228
viewersNowTextViewers now, as Douyin shows them3万+
totalViewersTextAll viewers of this live session, as Douyin shows them10万+
likeCountLikes in this live session619856
categoryLive category角色扮演
hasProductsThe room has a product cart (live commerce)true
streamerNameStreamer's display name看海老师
streamerSecUidStreamer's sec_uidMS4wLjABAAAA...
streamerUidStreamer's numeric Douyin user ID3457305561275172
streamerProfileUrlLink to the streamer's Douyin profilehttps://www.douyin.com/user/MS4wLjABAAAA...
streamerAvatarUrlStreamer's avatar imageimage URL
coverUrlCover image of the live roomimage URL
hlsUrlHLS (.m3u8) stream link, best qualitystream URL
flvUrlFLV stream link, best qualitystream URL
hlsUrlsByQualityHLS stream links by quality (FULL_HD1, HD1, SD1, SD2)object
scrapedAtTime of the check (ISO 8601, UTC)2026-10-12T16:59:13+00:00
sourceInputYour input, exactly as you gave ithttps://live.douyin.com/141601416352
errorOnly on failed inputs: why the input gave no resulttext

Input

The Actor has one input field.

FieldTypeRequiredDescription
liveUrlsarray of stringsYesDouyin live links, room IDs, creator profile links or share links.

You can use these kinds of input:

  • A live link: https://live.douyin.com/141601416352
  • A room ID (the number at the end of a live link): 141601416352
  • A creator profile link: https://www.douyin.com/user/MS4wLjABAAAA... — the Actor tells you if the creator is live now. If the creator is live, you get the full live room data.
  • A sec_uid of a creator: MS4wLjABAAAA...
  • A share link from the Douyin app: https://v.douyin.com/... for a live room or a profile. You can also paste the full share text, and the Actor finds the link in it.

Example input:

{
"liveUrls": [
"https://live.douyin.com/141601416352",
"https://www.douyin.com/user/MS4wLjABAAAAgq8cb7cn9ByhZbmx-XQDdRTvFzmJeBBXOUO4QflP96M"
]
}

Output

Each input gives one item in the dataset. This is a sample item for a room that is live (the stream URLs are shortened):

{
"sourceInput": "https://live.douyin.com/141601416352",
"isLive": true,
"status": "live",
"webRid": "141601416352",
"roomId": "7695781264460876544",
"liveUrl": "https://live.douyin.com/141601416352",
"title": "1",
"viewersNow": 32228,
"viewersNowText": "3万+",
"totalViewersText": "10万+",
"likeCount": 619856,
"category": "角色扮演",
"streamerName": "看海老师",
"streamerSecUid": "MS4wLjABAAAAx56FMyWVsN8B8Tv4fTC51eA8JbyjOMvxwa0KAluSxq_PzfdejZcfxQY7Gcuyyo4u",
"streamerUid": "3457305561275172",
"streamerProfileUrl": "https://www.douyin.com/user/MS4wLjABAAAAx56FMyWVsN8B8Tv4fTC51eA8JbyjOMvxwa0KAluSxq_PzfdejZcfxQY7Gcuyyo4u",
"streamerAvatarUrl": "https://p11.douyinpic.com/aweme/100x100/aweme-avatar/...jpeg",
"coverUrl": "https://p3-webcast-sign.douyinpic.com/webcast-cover/...image",
"hasProducts": true,
"hlsUrl": "https://pull-hls-q26.douyincdn.com/thirdgame/stream-696707335027163966_or4.m3u8?expire=...",
"flvUrl": "https://pull-flv-q26.douyincdn.com/thirdgame/stream-696707335027163966_uhd.flv?expire=...",
"hlsUrlsByQuality": {
"FULL_HD1": "https://pull-hls-q26.douyincdn.com/...m3u8?expire=...",
"HD1": "https://pull-hls-q26.douyincdn.com/...m3u8?expire=...",
"SD1": "https://pull-hls-q26.douyincdn.com/...m3u8?expire=...",
"SD2": "https://pull-hls-q26.douyincdn.com/...m3u8?expire=..."
},
"scrapedAt": "2026-10-12T16:59:13+00:00"
}

Other inputs give shorter items:

  • A creator who is not live gives "isLive": false, "status": "offline" and the creator's name, sec_uid, user ID, profile link and avatar.
  • An ended live room gives "isLive": false, "status": "ended" and the room data that Douyin still shows, without the live audience numbers.
  • An input that fails gives an item with sourceInput and an error text that tells you what to fix. Examples are a video link instead of a live link, a TikTok link, or a room ID that does not exist.

A live, ended or offline item is a checked result, and you pay for it. An error item is free. Refer to How am I charged?.

Fields that Douyin does not show for a room are null. In Apify Console, the Live rooms view of the dataset shows the most important fields in a table.

How to use Douyin Live Scraper

You can run the Actor in Apify Console, through the Apify API, or from an AI assistant. The examples below use the Actor ID HGServices/douyin-live-room-scraper. In API URLs, the slash becomes a tilde: HGServices~douyin-live-room-scraper.

Apify Console

  1. Open the Actor in Apify Console.
  2. Click Try for free.
  3. In Live links, room IDs or profile links, paste one link or ID on each line.
  4. Click Start.
  5. When the run is done, open the Output tab.
  6. Click Export to download the results as JSON, CSV, Excel, XML or HTML.

To check your streamers at regular times, open the Actor and click Schedule.

Apify API (HTTP)

Get your API token from Settings › API & Integrations in Apify Console. This request runs the Actor, waits for the run to finish, and returns the dataset items:

curl -X POST \
"https://api.apify.com/v2/acts/HGServices~douyin-live-room-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"liveUrls": [
"https://live.douyin.com/141601416352",
"https://www.douyin.com/user/MS4wLjABAAAAgq8cb7cn9ByhZbmx-XQDdRTvFzmJeBBXOUO4QflP96M"
]
}'

The synchronous endpoint waits up to 300 seconds. For a long list of inputs, start the run with POST /v2/acts/HGServices~douyin-live-room-scraper/runs. Then get the items from GET /v2/datasets/{defaultDatasetId}/items when the run is done.

JavaScript (Node.js) with apify-client

Install the client with npm install apify-client.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
// Start the Actor and wait for the run to finish.
const run = await client.actor('HGServices/douyin-live-room-scraper').call({
liveUrls: [
'https://live.douyin.com/141601416352',
'https://www.douyin.com/user/MS4wLjABAAAAgq8cb7cn9ByhZbmx-XQDdRTvFzmJeBBXOUO4QflP96M',
],
});
// Read the results from the run's dataset.
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const room of items) {
console.log(room.streamerName, room.status, room.viewersNow, room.hlsUrl);
}

Python with apify-client

Install the client with pip install apify-client.

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
# Start the Actor and wait for the run to finish.
run = client.actor("HGServices/douyin-live-room-scraper").call(
run_input={
"liveUrls": [
"https://live.douyin.com/141601416352",
"https://www.douyin.com/user/MS4wLjABAAAAgq8cb7cn9ByhZbmx-XQDdRTvFzmJeBBXOUO4QflP96M",
],
}
)
# Read the results from the run's dataset.
for room in client.dataset(run["defaultDatasetId"]).iterate_items():
print(room.get("streamerName"), room.get("status"), room.get("viewersNow"))

AI assistants (Claude, ChatGPT and other MCP clients)

The Apify MCP server lets AI assistants run this Actor and read the results. Use this server URL to give the assistant access to this Actor only:

https://mcp.apify.com/?tools=HGServices/douyin-live-room-scraper

Claude (claude.ai and Claude Desktop):

  1. Open Settings › Connectors.
  2. Click Add custom connector.
  3. Paste the server URL above.
  4. Sign in to Apify when Claude asks you.

Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=HGServices/douyin-live-room-scraper"

ChatGPT:

  1. Open Settings › Apps & Connectors.
  2. Turn on Developer mode in the advanced settings.
  3. Create a new connector with the server URL above.
  4. Sign in to Apify when ChatGPT asks you.

Other MCP clients (Cursor, VS Code and more):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=HGServices/douyin-live-room-scraper"
}
}
}

Then ask the assistant in plain language. Example prompts:

  • "Which of these Douyin creators are live now? Show the room title, viewers now and live link for each one."
  • "Check the Douyin live room https://live.douyin.com/141601416352 and give me its HLS stream URL."
  • "Make a table of these Douyin live rooms, sorted by viewers now, and show which ones sell products."

Integrations

Send the results to the tools you already use with Apify integrations: Google Sheets, Google Drive, Slack, Make, Zapier, n8n, Airbyte, GitHub and webhooks. For example, schedule the Actor to check a list of streamers every 15 minutes. Then use Make, Zapier or n8n to send a message for each item with "isLive": true.

Use cases for Douyin live data

  • Streamer monitoring – know when creators go live and how large their live audience is.
  • Live commerce research – find Douyin live rooms that sell products and compare their audiences.
  • Influencer marketing – check the live reach of Douyin creators before you work with them.
  • Audience tracking – schedule the Actor and chart viewers and likes during a live session.
  • Stream recording and archiving – get the HLS and FLV stream URLs of a live room for recording tools.

Tips and limitations

  • Use profile links to monitor creators. A live link points to one room. A profile link always finds the creator's current live room, if there is one.
  • Stream URLs expire. The HLS and FLV links are signed. They stop working when the stream ends or when the signature expires. Use them soon after the run.
  • Stream URLs use https://. You can use them in recording tools such as FFmpeg, VLC and Streamlink, or in an HTTPS web page.
  • Numbers change every second. viewersNow and likeCount are a snapshot at the time in scrapedAt. Schedule the Actor to follow them over time.
  • Douyin rounds the text numbers. viewersNowText and totalViewersText are Douyin's own rounded values. For example, 3万+ means 30,000 or more.
  • Room IDs have up to 14 digits. A longer number is usually a video ID. Paste the live link or the creator's profile link instead.

FAQ

Do I need a Douyin account or cookies?

No. The Actor works without a Douyin account, a password or cookies.

Do I need a proxy?

No. You do not need to configure a proxy. The Actor manages its connection to Douyin.

What is the difference between "ended" and "offline"?

ended means that the live room from your link exists, but its stream is over. offline means that the creator from your profile link is not live now.

How am I charged?

You pay for each room or creator that the Actor checks. The price is the same for live, ended and offline results, because the Actor does the same work to check each one. You do not pay for an input that fails and gives an error item. If you give the same room or creator two times, you pay for it one time. The Pricing tab shows the price for each result.

How do I find live Douyin rooms?

This Actor checks the rooms and creators that you give it. To find rooms that are live now, use the Douyin Trending Live Rooms Scraper. Then give its room links to this Actor to check them again later.

Can I record a Douyin live stream?

The Actor gives you the stream URLs. Use them with a tool such as FFmpeg to record the stream. Respect the creator's rights and obey the law.

Can I get the live chat or gifts?

No. This Actor gives you the room data, not the chat messages or gifts.

Can I scrape TikTok LIVE with this Actor?

No. This Actor works only with Douyin, the Chinese version of TikTok.

Other Douyin scrapers

This Actor collects only data that Douyin shows publicly to every visitor. The output includes public streamer profile data. You are responsible for using it in line with the Douyin terms of service and data protection laws such as GDPR and the Chinese PIPL. Read more in the Apify blog post Is web scraping legal?.

Feedback and support

Did you find a bug, or do you need a new field? Open an issue in the Issues tab of the Actor. We read every report.