Douyin Live Scraper
Pricing
from $2.40 / 1,000 results
Douyin Live Scraper
Check whether a Douyin account is broadcasting from its numeric user ID, and fetch a live room's title, host, viewer count, stream URLs, and cover from a room ID, webcast ID, or Douyin profile URL. Also collect the room's top gifters or the products pinned for sale in it.
Pricing
from $2.40 / 1,000 results
Rating
0.0
(0)
Developer
ToolzerHub
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
Check whether a Douyin account is broadcasting right now, then pull the room's title, host, viewer count, stream URLs, and cover once it is. Also collect a live room's top gifters, or the products pinned for sale in it. This is a live-room Actor, not a shop or product-catalogue scraper — it reads what is happening inside a broadcast, not a seller's storefront. Pick a mode with scraperType.
Modes
scraperType | Returns | Needs |
|---|---|---|
liveStatus (default) | Whether the account is broadcasting, and the room id if it is | uid |
liveRoom | Room title, host, viewer count, stream URLs, cover | room_id, webcast_id, or sec_user_id |
liveGiftRanking | Top gifters in a live room, ranked | room_id or webcast_id |
liveProducts | Products pinned for sale in a live room | room_id + author_id, or webcast_id |
Input
| Field | Use it for |
|---|---|
uid | The account's numeric user ID. Required for liveStatus. |
sec_user_id | A profile URL or sec_user_id. One of three ways into liveRoom. |
room_id | A live room's numeric ID. Used by liveRoom, liveGiftRanking, liveProducts. |
webcast_id | The web_rid from a live room's URL. Resolves to a room id and host id internally, so it alone is enough for liveGiftRanking and liveProducts. |
author_id | The host's numeric uid. Needed alongside room_id for liveProducts — skip both and pass webcast_id instead. |
maxItems | Caps liveGiftRanking and liveProducts. Default 100. Set 0 for no limit. |
{"scraperType": "liveStatus","uid": "2557909361237356"}
Output
| Field | Mode | Contents |
|---|---|---|
uid, live_status, user_live | liveStatus | Whether the account is live, and the raw live-status entry |
id_str, status, title, owner, stream_url, cover, stats, user_count_str, start_time, share_url | liveRoom | Room detail and stream addresses |
rank, score, user | liveGiftRanking | One gifter and their rank on the leaderboard |
source_room_id, source_author_id | liveProducts | The room and host this row was requested for |
source_room_id, source_webcast_id, source_sec_user_id | Matching mode | What this row was collected from |
{"uid": "2557909361237356","live_status": 0,"user_live": []}
Questions
What happens if I check an account that isn't currently broadcasting?
liveStatus still returns one row — live_status: 0 and an empty user_live array. That's a normal, successful run, not an error. liveRoom behaves differently on an offline account depending on which ID you use: through sec_user_id it can fall back to echoing the plain profile instead of a room, so treat a liveRoom result without stream_url as "not currently live" rather than a broken lookup.
Does liveProducts actually return products?
Treat it as unproven. Every real room tested while building this Actor — an education livestream, a phone brand's own room, a factory livestream, and a major e-commerce anchor — came back either with a request error or a null payload carrying an upstream "not logged in" or risk-control message. The endpoint is real and wired up, but nothing has confirmed it returning actual product rows end to end. Try it, but don't build a pipeline that assumes it works.
Why can't I choose which gift ranking to view?
Only the source's own default ranking works. Every other value tested against a live room came back as an error on the same room, so that control isn't exposed as input — liveGiftRanking always returns the source's default leaderboard.
Why does liveGiftRanking stop well short of maxItems?
It isn't paginated. The source returns one fixed snapshot list per request, which this Actor slices to maxItems rather than paging further — raising the limit past what one snapshot holds won't pull more rows.
Related Actors
| Actor | Purpose |
|---|---|
| Douyin Profile Scraper | Resolve a handle or URL to the uid or sec_user_id this Actor needs |
| Douyin Account Analytics Scraper | Follower growth and audience demographics once you know an account is active |
Support
Questions, bugs, or feature requests: contact@toolzerhub.com
Browse the rest: apify.com/toolzerhub