# TikTok LIVE Scraper: Search, Comments & Live Status (`invideoiq/tiktok-live-scraper`) Actor

Find TikTok LIVE streams broadcasting now by keyword in 110+ countries, or check if any creator is live by username, link or room ID. Get viewers, likes, followers, stream URLs, the latest chat comments and top gifters in seconds. No login or cookies. Pay per LIVE.

- **URL**: https://apify.com/invideoiq/tiktok-live-scraper.md
- **Developed by:** [InVideoIQ](https://apify.com/invideoiq) (community)
- **Categories:** Social media, Videos
- **Features:** Limited permissions
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 live stream from searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 📡 What is TikTok LIVE Scraper?

**TikTok LIVE Scraper** finds the **TikTok LIVE streams broadcasting right now** for any keyword, in **one or several countries**, and returns them as clean, structured data: **streamer, viewers now, total viewers, likes, comments, shares, category, game and stream URLs**.

Already know which LIVE you want? Paste **LIVE links, room IDs or @usernames** to check if a creator is live, how many people are watching, **what viewers are saying in the chat** and **who sends the most gifts**. Download everything as **JSON, CSV or Excel**. No TikTok account, cookies or proxies needed.

**🌍 110+ countries · 💬 LIVE comments & top gifters · ⚡ ~50 LIVE streams per keyword in about 20 seconds · 💸 Only $3 per 1,000 LIVE streams**

***

### ✨ What can TikTok LIVE Scraper do?

- 🔍 **Search TikTok LIVE by keyword**: many keywords in one run, each as its own search
- 🌍 **Choose one or several countries**: get the LIVE streams TikTok shows in the United States, France, Brazil, Indonesia, Mexico and 100+ other countries, or compare several markets in one run
- 🎯 **Keep only the LIVE streams that matter**: set a minimum number of viewers, and LIVE streams under it are skipped for free
- 📺 **Look up any LIVE room** by LIVE link, profile link, share link, room ID or @username
- 🟢 **Check if a creator is live**: a username returns their current LIVE, or their last one with its end time
- 💬 **Read the LIVE chat**: the latest comments (up to 50), the pinned comment, the LIVE intro and the top gifters with their gift score
- 🎥 **Get stream URLs**: FLV and HLS playback links by quality, plus an audio-only stream, to record or analyze a LIVE
- 🧹 **No duplicates across keywords and countries**: a LIVE found several times is saved and billed once
- 🔌 **Apify platform included**: API access, scheduling, webhooks, Zapier, Make and Google Sheets integrations

***

### 📊 What TikTok LIVE data can you extract?

| Field | Description |
|-------|-------------|
| `room_url` / `room_id` | Link and ID of the LIVE room |
| `title` / `category` / `game_tags` | LIVE title, TikTok category (for example Gaming) and game played |
| `status` / `started_at` / `ended_at` | `live` or `ended`, with start and end times (UTC) |
| `viewers` / `total_viewers` | Watching now, and since the LIVE started |
| `likes` / `comments_count` / `shares` | LIVE engagement counters (keyword search) |
| `new_followers` | Followers the streamer gained during this LIVE |
| `streamer_username` / `streamer_nickname` / `streamer_followers` | Who is streaming, and their audience |
| `streamer_bio` / `streamer_profile_url` | Streamer bio and profile link |
| `chat_enabled` / `subscribers_only` / `age_restricted` / `products` | LIVE settings and number of products on sale |
| `stream_urls` | FLV, HLS and audio-only playback URLs |
| `comments` / `pinned_comment` / `intro` | The LIVE chat, with comments on |
| `top_gifters` | The LIVE's top gifters with their rank and gift score, with comments on |
| `keyword` / `country` / `rank` | Which keyword found the LIVE, in which country, at which position |

***

### 💡 Example 1: gaming LIVE streams in France, with their chat

#### Input

```json
{
  "keywords": ["gaming"],
  "countries": ["FR"],
  "max_rooms_per_keyword": 20,
  "include_comments": true
}
```

#### Output (one item per LIVE, shortened)

```json
{
  "source": "search",
  "keyword": "gaming",
  "country": "FR",
  "rank": 2,
  "room_id": "7706079497837955862",
  "room_url": "https://www.tiktok.com/@example_streamer/live",
  "title": "SNIPER MANETTE FR !",
  "status": "live",
  "started_at": "2026-11-09T08:05:26Z",
  "streamer_username": "example_streamer",
  "streamer_nickname": "Example",
  "streamer_followers": 116582,
  "streamer_bio": "LIVE every morning from 9am!",
  "viewers": 688,
  "total_viewers": 112808,
  "likes": 353513,
  "comments_count": 7193,
  "shares": 68,
  "new_followers": 104,
  "category": "Gaming",
  "game_tags": ["Fortnite"],
  "chat_enabled": true,
  "intro": "LIVE every day at 9am. Join my sniper map!",
  "pinned_comment": { "text": "Follow me on my other channels 💚", "author_username": "example_mod", "author_is_moderator": true },
  "comments": [
    {
      "id": "7706165829546494742",
      "text": "the goat is back",
      "language": "en",
      "created_at": "2026-11-09T13:39:20Z",
      "author_username": "viewer_one",
      "author_is_follower": true,
      "author_is_moderator": false,
      "author_is_subscriber": false
    }
  ],
  "top_gifters": [{ "rank": 1, "score": 114, "username": "top_gifter", "nickname": "Top Gifter" }],
  "stream_urls": { "default_quality": "hd", "flv": { "hd": "https://..." }, "hls": {}, "audio_only": "https://..." },
  "scraped_at": "2026-11-09T13:39:13Z"
}
```

### 💡 Example 2: are these streamers live right now?

#### Input

```json
{
  "rooms": [
    "https://www.tiktok.com/@example_streamer/live",
    "@another_creator",
    "7705498471838665494"
  ]
}
```

#### Output (shortened)

```json
{
  "source": "room",
  "input": "@another_creator",
  "room_id": "7704837379474852622",
  "room_url": "https://www.tiktok.com/@another_creator/live",
  "share_url": "https://m.tiktok.com/share/live/7704837379474852622",
  "title": "Album release party",
  "status": "ended",
  "started_at": "2026-11-05T23:45:07Z",
  "ended_at": "2026-11-06T01:15:07Z",
  "streamer_username": "another_creator",
  "streamer_followers": 2450000,
  "viewers": 0,
  "total_viewers": 18362,
  "new_followers": 412,
  "chat_enabled": true,
  "products": 0
}
```

Every item has the same fields, so CSV and Excel exports line up. Fields a source cannot provide are `null`: a LIVE looked up by link has no likes or share count (TikTok only gives those to LIVE search), and `comments` stays `null` when comments are off.

You can download the dataset extracted by TikTok LIVE Scraper in **JSON, CSV, Excel, XML or HTML**, or read it through the Apify API.

***

### 🚀 Why use TikTok LIVE Scraper?

- ⚡ **Fast**: a keyword search returns its LIVE streams in about 20 seconds, so the results are still live when you open them
- 🌍 **Real country targeting**: each search runs from the country you pick, so you get the LIVE streams people in that country see, not a global default. Pick several countries to compare markets in one run
- 🧩 **Search, status check and chat in one Actor**: find LIVE streams, check specific creators and read their comments in the same run, with the same output format
- 💬 **Chat without the wait**: the latest 50 comments and the top gifters of a LIVE arrive in seconds, billed per LIVE, not per minute spent listening or per message
- 🟢 **An answer for every creator**: a creator who is not live returns their last LIVE with its start and end times, not just "offline"
- 🎯 **Pay for what you keep**: LIVE streams under your minimum viewers and duplicates are never billed, and you can cap the total number of LIVE streams per run
- 🛡️ **Budget-safe**: set a maximum cost per run and the scraper never starts a search or a lookup your budget cannot pay for
- 🧾 **Clear output**: one row per LIVE, the same columns every time, ready for spreadsheets, BI tools and databases

***

### 👥 Who uses TikTok LIVE Scraper?

#### Brands and marketers

Find the LIVE streams talking about your product category right now, in each market you sell in. Read the chat to hear what viewers ask and complain about.

#### Influencer and creator agencies

Discover streamers by niche and country, compare their live audience, and track how many followers each LIVE brings them.

#### LIVE shopping and e-commerce teams

Spot LIVE streams selling products (`products`), see who is watching, and benchmark sellers in your vertical.

#### Researchers and journalists

Monitor LIVE streams about an event, a protest or an election as it happens, in the countries where it happens. Keep the chat for analysis.

#### Data teams and AI builders

Feed live audience, engagement and chat data into dashboards, sentiment analysis, moderation tools or LLM pipelines through the API.

***

### 📈 Use cases for TikTok LIVE data

- **Live market monitoring**: schedule a search for your keywords every 15 minutes in each country you care about
- **Streamer discovery**: search a niche with a minimum number of viewers, sort by `viewers` or `streamer_followers`, export the streamers' profiles
- **Country comparison**: search the same topic in several countries at once and compare how many LIVE streams and viewers each market has
- **"Is this creator live?" alerts**: look up a list of @usernames on a schedule and trigger a webhook when `status` is `live`
- **LIVE chat analysis**: collect comments with their `language`, run sentiment or topic analysis, spot moderators and subscribers
- **Top gifter research**: see who supports a streamer the most with `top_gifters`, to find superfans and partners
- **Gaming insights**: see which games (`game_tags`) are streamed most in each country
- **Recording and archiving**: use `stream_urls` to record a LIVE, or its audio-only stream for transcription

***

### 🛠️ How to scrape TikTok LIVE streams

1. Open [TikTok LIVE Scraper](https://apify.com/invideoiq/tiktok-live-scraper) and click **Try for free**.
2. Add one or more **keywords** (for example `gaming`, `makeup`, `football`), and pick one or more **countries**. Optionally set **Min viewers now** to keep only the bigger LIVE streams.
3. Or paste **LIVE rooms**: LIVE links, room IDs or @usernames, one per line. You can use both in the same run.
4. Turn on **Get LIVE comments and top gifters** if you want the chat.
5. Click **Start**. A keyword search usually takes 10 to 25 seconds.
6. Download your TikTok LIVE data as **JSON, CSV or Excel**, or connect it to your tools.

#### How to scrape TikTok LIVE comments

1. Add keywords, LIVE links or @usernames, as above.
2. Turn on **💬 Get LIVE comments and top gifters** and set **Max comments per LIVE** (up to 50).
3. Run it. Each LIVE comes with its latest comments, pinned comment, intro and top gifters.
4. Need one row per comment? Export with `unwind=comments` (see the FAQ).

#### Run it your way

Because this is an Apify Actor, you also get:

- **API access**: start runs and fetch results from Python, JavaScript, cURL or any language. See the [API tab](https://apify.com/invideoiq/tiktok-live-scraper/api) for ready-made code
- **Scheduling**: run the same searches every few minutes, hours or days to follow LIVE activity over time
- **Integrations**: send results to Google Sheets, Slack, Zapier, Make, Airbyte or your own webhook
- **Monitoring**: run history, logs and cost tracking in the Apify Console
- **Cloud infrastructure**: nothing to install, runs on Apify's servers

***

### 💳 How much does it cost to scrape TikTok LIVE?

TikTok LIVE Scraper uses **pay-per-event pricing**: you pay a small fee per search and a price per LIVE stream you get. No subscription, no start fee, and no charge for proxies or compute.

| What you get | Price |
|--------------|-------|
| 🔍 Keyword search, per keyword and country (even when it finds no LIVE) | **$0.005** |
| 📺 LIVE found by keyword search | **$0.003** ($3 per 1,000) |
| 🟢 LIVE looked up by link, room ID or username (live status check) | **$0.005** |
| 💬 LIVE with its comments and top gifters | **$0.010** |

| Run | Price |
|-----|-------|
| 1 keyword, 20 LIVE streams | $0.065 |
| 1 keyword, 50 LIVE streams | $0.155 |
| 10 keywords, 500 LIVE streams | $1.55 |
| 1 keyword in 5 countries, 250 LIVE streams | $0.775 |
| 1 keyword, 20 LIVE streams with comments | $0.205 |
| 20 creators checked by username | $0.10 |
| 20 creators checked, with comments | up to $0.20 |

You are **never billed** for LIVE streams under your **Min viewers now**, for duplicates, or for inputs that fail. A LIVE that has ended has no comments, so it is billed as a simple lookup even when comments are on.

**Try it on the Apify free plan:** runs are limited to **10 LIVE streams** (a limit of the free Apify plan, not of the Actor), enough to check the data before you scale. Any paid Apify plan removes the limit.

**Cost control tips**

- Set **Max LIVE streams per keyword and country** to the number you actually need
- Set **Min viewers now** to skip small LIVE streams for free
- Set **Max LIVE streams in total** to cap a run with many keywords or countries
- Turn on comments only when you need the chat
- Set a **Maximum cost per run** in the run options: the scraper never starts a search or a lookup your budget cannot pay for, and stops when the budget is reached
- Keep **Remove duplicate LIVE streams** on (default) so overlapping keywords and countries are never billed twice

***

### ⚙️ Input options explained

| Option | What it does |
|--------|--------------|
| **🔍 Search LIVE streams by keyword** | Keywords to search. Each keyword is searched in each country. |
| **🌍 Countries** | One or more countries whose LIVE streams you get. Applies to keyword search only. Default United States. |
| **Max LIVE streams per keyword and country** | Upper limit of LIVE streams per search. Default 50. |
| **Min viewers now** | Keep only LIVE streams with at least this many viewers. The others are not billed. Default 0 (keep all). |
| **📺 LIVE rooms** | LIVE links, profile links, share links, room IDs or @usernames to look up. |
| **💬 Get LIVE comments and top gifters** | Adds the latest comments, pinned comment, intro and top gifters of every LIVE. |
| **Max comments per LIVE** | 1 to 50. Default 50. |
| **Include stream URLs** | FLV, HLS and audio-only playback URLs. On by default. |
| **Remove duplicate LIVE streams** | Save each LIVE once, even if several keywords or countries find it. On by default. |
| **Max LIVE streams in total** | Upper limit for the whole run. Empty means no limit. |

#### 📋 Ready-to-use inputs

**Monitor a niche in one market** (schedule it every 15 minutes):

```json
{ "keywords": ["skincare", "makeup", "beauty"], "countries": ["US"], "max_rooms_per_keyword": 50 }
```

**Compare a topic across countries, big LIVE streams only**:

```json
{ "keywords": ["football"], "countries": ["GB", "FR", "ES", "DE", "IT"], "min_viewers": 100 }
```

**Get alerted when your creators go live** (schedule it, then filter on `status` = `live` in a webhook):

```json
{ "rooms": ["@creator_one", "@creator_two", "@creator_three"], "include_stream_urls": false }
```

**Collect the chat of the biggest LIVE streams about a topic**:

```json
{ "keywords": ["football"], "countries": ["GB"], "max_rooms_per_keyword": 10, "include_comments": true }
```

**Read the chat of one LIVE you are watching**:

```json
{ "rooms": ["https://www.tiktok.com/@username/live"], "include_comments": true, "comments_limit": 50 }
```

#### Which LIVE room formats are accepted?

| You paste | Example |
|-----------|---------|
| LIVE link | `https://www.tiktok.com/@username/live` |
| Profile or video link | `https://www.tiktok.com/@username` |
| Share link | `https://m.tiktok.com/share/live/7705498471838665494` |
| Room ID | `7705498471838665494` |
| Username | `@username` or `username` |

Short `vm.tiktok.com` links are not supported: open them in a browser and paste the full link instead.

#### Which countries are supported?

More than 110 countries, including the United States, Canada, Mexico, Brazil, Argentina, Colombia, the United Kingdom, France, Germany, Spain, Italy, the Netherlands, Poland, Turkey, Nigeria, Kenya, South Africa, Indonesia, the Philippines, Vietnam, Thailand, Malaysia, Japan, South Korea and Australia. The full list is in the **Countries** dropdown. Through the API, pass two-letter codes in capitals, for example `"countries": ["FR", "BE"]`.

***

### ❓ FAQ

#### Is it legal to scrape TikTok LIVE?

TikTok LIVE Scraper only collects **publicly available** data: LIVE streams anyone can watch and comments anyone in the LIVE can read. It does not access private accounts, messages, or personal data such as emails or phone numbers. However, results may contain personal data such as usernames and comments. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you are unsure whether your reason is legitimate, consult your lawyers. You can also read the Apify blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### Is there an official TikTok LIVE API?

TikTok does not offer a public API to search LIVE streams or read LIVE comments: its developer APIs are limited to approved partners and researchers. TikTok LIVE Scraper works as a **TikTok LIVE API alternative** that anyone can use, with results in structured JSON through the Apify API.

#### Do I need a TikTok account, cookies or proxies?

No. The scraper handles access for you, including searching from the country you choose.

#### Why do I get fewer LIVE streams than I asked for?

TikTok serves about **50 LIVE streams per keyword** at a given moment, and fewer in smaller countries or for niche keywords. LIVE streams start and stop all the time, so the same search a few minutes later can return different results. To get more, add related keywords or try a broader one.

#### Can I search several countries at once?

Yes. Pick several countries in **Countries** and every keyword is searched in each of them, in the same run. Every item has a `country` field, and a LIVE found in two countries is saved once (keep **Remove duplicate LIVE streams** on).

#### Why does the country only apply to keyword search?

TikTok shows different LIVE streams in each country, so a search depends on where it runs from. A LIVE room you name by link, ID or username is the same everywhere, so it is found wherever it broadcasts.

#### How fresh is the data?

Everything is collected at the moment of the run: `viewers` is the number of people watching when the LIVE was scraped (`scraped_at`). Schedule regular runs to follow how a LIVE or a topic evolves.

#### How many comments can I get from a LIVE?

Up to **50**, the most recent ones. TikTok only keeps the latest ~50 comments of a LIVE available, so earlier comments cannot be retrieved. To follow a LIVE chat over time, schedule runs every few minutes and remove duplicate comments by `id`.

#### How do I get one row per comment?

Export the dataset with the `unwind=comments` option of the [Apify dataset API](https://docs.apify.com/api/v2/dataset-items-get): every comment becomes its own row, with the LIVE's fields next to it.

#### Can I check if a TikTok streamer is live right now?

Yes. Add their `@username` to **LIVE rooms**: `status` is `live` with the current viewers when they are live, or `ended` with `ended_at` for their last LIVE. Schedule the run and use a webhook to get alerted.

#### Who are the top gifters of a LIVE?

With comments on, `top_gifters` lists the viewers TikTok ranks at the top of the LIVE for the gifts they sent, with their `rank` and gift `score`. It is a quick way to find a streamer's biggest supporters.

#### Can I record a TikTok LIVE?

`stream_urls` contains the FLV and HLS playback URLs of each quality, plus an audio-only stream. You can open them with a media player or a recorder such as ffmpeg while the LIVE is on. They stop working when the LIVE ends.

#### What happens if a keyword or a room fails?

The run continues with the other inputs. Failed inputs are listed in the log and in the `FAILED_INPUTS` record of the run's key-value store, and you are not charged for them.

#### Can I scrape TikTok LIVE with Python?

Yes. Use the [Apify Python client](https://docs.apify.com/api/client/python) to start the Actor and read results in a few lines of code. Ready-made snippets are in the [API tab](https://apify.com/invideoiq/tiktok-live-scraper/api).

***

### 🔗 Related Actors

- [TikTok Search Scraper](https://apify.com/invideoiq/tiktok-keyword-search-scraper): search TikTok videos by keyword, with views, likes and date filters.
- [TikTok Profile Scraper](https://apify.com/invideoiq/tiktok-profile-scraper): scrape every video from specific TikTok creators.
- [Video Transcript Scraper](https://apify.com/invideoiq/video-transcript-scraper): get transcripts and metadata from TikTok, YouTube, X and more.
- [Video Transcriber](https://apify.com/invideoiq/video-transcriber): speech-to-text for videos without subtitles.

#### Workflow ideas

- **LIVE → Creator deep dive**: take the `streamer_username` values of the biggest LIVE streams and scrape their videos with TikTok Profile Scraper.
- **LIVE → Topic research**: search the same keywords with TikTok Search Scraper to compare LIVE activity with regular videos.

***

### 💬 Support

Found a bug or need a new field? [Open an issue](https://apify.com/invideoiq/tiktok-live-scraper/issues/open) and we'll get back to you quickly.

Need a custom TikTok LIVE data pipeline or a higher volume plan? Reach out through the Issues tab, we're happy to help.

# Actor input Schema

## `keywords` (type: `array`):

Keywords to search TikTok LIVE for, as you would type them in the TikTok search bar (for example gaming, makeup, football). Each keyword is searched in each country below and returns the LIVE streams broadcasting right now. Minimum 2 characters per keyword. Leave empty if you only want to look up the LIVE rooms below.

## `countries` (type: `array`):

Countries whose LIVE streams you get: TikTok shows different LIVE streams in each country, and each search runs from that country. Pick several to cover or compare markets: every keyword is searched in every country. Applies to keyword search only: LIVE rooms listed by link, ID or username are found wherever they broadcast.

## `max_rooms_per_keyword` (type: `integer`):

Maximum number of LIVE streams to return for each keyword in each country. TikTok serves about 50 LIVE streams per keyword and country at a given moment, often fewer in smaller countries.

## `min_viewers` (type: `integer`):

Only keep LIVE streams with at least this many people watching at the time of the search. LIVE streams under it are skipped and not charged. Applies to keyword search only: the LIVE rooms you list are always returned. 0 keeps every LIVE.

## `rooms` (type: `array`):

LIVE rooms to look up, one per line: a LIVE link (https://www.tiktok.com/@username/live), a profile link, a room share link, a numeric room ID, or a username (@username). A username returns the streamer's current LIVE, or their last one when they are offline (status "ended"). Short vm.tiktok.com links are not supported.

## `include_comments` (type: `boolean`):

Also return the latest comments of each LIVE (up to 50, newest first), the pinned comment, the LIVE intro and the top gifters. Applies to the LIVE rooms you list and to every LIVE stream found by keyword. TikTok keeps only the latest ~50 comments of a LIVE, and an ended LIVE has none. A LIVE with comments is billed at a higher price, see the Pricing section of the README.

## `comments_limit` (type: `integer`):

Maximum number of comments returned per LIVE when comments are on (1 to 50).

## `include_stream_urls` (type: `boolean`):

Return the playback URLs of each LIVE (FLV and HLS by quality, plus an audio-only stream), for example to record a LIVE. They stop working when the LIVE ends.

## `deduplicate` (type: `boolean`):

When a LIVE stream is found by several keywords or in several countries, keep it only once (for the first search that found it) so you never pay twice for the same LIVE. The LIVE rooms you list are always returned.

## `max_total_rooms` (type: `integer`):

Upper limit of LIVE streams saved by the whole run, across all keywords, countries and LIVE rooms. The run stops searching once it is reached. Leave empty for no limit.

## Actor input object example

```json
{
  "keywords": [
    "gaming",
    "makeup tutorial",
    "football"
  ],
  "countries": [
    "US"
  ],
  "max_rooms_per_keyword": 50,
  "min_viewers": 0,
  "rooms": [
    "https://www.tiktok.com/@username/live",
    "7705498471838665494",
    "@username"
  ],
  "include_comments": false,
  "comments_limit": 50,
  "include_stream_urls": true,
  "deduplicate": true
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "gaming"
    ],
    "countries": [
        "US"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("invideoiq/tiktok-live-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": ["gaming"],
    "countries": ["US"],
}

# Run the Actor and wait for it to finish
run = client.actor("invideoiq/tiktok-live-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "gaming"
  ],
  "countries": [
    "US"
  ]
}' |
apify call invideoiq/tiktok-live-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,invideoiq/tiktok-live-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/huU1eAHx7fUogdtZX/builds/9dmFfHB8qvmBygKg5/openapi.json
