# Kwai & Kuaishou Scraper \[$2.50/1K💰] | Video Data (`ahmed_jasarevic/kwai-kuaishou-scraper`) Actor

Scrape public Kwai and Kuaishou videos, creator profiles, hashtags, captions, engagement metrics and hot-board topics. Search by keyword, profile or video URL. $2.50 per 1,000 items.

- **URL**: https://apify.com/ahmed_jasarevic/kwai-kuaishou-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.90 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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

## Kwai & Kuaishou Scraper – Public Videos, Creators & Trends

Collect public **Kwai** and **Kuaishou** videos, creator profiles, hashtags, captions, engagement metrics and hot-board topics in one Actor. Search by keyword, profile, hashtag or video URL, or mix both platforms in a single run. **$2.50 per 1,000 items.**

### One Dataset For Two Short-Video Platforms

Kwai and Kuaishou are among the largest short-video platforms in Latin America and China. This Actor normalizes public videos, profiles and trend topics into one schema so teams can compare creators, track formats and monitor regional trends without building two pipelines.

- **Influencer research** — find creators by keyword and compare followers and engagement.
- **Trend monitoring** — capture Kuaishou’s hot board and expand topics into videos.
- **Content analysis** — collect captions, hashtags, views, likes, comments and shares.
- **Brand and campaign tracking** — monitor hashtags and public creator profiles.
- **Regional social listening** — follow Brazilian Kwai trends and Chinese Kuaishou trends.

### How It Works

