# Kuku TV & Kuku FM Episode Comments Scraper API (`spider_studio/kuku-tv-episode-comments`) Actor

Scrape Kuku TV (Kuku FM) episode comments by ID: text, timestamps, likes, listener profiles, and moderation rules. Export via API or Dataset.

- **URL**: https://apify.com/spider_studio/kuku-tv-episode-comments.md
- **Developed by:** [Tarique](https://apify.com/spider_studio) (community)
- **Categories:** Automation, Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 successful comments

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### Kuku TV and Kuku FM episode comments scraper API

**Kuku TV & Kuku FM Episode Comments Scraper API** is a **Kuku FM comment scraper** for [Kuku FM](https://kukufm.com/) audio series and short-drama reels. Submit up to 1,000 episode IDs and receive the public comments behind each episode, including comment text, timestamps, like and reply counts, listener profiles, and the episode moderation context.

It works as a Kuku TV API alternative for audience research, sentiment analysis, and moderation monitoring. No Kuku FM account, login, or app installation is required.

### Why use this Kuku TV comment scraper?

- Collect up to 1,000 episodes of comments in one run, one Dataset item per comment.
- Capture author IDs and public profile fields for listener-level analysis.
- Collect like counts, reply counts, and ambassador flags for ranking and moderation work.
- Receive the moderation context the API returns: community rules, quick replies, and report reasons.
- Export results to JSON, CSV, Excel, XML, or HTML.
- Integrate with the Apify API, schedules, webhooks, Make, n8n, or cloud storage.

Typical use cases include **Kuku FM comment analysis**, audience sentiment research, short-drama audience insights, brand-ambassador detection, and building labeled comment datasets for language models.

### What Kuku TV episode comment data can the API extract?

| Field | Type | Description |
| --- | --- | --- |
| `episodeId` | integer or null | Episode the comment belongs to. |
| `success` | boolean | Whether the row is a successfully retrieved comment. |
| `position` | integer or null | One-based position of the comment in the response. |
| `commentId` | integer or null | Kuku TV comment ID. |
| `text` | string or null | Comment text. |
| `type` | string or null | Comment type, such as `text`. |
| `publishedAt` | string or null | Comment timestamp. |
| `replyCount` | integer or null | Number of replies. |
| `likeCount` | integer or null | Number of likes. |
| `isBrandAmbassador` | boolean or null | Whether the author is a brand ambassador. |
| `isLiked` | boolean or null | Whether the requesting audience liked the comment. |
| `isReported` | boolean or null | Whether the comment is reported. |
| `isSelf` | boolean or null | Whether the comment belongs to the requesting audience. |
| `authorId` | integer or null | Public listener ID. |
| `authorName` | string or null | Public listener display name. |
| `authorUuid` | string or null | Public listener UUID. |
| `authorIsAnonymous` | boolean or null | Whether the listener listens anonymously. |
| `authorHasPremium` | boolean or null | Whether the listener has premium. |
| `authorGender` | string or null | Gender the listener published, when set. |
| `authorIsSuspended` | boolean or null | Whether the listener account is suspended. |
| `authorAvatarUrl` | string or null | Listener avatar URL. |
| `episodeCommentCount` | integer or null | Number of comments returned for this episode. |
| `hasMoreComments` | boolean or null | Whether the API signalled additional comments beyond the returned set. |
| `communityRules` | object or null | Moderation rules the API returns with the comment list. |
| `quickReplies` | array | Suggested quick replies and pre-written comments. |
| `reportReasons` | array | Report reasons the Kuku FM apps offer. |
| `data` | object or null | Complete raw comment exactly as the API returned it. |
| `error` | string or null | Error message for a failed episode ID. |

### How to scrape Kuku TV episode comments by episode ID

1. Open the Actor's **Input** tab.
2. Add one or more numeric episode IDs to `episodeIds`.
3. Click **Start**.
4. Open the Dataset to inspect, filter, download, or integrate the results.

### How much does Kuku TV comment scraping cost?

FREE-tier users pay **$4 per 1,000 successful comments** ($0.004 per comment). Users on BRONZE, SILVER, GOLD, PLATINUM, and DIAMOND tiers pay **$3 per 1,000** ($0.003 per comment). Only real comments that are successfully written as individual Dataset items are charged. Diagnostic rows with `success: false` are not charged, and episodes that currently have no comments produce no rows and cost nothing.

There is no monthly result cap. Paid Apify platform usage for the run — compute and proxy bandwidth — is billed separately by Apify.

### Input

See the **Input** tab for all options. `episodeIds` accepts up to 1,000 numeric IDs. Duplicates are ignored while their first-seen order is preserved.

```json
{
  "episodeIds": ["1643769", "1685164"]
}
```

### Output

You can download the Dataset in formats such as JSON, HTML, CSV, or Excel.

```json
{
  "episodeId": 1643769,
  "success": true,
  "position": 1,
  "commentId": 1842573,
  "text": "this is sooooooooooooo goojokooood😮😮❤️😍😮",
  "type": "text",
  "publishedAt": "2026-10-11T03:15:49.535008+00:00",
  "replyCount": 0,
  "likeCount": 0,
  "isBrandAmbassador": false,
  "authorId": 403672866,
  "authorName": "History_Maestro780r",
  "authorIsAnonymous": true,
  "authorHasPremium": false,
  "episodeCommentCount": 10,
  "hasMoreComments": true,
  "quickReplies": ["Good Story", "Brilliant story👍", "Interesting", "Loved it"],
  "reportReasons": ["Inappropriate content", "Spam", "Hate speech", "Harassment"],
  "error": null
}
```

### Kuku TV comment scraping use cases

- Measure audience sentiment for a show, a season, or a single episode.
- Track which episodes attract the most discussion over time.
- Detect brand-ambassador activity and coordinated commenting.
- Build multilingual comment corpora in English, Hindi, Telugu, and Tamil.
- Feed comment data into dashboards, databases, or AI analysis tools.

### Related Kuku TV Actors

| Actor | Purpose |
| --- | --- |
| [Kuku TV & Kuku FM Show Search Scraper API](https://apify.com/spider_studio/kuku-tv-search) | Discover shows and `showId` values by keyword, genre, or trope. |
| [Kuku TV & Kuku FM Show Details & Episodes API](https://apify.com/spider_studio/kuku-tv-series-detail) | Resolve a `showId` into full show metadata, genres, tropes, cast, and crew. |
| [Kuku TV & Kuku FM Episode Details & Video URL API](https://apify.com/spider_studio/kuku-tv-episode-detail) | Resolve a single `episodeId` into episode metadata, durations, prices, and engagement counts. |
| [Kuku TV & Kuku FM Episode Video Downloader API](https://apify.com/spider_studio/kuku-tv-episode-download-kvs) | Download each episode and store a playable MP4 plus a metadata sidecar in the run's Apify Key-value store. |

Also from the same publisher: [Hongguo short-drama Actors](https://apify.com/spider_studio/hongguo-search) for the Hongguo Duanju catalog.

### Frequently asked questions

#### Do I need a Kuku TV or Kuku FM account?

No. The comment endpoint used by this Actor is public, so no login, token, or app installation is required.

#### How many comments does one episode return?

The API returns up to 10 comments per episode in a single response and does not expose a working pagination parameter. When the API signals additional comments, `hasMoreComments` is `true` and `episodeCommentCount` reports how many rows this run returned.

#### Why did an episode produce no rows?

Episodes that currently have no comments return an empty list. The Actor logs the count and reports it in the run status message, and those episodes cost nothing.

#### Does this Actor collect private user data?

No. It only stores the public listener fields the Kuku FM comment endpoint returns to any unauthenticated client: display name, public ID, UUID, avatar, premium and suspension flags.

#### Can I monitor new comments on a schedule?

Yes. Run the Actor on an Apify schedule and store `commentId` values to detect new comments between runs.

### Legal use and support

Use the Actor lawfully and respect Kuku FM's terms, copyright, rate limits, privacy rules, and applicable law. It is intended for public catalog information and does not access private user accounts. Handle comment data in line with applicable privacy law.

Use the **Issues** tab for support and the **API** tab for generated integration examples.

# Actor input Schema

## `episodeIds` (type: `array`):

Numeric Kuku TV episode IDs whose comments should be collected. Episodes that currently have no comments produce no Dataset rows and are not charged. Duplicates are ignored while order is preserved.

## Actor input object example

```json
{
  "episodeIds": [
    "1643769",
    "1685164"
  ]
}
```

# Actor output Schema

## `dataset` (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 = {
    "episodeIds": [
        "1643769",
        "1685164"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("spider_studio/kuku-tv-episode-comments").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 = { "episodeIds": [
        "1643769",
        "1685164",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("spider_studio/kuku-tv-episode-comments").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 '{
  "episodeIds": [
    "1643769",
    "1685164"
  ]
}' |
apify call spider_studio/kuku-tv-episode-comments --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,spider_studio/kuku-tv-episode-comments"
        }
    }
}
```

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/FBZusFyFEBN3vRjDW/builds/7cMdOX6HbaTd6grx3/openapi.json
