TikTok Live Search Scraper
Pricing
$4.45 / 1,000 live rooms
TikTok Live Search Scraper
Search active public TikTok LIVE rooms by keyword. Save one row per distinct room with room, creator, audience, engagement, stream, image, and source details.
Pricing
$4.45 / 1,000 live rooms
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
55
Total users
12
Monthly active users
15 days ago
Last modified
Categories
Share
🔎 Find active TikTok LIVE rooms by topic
Social media researchers, creator teams, and live trend trackers can use this Actor to search public TikTok LIVE rooms by keyword. It saves one dataset row for each distinct room, with room, creator, audience, engagement, media, and source details. Use the rows to compare active rooms, review live topics, or send structured data to another workflow.
- Search live Shop rooms to inspect active shopping streams.
- Find active Fitness rooms for creator and topic research.
- Browse Music rooms and collect public live-room details.
- Track public Football rooms and their audience counts.
- Discover active Makeup rooms with creator and engagement data.
- Find Gaming rooms with ranks, titles, viewer counts, and stream links.
📦 TikTok LIVE room data
Each row covers the first eligible occurrence of one distinct active room found during the run. A later match for the same room, even under another keyword, is not saved again. The fields below keep the keyword, rank, room, creator, audience, media, stream, and source details that TikTok exposes.
▶️ Search TikTok LIVE rooms
- Enter one or more topics in
keywords. - Set
maxResultsPerKeywordif you want a per-keyword cap. Leave it empty to return all available rooms until the source is exhausted. - Start the Actor and open the dataset.
- Export the rows or use them through the Apify API, schedules, webhooks, or integrations.
You do not need to provide TikTok cookies, a TikTok login, or a TikTok API key. For a small first run, keep the prefilled gaming keyword and use a small room limit. Good topics include gaming, makeup, football, music, fitness, shop, or another creator niche.
This Actor searches TikTok LIVE rooms only. It does not discover followers, scrape regular TikTok video search, monitor one room in real time, collect live chat, or record or save broadcast video files.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
keywords | array of strings | Searches each keyword separately. Use 1 to 100 unique, non-empty values. |
maxResultsPerKeyword | integer | Sets the maximum number of distinct rooms to save for each keyword. Use 1 or more. Leave it empty to return all available rooms until the source is exhausted. The source may return fewer rooms than this cap. |
Example input
{"keywords": ["gaming"],"maxResultsPerKeyword": 5}
🧾 Output
Run output
| Field | Type | What it does |
|---|---|---|
results | URL | Opens the default dataset to view saved TikTok LIVE rooms. |
Dataset row fields
| Field | Type | What it does |
|---|---|---|
keyword | string | The keyword that found and saved this room. |
rank | integer | The room's one-based position among distinct results for this keyword. Rank starts at 1 for each keyword. |
roomId | string | The stable TikTok identifier for the live room. |
isLive | boolean | Says whether the source marks the room as live. |
title | string | The title shown for the live room, when available. |
startedAt | date-time | When the live room started, when available. |
creatorHandle | string | The broadcaster's public TikTok handle, when available. |
creatorNickname | string | The broadcaster's public display name, when available. |
creatorProfileUrl | URL | A link to the broadcaster's public TikTok profile, when available. |
creatorAvatarUrl | URL | A link to the broadcaster's profile image, when available. |
creatorBio | string | The broadcaster's public profile bio, when available. |
creatorFollowerCount | integer | The broadcaster's public follower count, when available. |
viewerCount | integer | The viewer count shown for the live room, when available. |
totalAudienceCount | integer | The total audience count shown by the source, when available. |
likeCount | integer | The number of likes shown for the live room, when available. |
shareCount | integer | The number of shares shown for the live room, when available. |
commentCount | integer | The number of comments shown for the live room, when available. |
categoryName | string | The live category shown for the room, when available. |
gameTags | array of strings | Game or topic tags shown for the live room. |
coverImageUrl | URL | A link to the live room cover image, when available. |
snapshotImageUrl | URL | A link to an image snapshot from the live room, when available. |
streamUrls | array of objects | Available live stream URL variants and their source details. |
streamUrls[].url | URL | The live stream URL. |
streamUrls[].protocol | string | The protocol used by the stream URL. |
streamUrls[].quality | string | The stream quality label, when available. |
streamUrls[].expiresAt | date-time | When the source says the stream URL expires. |
sourceUrl | URL | A link to the TikTok live room source page, when available. |
Complete example row
This is one complete row from the successful current-beta default-input run for gaming.
{"keyword": "gaming","rank": 1,"roomId": "7683014825752546061","sourceUrl": "https://www.tiktok.com/search/live?q=gaming","isLive": true,"title": "#1 BEST FEMALE PLAYER","startedAt": "2026-09-08T04:23:08.000Z","creatorHandle": "mrlustfn","creatorNickname": "MRLUST","creatorProfileUrl": "https://www.tiktok.com/@mrlustfn","creatorBio": "MRLUSTBUSINESS@GMAIL.COM for all business \n1v1 map 3426-1445-4869 join up","creatorAvatarUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/f23ca12e7a5199d880cee8bc9f7554c1~tplv-tiktokx-cropcenter:720:720.webp?dr=9640&refresh_token=8b676be0&x-expires=1789196400&x-signature=2%2Fmluzjx8Uyo27zOSOmZ9ZwlLWM%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=fdd36af4&idc=useast8","creatorFollowerCount": 2118362,"viewerCount": 492,"totalAudienceCount": 500530,"likeCount": 434533,"shareCount": 935,"commentCount": 25168,"categoryName": "Gaming","gameTags": ["Fortnite"],"coverImageUrl": "https://p16-webcast.tiktokcdn-us.com/webcast-oci-tx/7133203906113571630~tplv-obj.image","snapshotImageUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-i-vo4twfpge7-tx/29cd2074a9d8487c8a85e6e300c01f74~tplv-vo4twfpge7-pc-cover-withface:540:960:1.webp?dr=9616&refresh_token=968802b0&x-expires=1789045200&x-signature=RIU8IvwO1UVRuB9mlvpIJo5LrMA%3D&t=4d5b0474&ps=13740610&shp=7f1bcd8d&shcp=97fb53a0&idc=useast8&ftpl=1","streamUrls": [{"protocol": "rtmp","url": "https://pull-f5-tt01.tiktokcdn-us.com/game/stream-3578811625769010108_hd.flv?expire=1790235315&sign=3e15d9930ddf7da7e631f11aba963b6f","quality": "default","expiresAt": "2026-09-24T07:35:15.000Z"},{"protocol": "flv","url": "https://pull-f5-tt01.tiktokcdn-us.com/game/stream-3578811625769010108_hd.flv?expire=1790235315&sign=3e15d9930ddf7da7e631f11aba963b6f","quality": "HD1","expiresAt": "2026-09-24T07:35:15.000Z"},{"protocol": "flv","url": "https://pull-f5-tt01.tiktokcdn-us.com/game/stream-3578811625769010108.flv?expire=1790235315&sign=e7d8501de1f448a3b952e7b26dcc2de1&only_audio=1","quality": "ao","expiresAt": "2026-09-24T07:35:15.000Z"},{"protocol": "cmaf","url": "https://pull-f5-tt01.tiktokcdn-us.com/game/stream-3578811625769010108_ao/index.mpd?expire=1790235315&sign=a4d5b4cc7bacaed53b74538e32dd6504","quality": "ao","expiresAt": "2026-09-24T07:35:15.000Z"},{"protocol": "flv","url": "https://pull-f5-tt01.tiktokcdn-us.com/game/stream-3578811625769010108_hd.flv?expire=1790235315&sign=3e15d9930ddf7da7e631f11aba963b6f","quality": "hd","expiresAt": "2026-09-24T07:35:15.000Z"},{"protocol": "hls","url": "https://pull-hls-f16-tt01.tiktokcdn-us.com/game/stream-3578811625769010108_hd/index.m3u8?expire=1790235315&sign=52756df6cc0af2060004e50dc07ebf31","quality": "hd","expiresAt": "2026-09-24T07:35:15.000Z"},{"protocol": "cmaf","url": "https://pull-f5-tt01.tiktokcdn-us.com/game/stream-3578811625769010108_hd/index.mpd?expire=1790235315&sign=b19c3ebffbcf5305adcc7e8524fc32f0","quality": "hd","expiresAt": "2026-09-24T07:35:15.000Z"},{"protocol": "lls","url": "https://pull-f5-tt01.tiktokcdn-us.com/game/stream-3578811625769010108_hd.sdp?expire=1790235315&sign=5f08f3da9c601dfaa6b68e8431de93d7","quality": "hd","expiresAt": "2026-09-24T07:35:15.000Z"}]}
Optional fields may be absent when TikTok does not expose them. Stream URLs can be temporary and may expire after the run.
💳 Pricing
This Actor uses pay-per-event pricing. Each saved live room creates one Live room event at $0.00445, or $4.45 per 1,000 saved live rooms. The maxResultsPerKeyword cap can limit the number of charged room events.
Limits and caveats
TikTok LIVE search changes throughout the day. A keyword can return fewer rooms than its cap when the source has fewer active rooms, duplicate appearances are ignored, or a room stops being available during the run.
The Actor saves active live rooms returned by TikTok LIVE search during the run. It does not promise complete coverage of every active TikTok live stream, and it does not keep watching rooms after they are found.
If the source stops a keyword early, rows already saved stay in the dataset and other keywords can continue. Results for that keyword may be partial.
🔌 Integrations
Open the dataset in Apify and export rows as JSON, CSV, Excel, XML, RSS, or HTML. Call the run or dataset through the Apify API, schedule repeat checks, or send rows to webhooks and integrations.
❓ FAQ
How are ranks assigned for each keyword?
Rank is the one-based position of each distinct saved room in that keyword's source results. It starts at 1 again for every keyword.
What happens if the same room matches more than one keyword?
Only the first eligible occurrence is saved. Later matches are ignored, so the dataset does not repeat that room.
Why did I get fewer rows than the limit?
The limit is a cap, not a guarantee. TikTok may return fewer active rooms for a keyword, or a room may disappear while the Actor is running.
Can I use a stream URL later?
Stream URLs come from TikTok and can expire after the run. Use them soon after collection when you need to process them.
Can I use this for repeat monitoring?
Yes. Schedule the Actor on Apify with the same keyword list to collect fresh active LIVE search results over time.
Does this collect live chat or record broadcasts?
No. The Actor returns public room data and stream URLs when TikTok exposes them. It does not collect live chat, record broadcasts, or save video files into storage.
Do I need a TikTok account?
No. The Actor runs without your TikTok login, cookies, or a TikTok API key.
📝 Changelog
v2.0 (08-09-2026)
- Searches now handle temporary TikTok responses with retries and keep rows saved before a later source failure.
- Dataset rows no longer include
scrapedAt.
v1.0
- Distinct rooms receive one-based ranks that restart for each keyword.
v0.1
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- TikTok Live Recorder - Record one active public TikTok Live broadcast as MP4 segments with room and creator data.
- TikTok Creator Analytics Scraper - Analyze creator profiles and recent public post metrics after finding a broadcaster.
- TikTok Search Scraper - Search public TikTok videos or creator profiles by keyword for broader content research.
- TikTok Keywords Discovery Tool - Find TikTok autocomplete suggestions before choosing live-room search terms.
- TikTok Hashtag Search Scraper - Compare public hashtag metrics for topics related to active live rooms.
Made with ❤️ by Maxime Dupré