![How the Kwai and Kuaishou Scraper works: collect public videos, creator profiles and hot-board topics.](https://api.apify.com/v2/key-value-stores/oeuA0kLOyhbRM4fzt/records/how-it-works-kwai-kuaishou-scraper.webp)

Choose a platform and a mode, or paste mixed links. The Actor classifies each input, collects public cards and profile data, follows available result pages, and writes one dataset item per video, profile or topic.

- **Kwai modes** — trending feed, keyword search, creator discovery, hashtag feed, profile and video details.
- **Kuaishou modes** — hot board and public video details.
- **Mixed URLs** — Kwai and Kuaishou links can share one `startUrls` list.
- **Hot-board expansion** — turn hot-board video IDs into full video records.

### Kwai And Kuaishou Inputs

Use direct links when you already know the target:

- Kwai profiles and videos.
- Kuaishou short-video links and share IDs.
- Mixed lists across both platforms.
- Keyword, creator and hashtag modes for discovery.
- Hot-board mode for current Kuaishou trends.

### Videos, Profiles And Trend Topics

Every item has a `type`: `video`, `profile` or `topic`. Video rows include caption, hashtags, publication time, author, views, likes, comments, shares, media URL, thumbnail, duration and source. Profile rows add followers, following, total likes, video count and bio. Topic rows add rank, heat value, badge, poster and associated video IDs.

Not every platform card exposes every counter. Missing metrics stay `null`.

### Input – Configure A Kwai Or Kuaishou Run

| Field | Type | Default | Notes |
|---|---|---|---|
| `startUrls` | array | — | Mixed Kwai video/profile and Kuaishou video URLs |
| `platform` | string | `kwai` | `kwai` or `kuaishou`; ignored for `startUrls` |
| `mode` | string | `trending` | Kwai: trending, search, creator-search, hashtag, profile, video. Kuaishou: trending, video |
| `keywords` | array | — | Kwai search terms |
| `creatorKeywords` | array | — | Kwai creator-discovery terms |
| `hashtags` | array | — | Kwai hashtags, with or without `#` |
| `profiles` | array | — | Kwai handles or profile URLs |
| `videoUrls` | array | — | Kwai URLs/IDs or Kuaishou share URLs/IDs |
| `maxItems` | integer | `100` | Hard cap across all dataset items |
| `maxItemsPerSource` | integer | `100` | Cap per keyword, hashtag, profile or video source |
| `maxCreatorsPerKeyword` | integer | `40` | Creator rows per discovery keyword |
| `maxPaginationPages` | integer | `20` | Extra result pages for Kwai modes |
| `maxConcurrency` | integer | `4` | Sources processed in parallel |
| `requestDelayMillis` | integer | `250` | Pause between requests |
| `includeVideoDownloadUrl` | boolean | `true` | Add direct MP4 URLs to video rows |
| `includeHotBoardVideos` | boolean | `false` | Expand Kuaishou hot-board topics into videos |
| `maxHotBoardVideos` | integer | `60` | Cap on expanded hot-board videos; `0` disables |
| `includeProfileInfo` | boolean | `true` | Add follower and video counts to creator discovery |
| `includeRelatedVideos` | boolean | `false` | Add related videos for Kwai video URLs |
| `proxyConfiguration` | object | Off | Optional connection settings |

### Output – Normalized Fields

- **Identity** — `type`, `platform`, `id`, `url`, `source`
- **Video** — `caption`, `hashtags`, `createdAt`, `durationSeconds`, `videoUrl`, `thumbnailUrl`
- **Author** — `authorId`, `authorName`, `authorHandle`, `authorUrl`, `authorFollowers`, `authorVerified`
- **Engagement** — `viewCount`, `likeCount`, `commentCount`, `shareCount`
- **Profile** — `followerCount`, `followingCount`, `videoCount`, `bio`, `searchKeyword`
- **Topic** — `title`, `rank`, `hotValue`, `hotValueNumber`, `tagType`, `posterUrl`, `photoIds`, `photoCount`
- **Expanded hot-board video** — `topicId`, `topicTitle`, `topicRank`
- `scrapedAt`

### Example Input – Kwai Keyword Search

```json
{
  "platform": "kwai",
  "mode": "search",
  "keywords": ["futebol", "receita"],
  "maxItems": 200,
  "maxItemsPerSource": 100
}
```

### Example Output – Kuaishou Video

```json
{
  "type": "video",
  "platform": "kuaishou",
  "id": "3xih66uh55zurkm",
  "url": "https://www.kuaishou.com/short-video/3xih66uh55zurkm",
  "caption": "Public video caption",
  "hashtags": ["futebol"],
  "createdAt": "2026-09-07T03:55:58.637Z",
  "authorId": "2701887371",
  "authorName": "Creator name",
  "authorHandle": "creator_handle",
  "authorFollowers": 1891722,
  "authorVerified": true,
  "viewCount": 495613,
  "likeCount": 17074,
  "commentCount": 712,
  "shareCount": 0,
  "videoUrl": "https://example.kwimgs.com/video.mp4",
  "thumbnailUrl": "https://example.kwimgs.com/cover.jpg",
  "durationSeconds": 70.2,
  "source": "video",
  "scrapedAt": "2026-10-31T16:56:05.976Z"
}
```

### Export And Automate

Download JSON, CSV, Excel or HTML from Apify Console, or pull the dataset through the Apify API. Schedule daily trend checks, send new items to Google Sheets, or trigger downstream workflows with Make, Zapier, n8n or webhooks.

### Related Actors

- [TikTok Scraper](https://apify.com/clockworks/tiktok-scraper) — compare short-video trends across platforms
- [Instagram Scraper](https://apify.com/apify/instagram-scraper) — add public Instagram creator data
- [YouTube Scraper](https://apify.com/streamers/youtube-scraper) — collect long-form video and channel data
- [Google Search Scraper](https://apify.com/ahmed_jasarevic/google-search-scraper) — research brand and creator coverage

### FAQ

#### Do I need a Kwai or Kuaishou account?

No. The Actor collects public videos, profiles and hot-board topics without login.

#### Can I mix Kwai and Kuaishou links?

Yes. Put both in `startUrls`; each item is classified automatically. Unsupported profile or discovery links are skipped with a warning.

#### Can it search Kuaishou by keyword?

Kuaishou keyword search and full creator directories are not supported. Supported Kuaishou modes are the hot board and individual public video details.

#### Can it collect Kuaishou creator profiles?

No. Kuaishou profile feeds are outside the supported surface. Kwai profile and creator-discovery modes are supported.

#### Why are some metrics missing?

The platforms do not expose every counter on every card. Missing values are returned as `null`.

#### Why did a Kwai search return fewer results than expected?

Kwai coverage can vary by region or network. Try a local search term when broader results are limited.

#### Can it scrape private profiles or comments?

No. Only public profiles and public video data are supported. Comment rows are not collected.

#### How much does it cost?

Each dataset item costs **$0.0025** ($2.50 per 1,000). Each expanded Kuaishou hot-board video adds **$0.001**, so one expanded video costs **$0.0035** total.

### For AI Agents & LLM Apps

Returns normalized public videos, creator profiles and Kuaishou hot-board topics from two platforms in one dataset.

Minimal working input:

```json
{ "platform": "kwai", "mode": "search", "keywords": ["futebol"], "maxItems": 20 }
```

Output fields: `type, platform, id, url, title, rank, hotValue, hotValueNumber, tagType, posterUrl, photoIds, photoCount, topicId, topicTitle, topicRank, caption, hashtags, createdAt, authorId, authorName, authorHandle, authorUrl, authorFollowers, authorVerified, viewCount, likeCount, commentCount, shareCount, videoUrl, thumbnailUrl, durationSeconds, source, sourceValue, searchKeyword, followerCount, followingCount, videoCount, bio, scrapedAt`.

Behaviors an agent should know:

- `type` is `video`, `profile` or `topic`; filter on it before processing.
- `startUrls` overrides `platform` and `mode` and accepts mixed links.
- `includeHotBoardVideos` adds video rows with `source: "hot-board"` plus topic context.
- Missing platform counters stay `null`.
- Kuaishou keyword search and creator profiles are not supported.
- Free users get a 10-item preview.

Billing: **$0.0025 per dataset item** ($2.50 per 1,000), plus **$0.001 per expanded hot-board video**, plus a small Actor Start event.

### Legal & Compliance Disclaimer

This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by Kwai or Kuaishou.

It collects publicly available video, profile and trend data — no login and no private account. Public metrics can change and may be incomplete. Users are responsible for complying with platform terms, copyright, privacy and advertising law. Do not use the data for harassment, surveillance or unauthorized profiling. Nothing here is legal advice.

### SEO Keywords

kwai scraper, kuaishou scraper, kwai videos, kuaishou videos, kwai profiles, kuaishou hot board, kuaishou trends, short video data, video scraper, creator data, influencer research, social media data, kwai api, kuaishou api, video metadata, engagement metrics, brazil social media, china social media

# Actor input Schema

## `platform` (type: `string`):

Choose Kwai (kwai.com) or Kuaishou (kuaishou.com). Ignored for items in Mixed start URLs. Kuaishou supports the hot board and individual video details.

## `startUrls` (type: `array`):

Optional. Mix Kwai video/profile URLs and Kuaishou video URLs/share IDs in one run. When filled, platform and mode are inferred per item and the mode-specific lists below are ignored. Kwai profiles must be a profile URL or start with @.

## `mode` (type: `string`):

Kwai: trending, search, creator-search, hashtag, profile or video. Kuaishou: trending (hot board) or video (individual public video details). Ignored when Mixed start URLs is filled. Invalid values return a warning and an empty successful run.

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

Kwai only. Keywords used when mode is search. Each keyword is processed separately.

## `creatorKeywords` (type: `array`):

Kwai only. Used when mode is creator-search. Finds public creators behind matching videos and fetches their profile details when Include profile info is enabled.

## `hashtags` (type: `array`):

Kwai only. Hashtags used when mode is hashtag. You can enter them with or without the # sign.

## `profiles` (type: `array`):

Kwai only. Creator handles or profile URLs used when mode is profile. Examples: @cineverso678, https://www.kwai.com/@cineverso678

## `videoUrls` (type: `array`):

Video URLs or IDs used when mode is video. Kwai examples: https://www.kwai.com/@user/video/123, https://www.kwai.com/video/123, plain numeric IDs. Kuaishou examples: https://www.kuaishou.com/short-video/3xih66uh55zurkm, https://m.kuaishou.com/fw/photo/3xih66uh55zurkm, plain share IDs.

## `maxItems` (type: `integer`):

Hard cap on the total number of dataset items. A profile, hot-board topic or expanded hot-board video counts as one item.

## `maxItemsPerSource` (type: `integer`):

Cap for each keyword, hashtag, profile, creator keyword or video input. Kuaishou hot board returns up to 50 topics.

## `maxCreatorsPerKeyword` (type: `integer`):

Kwai creator discovery only. Upper bound on creator profile rows produced by one keyword.

## `maxPaginationPages` (type: `integer`):

Kwai only. Maximum extra API pages fetched for each source after the initial page. Creator discovery uses one search page. Kuaishou returns its hot board in one request.

## `maxConcurrency` (type: `integer`):

Number of sources processed in parallel. Keep this low to avoid rate limits.

## `requestDelayMillis` (type: `integer`):

Polite delay between internal API pagination calls.

## `includeVideoDownloadUrl` (type: `boolean`):

Include the direct MP4 URL in each video item when available.

## `includeProfileInfo` (type: `boolean`):

Kwai only. For profile mode, add one profile item before the videos. For creator discovery, fetch full public profile stats instead of lightweight creator rows.

## `includeRelatedVideos` (type: `boolean`):

Kwai only. When scraping a video, also add the related videos shown on the page.

## `includeHotBoardVideos` (type: `boolean`):

Kuaishou only. Also fetch full public video details for videos linked to hot-board topics. Expanded videos count toward Max items. Every dataset item has a standard per-result charge; each expanded hot-board video triggers an additional pay-per-event charge.

## `maxHotBoardVideos` (type: `integer`):

Kuaishou only. Upper bound on hot-board videos fetched across all topics. Set 0 or disable Expand Kuaishou hot-board videos to skip.

## `proxyConfiguration` (type: `object`):

Optional. For Kwai, a Brazil proxy gives the most representative feed. Kuaishou video details work without a proxy; use a China or residential proxy if the hot board is rate-limited from your region.

## Actor input object example

```json
{
  "platform": "kwai",
  "startUrls": [],
  "mode": "trending",
  "keywords": [
    "futebol",
    "receita"
  ],
  "creatorKeywords": [
    "futebol"
  ],
  "hashtags": [
    "brasil",
    "fyp"
  ],
  "profiles": [
    "@cineverso678"
  ],
  "videoUrls": [
    "https://www.kwai.com/@cineverso678/video/5207718657171197158"
  ],
  "maxItems": 100,
  "maxItemsPerSource": 100,
  "maxCreatorsPerKeyword": 40,
  "maxPaginationPages": 20,
  "maxConcurrency": 4,
  "requestDelayMillis": 250,
  "includeVideoDownloadUrl": true,
  "includeProfileInfo": true,
  "includeRelatedVideos": false,
  "includeHotBoardVideos": false,
  "maxHotBoardVideos": 60,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Videos, creator profiles, creator discovery rows and Kuaishou hot-board topics in one dataset.

## `overview` (type: `string`):

Videos with platform, engagement metrics, author details, hot-topic context and playable URLs.

## `trending` (type: `string`):

Kuaishou hot-board topics with rank, heat, poster and associated video IDs.

## `profiles` (type: `string`):

Creator profiles with follower, following, like and video counts, including keyword-based creator discovery.

# 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 = {
    "startUrls": [],
    "keywords": [
        "futebol",
        "receita"
    ],
    "creatorKeywords": [
        "futebol"
    ],
    "hashtags": [
        "brasil",
        "fyp"
    ],
    "profiles": [
        "@cineverso678"
    ],
    "videoUrls": [
        "https://www.kwai.com/@cineverso678/video/5207718657171197158"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/kwai-kuaishou-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 = {
    "startUrls": [],
    "keywords": [
        "futebol",
        "receita",
    ],
    "creatorKeywords": ["futebol"],
    "hashtags": [
        "brasil",
        "fyp",
    ],
    "profiles": ["@cineverso678"],
    "videoUrls": ["https://www.kwai.com/@cineverso678/video/5207718657171197158"],
}

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/kwai-kuaishou-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 '{
  "startUrls": [],
  "keywords": [
    "futebol",
    "receita"
  ],
  "creatorKeywords": [
    "futebol"
  ],
  "hashtags": [
    "brasil",
    "fyp"
  ],
  "profiles": [
    "@cineverso678"
  ],
  "videoUrls": [
    "https://www.kwai.com/@cineverso678/video/5207718657171197158"
  ]
}' |
apify call ahmed_jasarevic/kwai-kuaishou-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/kwai-kuaishou-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/PdVsOzlZMOt4R19BO/builds/reZsdcaltbNlP8i2K/openapi.json
