# Kwai Video Scraper | Vídeos do Kwai Brasil (`themineworks/kwai-video-scraper`) Actor

Scrape public Kwai videos (Vídeos do Kwai) by keyword, hashtag, creator profile or link: caption, hashtags, views, likes, comments, shares, duration, post date, cover and MP4 links, creator and follower counts. No login. Pay per video.

- **URL**: https://apify.com/themineworks/kwai-video-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Social media, Videos, MCP servers
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 kwai videos

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 Video Scraper | Vídeos do Kwai Brasil

[![19 Kwai videos in 13 seconds from a search, a hashtag, a creator and a share link](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/kwai-video-scraper-hero.png)](https://console.apify.com/actors/HEELehEIJqDelYDhU/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with more than 140,000 runs across our actors.

### Why choose this actor?

- **Four ways in, one run.** Keywords, hashtags, creator profiles and video links (including the `k.kwai.com/p/...` share links people copy from the app) all go in the same input. Our proof run read one of each and returned **19 videos in 13 seconds**, with no refused request.
- **Hashtag results that really carry the hashtag.** Kwai's search for `#receita` also returns videos without the tag. The actor drops those before they are saved, so you never pay for them: in the proof run, 2 of the first 8 results for `#receita` lacked the tag and were dropped unbilled.
- **Scheduled runs that bill only new videos.** Turn on `onlyNewVideos` and each run skips every video this input list delivered before, so a daily creator or hashtag watch costs you only what is new. No Kwai account, no cookies, no proxy setup.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/HEELehEIJqDelYDhU/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Social media and video family:** [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Instagram Followers & Following](https://apify.com/themineworks/instagram-followers-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Reddit Search Scraper](https://apify.com/themineworks/reddit-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the JSON tab of the input page. It returns about 10 public videos for the keyword, usually in under 15 seconds.

```json
{
  "searchTerms": ["futebol"],
  "maxVideosPerInput": 10
}
```

You can give the actor four kinds of input, in any mix: `searchTerms` (keywords, typed as you would type them in Kwai's search box), `hashtags` (with or without the `#`), `profiles` (a `https://www.kwai.com/@handle` link, an `@handle` or a bare handle) and `videoUrls` (a `www.kwai.com` video link, a `k.kwai.com/p/...` share link or a numeric video id). Everything else is optional.

Apify's free plan includes $5 of credit every month, which covers about 2,400 videos at this actor's Free tier price, counted for runs of 100 videos with the $0.005 start fee.

#### Copy to your AI assistant

```
themineworks/kwai-video-scraper on Apify. Scrapes public Kwai (Kuaishou's international app, big in Brazil) short videos by keyword search, hashtag, creator profile or video link, with no login, and returns one row per video with caption, hashtags, post date, duration, views, likes, comments, shares, cover and MP4 links, and the creator's handle, name, bio and (for profiles, or with includeCreatorStats) followers, total likes and video count. Call ApifyClient("TOKEN").actor("themineworks/kwai-video-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: at least one of searchTerms, hashtags, profiles, videoUrls (arrays of strings). Optional: maxVideosPerInput (default 50, max 5000), postedWithinDays (no default), onlyCaptionMatches (default false), includeCreatorStats (default false), onlyNewVideos (default false). Skip rows with _type "info"; the run summary is the key-value store record OUTPUT. Full spec: GET https://api.apify.com/v2/acts/themineworks~kwai-video-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **31 fields per video**: `video_id`, `url`, `caption`, `hashtags`, `posted_at`, `duration_sec`, `views`, `likes`, `comments`, `shares`, `width`, `height`, `cover_url`, `video_url` (direct MP4), sound name and author, Kwai's AI generated label, and 10 creator fields from handle to follower count.
- **Deep keyword search**: Kwai answers up to 50 videos per search call, and every call adds fresh ones. In a test on 1 October 2026 the keyword `receitas` gave **1,555 different videos in 40 calls**, and the 40th call still added 33 new ones. One input can ask for up to 5,000.
- **Whole creator profiles**: 50 videos a page, newest first, back to the creator's first video, with the creator's followers, total likes and public video count on every row.
- **Filters that are never billed**: a date window (`postedWithinDays`), an exact caption match for keywords (`onlyCaptionMatches`), the hashtag check, and duplicates across inputs are all removed before anything is saved or charged.
- **Monitor mode**: `onlyNewVideos` remembers the latest 50,000 videos an input list delivered and returns only new ones on the next run.
- **Plain HTTP, 256 MB**: the actor posts to the same JSON endpoints Kwai's own web pages use, through Apify's datacenter proxy. No browser, so runs start fast and stay cheap.

### How to use it

#### Basic: one keyword

```json
{
  "searchTerms": ["receitas faceis"],
  "maxVideosPerInput": 100
}
```

#### Several inputs at once

Every list takes as many lines as you like (up to 200 inputs in all). Each input gets its own `maxVideosPerInput`, and a video found by two inputs is delivered and charged once.

```json
{
  "searchTerms": ["futebol", "humor"],
  "hashtags": ["receita"],
  "profiles": ["https://www.kwai.com/@topfilmeseseriesnatv"],
  "videoUrls": ["https://k.kwai.com/p/CCzy11ul"],
  "maxVideosPerInput": 50
}
```

#### Influencer discovery in a niche

Search the niche, keep only videos that use your words, and add each creator's follower count, total likes and video count to every row. Sort by `author_followers` to get a shortlist.

```json
{
  "searchTerms": ["maquiagem", "skincare"],
  "onlyCaptionMatches": true,
  "includeCreatorStats": true,
  "maxVideosPerInput": 300
}
```

#### Daily creator or competitor watch

Read a list of creators every morning and get only the videos they posted since the last run. Schedule it daily in Apify (Console, this actor, Schedules).

```json
{
  "profiles": ["@topfilmeseseriesnatv", "@maisquefutebol"],
  "postedWithinDays": 7,
  "onlyNewVideos": true,
  "maxVideosPerInput": 100
}
```

#### Hashtag campaign tracking

Follow a campaign hashtag and collect only videos that carry it, with their views, likes and shares. Run it daily with `onlyNewVideos` to build a time series without paying twice for a video.

```json
{
  "hashtags": ["BomPraKwai"],
  "onlyNewVideos": true,
  "maxVideosPerInput": 500
}
```

#### Stats for a list of videos

Paste video links or share links from the app to get their current views, likes, comments and shares. Run it again later to see how they grew.

```json
{
  "videoUrls": [
    "https://www.kwai.com/@topfilmeseseriesnatv/video/5229392230127676038",
    "https://k.kwai.com/p/CCzy11ul"
  ]
}
```

### Input parameters

| Parameter | Type | Default | What it does |
| --- | --- | --- | --- |
| `searchTerms` | array of strings | none | Keywords, one per line, run through Kwai's own search. A term that starts with `#` is run as a hashtag. |
| `hashtags` | array of strings | none | Hashtags, with or without `#`. Only videos whose caption carries the hashtag are returned and charged. |
| `profiles` | array of strings | none | Creators: `https://www.kwai.com/@handle`, `@handle` or a bare handle. Their public videos, newest first, with creator stats on every row. |
| `videoUrls` | array of strings | none | Single videos: a `www.kwai.com` video link, a `k.kwai.com/p/...` share link or a numeric video id. |
| `maxVideosPerInput` | integer | 50 | Most videos per search term, hashtag or profile (1 to 5,000). |
| `postedWithinDays` | integer | none | Only videos posted in the last N days (1 to 3,650). A profile stops being read once its videos get older. Videos given by link are always returned. |
| `onlyCaptionMatches` | boolean | false | For search terms: keep only videos whose caption contains every word of the term (accents and case ignored). |
| `includeCreatorStats` | boolean | false | For search and hashtag rows: add the creator's followers, total likes and video count (one small lookup per creator). Profile rows always have them. |
| `onlyNewVideos` | boolean | false | Return and charge only videos this input list did not deliver in an earlier run (remembers the latest 50,000). |

At least one of the four input lists must have a line in it.

### What data do you get?

One row per video. Fields that Kwai leaves empty for a video are left out of that row rather than filled with `null`.

**The video**: `video_id` (19 digits, kept as text so it stays exact), `url`, `caption` (missing when the video has no caption; Kwai shows "..." for those), `hashtags` (from the caption, without `#`), `posted_at` (ISO 8601, UTC), `duration_sec`, `width`, `height`, `cover_url`, `video_url` (a direct MP4 link that carries a time token, so download it soon), `music_name` and `music_artist` (when Kwai names the sound) and `ai_generated` (Kwai's own label, when present).

**Engagement**: `views`, `likes`, `comments`, `shares`, as Kwai shows them at the moment of the run.

**The creator**: `author_username` (the handle after `@`), `author_name`, `author_id`, `author_url`, `author_avatar_url`, `author_bio`, `author_verified`. Profile rows, and search or hashtag rows with `includeCreatorStats` on, also have `author_followers`, `author_total_likes` (likes on all their videos) and `author_video_count`.

**Where it came from**: `source_type` (`search`, `hashtag`, `profile` or `video`), `source_input` (your line, as typed), `rank` (the order Kwai returned it in for that input) and `scraped_at`.

Each run also writes a summary to the key-value store record `OUTPUT`: the status of every input (`ok`, `no_results`, `not_found`, `blocked` and so on), why it stopped, how many calls were made and answered, how many videos were dropped by each filter, the robots.txt check and what was charged. A last dataset row with `_type: "info"` says how many videos were delivered; it is never charged.

#### Stable fields for automations

These fields were present in every row of our proof run and are filled for every video Kwai returns:

| Field | What it holds |
| --- | --- |
| `video_id` | Kwai's video id, as text |
| `url` | Link to the video on www.kwai.com |
| `posted_at` | Post time, ISO 8601 UTC |
| `duration_sec` | Length in seconds |
| `views` | View count |
| `likes` | Like count |
| `comments` | Comment count |
| `shares` | Share count |
| `cover_url` | Cover image link |
| `video_url` | Direct MP4 link (time limited) |
| `author_username` | Creator handle |
| `author_url` | Creator profile link |
| `source_type` | search, hashtag, profile or video |
| `source_input` | The input line that found it |
| `scraped_at` | When the row was read |

These names will not change. New fields may be added, never renamed or removed.

#### Output examples

Real rows from our proof run on 1 October 2026, trimmed for length (the image links are shortened with `...`).

A keyword search (`futebol`) with creator stats on:

```json
{
  "video_id": "5258102673673222339",
  "url": "https://www.kwai.com/@futebolnaveia372/video/5258102673673222339",
  "caption": "Quem é melhor? #sportsfamilia #familia #esporteviral #kwai",
  "hashtags": ["sportsfamilia", "familia", "esporteviral", "kwai"],
  "posted_at": "2025-02-28T10:21:10.486Z",
  "duration_sec": 32.1,
  "views": 109562,
  "likes": 6961,
  "comments": 189,
  "shares": 285,
  "width": 720,
  "height": 1280,
  "cover_url": "https://aws-br-pic.kwai.net/upic/2025/02/28/18/...webp",
  "video_url": "https://aws-br-cdn.kwai.net/upic/2025/02/28/18/...mp4?tag=...",
  "ai_generated": false,
  "author_username": "futebolnaveia372",
  "author_name": "Futebol na veia⚽️⚽️",
  "author_id": "3x7nwmqxt8stx7u",
  "author_url": "https://www.kwai.com/@futebolnaveia372",
  "author_bio": "Os melhores  conteúdos de futebol, lances, memes, motivação. ⚽️🔥",
  "author_verified": false,
  "author_followers": 1435708,
  "author_total_likes": 37140857,
  "author_video_count": 28492,
  "source_type": "search",
  "source_input": "futebol",
  "rank": 1,
  "scraped_at": "2026-10-01T07:56:15.605Z"
}
```

A creator profile (`https://www.kwai.com/@topfilmeseseriesnatv`); this video has no caption:

```json
{
  "video_id": "5237555003107180450",
  "url": "https://www.kwai.com/@topfilmeseseriesnatv/video/5237555003107180450",
  "hashtags": [],
  "posted_at": "2026-09-21T21:36:29.168Z",
  "duration_sec": 48.6,
  "views": 287,
  "likes": 20,
  "comments": 0,
  "shares": 3,
  "music_artist": "Topseriesfilmetv",
  "author_username": "topfilmeseseriesnatv",
  "author_name": "Topseriesfilmetv",
  "author_id": "3x9mhse7ekkvfa9",
  "author_bio": "aqui você encontra as melhores cenas de novela",
  "author_followers": 386297,
  "author_total_likes": 8352116,
  "author_video_count": 4554,
  "source_type": "profile",
  "source_input": "https://www.kwai.com/@topfilmeseseriesnatv",
  "rank": 1,
  "scraped_at": "2026-10-01T07:56:10.692Z"
}
```

A hashtag (`#receita`); only videos whose caption carries the tag are kept:

```json
{
  "video_id": "5248814000423905368",
  "url": "https://www.kwai.com/@ecodadescrituras910/video/5248814000423905368",
  "caption": "A receitinha do feijão delícia que vocês tanto pediram 🫘 Um prato simples, mas cheio de sabor e amor! @jeportela #receita #fy #fyp #viral",
  "hashtags": ["receita", "fy", "fyp", "viral"],
  "posted_at": "2025-07-08T00:51:44.299Z",
  "duration_sec": 25.8,
  "views": 653,
  "likes": 20,
  "comments": 2,
  "shares": 5,
  "author_username": "ecodadescrituras910",
  "author_name": "Delícia da Vó 👵",
  "author_followers": 143,
  "author_video_count": 41,
  "source_type": "hashtag",
  "source_input": "#receita",
  "rank": 1
}
```

A share link copied from the app (`https://k.kwai.com/p/CCzy11ul`), resolved to its video:

```json
{
  "video_id": "5230799599083390134",
  "url": "https://www.kwai.com/@User_171764859u76471/video/5230799599083390134",
  "posted_at": "2024-08-11T01:41:27.075Z",
  "duration_sec": 80.5,
  "views": 58,
  "likes": 1,
  "comments": 0,
  "shares": 0,
  "author_username": "User_171764859u76471",
  "author_name": "TeleKwai Brasil",
  "author_bio": "Aqui geral brilha 🧡\n\n#BomPraKwai",
  "author_followers": 44472,
  "author_total_likes": 138831,
  "author_video_count": 1562,
  "source_type": "video",
  "source_input": "https://k.kwai.com/p/CCzy11ul",
  "rank": 1
}
```

### Pricing

Pay per event: you pay for each video delivered to your dataset, plus a flat $0.005 per run whatever memory you choose.

| Event | Free plan | Starter (Bronze) | Scale (Silver) | Business (Gold) and above |
| --- | --- | --- | --- | --- |
| Video delivered (`video-scraped`), per video | $0.002 | $0.00185 | $0.0017 | $0.0015 |
| Run start (`run-start`), once per run | $0.005 | $0.005 | $0.005 | $0.005 |

So 1,000 videos cost 1,000 times the per video price of your plan, plus $0.005 for the run. Creator stats, the hashtag check, the filters, share link resolving and the proxy are included.

**Never charged**: a video already delivered earlier in the same run (one video found by two inputs), a video delivered in an earlier run when `onlyNewVideos` is on, hashtag results without the hashtag, videos dropped by `onlyCaptionMatches` or `postedWithinDays`, removed or private videos, creators that do not exist, refused calls, and the `_type: "info"` row. You can also cap a run's spend with Apify's "Max cost per run" setting; the actor stops cleanly when the cap is reached.

### FAQ

#### What is Kwai, and is it the same as Kuaishou?

Kwai is the international short video app of Kuaishou, the Chinese company behind 快手. Kwai is huge in Brazil and the rest of Latin America; the Chinese 快手 app is a separate platform with separate content. This actor reads www.kwai.com, the international Kwai.

#### How many videos can I get?

Up to 5,000 per input. A keyword search keeps asking Kwai for more until new videos stop coming: in our test the keyword `receitas` gave 1,555 different videos in 40 calls of 50, and the 40th call still added 33 new ones. A creator profile can be read back to its first video. A search ends early when two calls in a row add fewer than 5 new videos, or when three calls in a row have nothing that passes your filters.

#### Why do two runs of the same keyword give different videos?

Kwai's search returns a fresh slice of its results on every call, much like the app does when you scroll, so two runs overlap only partly. If you want to build up a full collection over time, schedule the run with `onlyNewVideos` on: each run then adds only videos you do not have yet.

#### How fresh is the data, and how long do the video links work?

Everything is read live during the run, so views, likes, comments and shares are the numbers Kwai shows at that moment. The `video_url` MP4 link carries a time token from Kwai's CDN and stops working after a while; download the files soon after the run, or run again for fresh links. `cover_url` links last longer.

#### Do I need a Kwai account, cookies or a proxy?

No. The actor reads only what Kwai shows any logged out visitor, with no account, no cookies to export and no API key. It uses Apify's datacenter proxy by default, so there is no proxy setting to get right.

#### Which countries and languages work?

Kwai's content is public worldwide, so any creator, video or hashtag works wherever it was posted. Most of Kwai's videos come from Brazil, and Portuguese keywords returned the most results in our tests. Type keywords the way people write them in the app; accents are fine.

#### Why did I get fewer videos than I asked for?

The usual reasons, all shown per input in the `OUTPUT` summary: Kwai's search stopped adding new videos; a hashtag search returned videos without the hashtag (dropped, not charged); `postedWithinDays` is short (Kwai's search ranks videos of every age, so most results of a big keyword can be months old); `onlyCaptionMatches` removed videos that do not use your words; `onlyNewVideos` skipped videos you already have; or the creator simply has fewer public videos.

#### What happens with a removed video, a private account or a wrong handle?

Nothing is charged. A removed or private video is reported as `not_found` in the `OUTPUT` summary (Kwai answers a different, recommended video in its place, and the actor checks the id so it never hands you the wrong one). A handle that does not exist is reported as `not_found` too. If nothing at all was delivered, the dataset gets one `_type: "info"` row that says why.

#### Can I get the comments of a video?

Not in this actor. It returns the comment count of each video, not the comments themselves.

#### Can I run it on a schedule to monitor creators or hashtags?

Yes. Save your input, then in Apify Console open this actor, go to Schedules and add one (daily is common). Turn on `onlyNewVideos` so each run returns and charges only videos you have not received before, and add `postedWithinDays` for creator lists so each run reads only recent pages.

#### Can I use it from Claude, ChatGPT or another AI assistant?

Yes. Any assistant connected to Apify's MCP server can call `themineworks/kwai-video-scraper`; paste the "Copy to your AI assistant" block above into the chat and ask for what you need, for example "the 50 most recent videos of @topfilmeseseriesnatv with their views".

#### Do you have scrapers for other short video apps?

Yes: [TikTok Hashtag & Search Scraper](https://apify.com/themineworks/tiktok-hashtag-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [TikTok Creator Scraper](https://apify.com/themineworks/tiktok-creator-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Instagram Reels Views Scraper](https://apify.com/themineworks/instagram-reels-views-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [YouTube Shorts Views Scraper](https://apify.com/themineworks/youtube-shorts-views-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Bilibili Scraper](https://apify.com/themineworks/bilibili-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [Douyin Trending Scraper](https://apify.com/themineworks/douyin-trending-hashtag-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

#### Is it legal to scrape Kwai?

The actor collects only public data: videos, captions, public counts and public creator profiles, with no login and nothing behind an account wall. It reads Kwai's robots.txt at the start of every run and checks every address against it; on 1 October 2026 the file had no rule for general crawlers. How you use the data is your responsibility: follow Kwai's terms and the data protection laws that apply to you, such as LGPD in Brazil, GDPR in Europe and CCPA in California, because creator names, handles and bios are personal data.

### Integrations

- **Google Sheets, Excel, CSV, JSON**: export the dataset from the run page, or link a Google Sheet with Apify's Google Sheets integration.
- **Make, Zapier, n8n**: use the Apify app to start a run and pick up the videos when it finishes.
- **Webhooks**: get a call to your own endpoint when a run succeeds or fails.
- **API**: start runs and read results with the Apify API or the `apify-client` package for Python and JavaScript.
- **MCP clients**: Claude, ChatGPT, Cursor and other MCP clients can call the actor through Apify's MCP server.

### More from The Mine Works

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Followers & Following](https://apify.com/themineworks/instagram-followers-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Search Scraper](https://apify.com/themineworks/reddit-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Twitter / X Scraper](https://apify.com/themineworks/twitter-x-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Pinterest Profile Scraper](https://apify.com/themineworks/pinterest-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Xiaohongshu (RED) Scraper](https://apify.com/themineworks/xiaohongshu-explore-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Telegram Channel Finder](https://apify.com/themineworks/telegram-channel-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [YouTube Transcript](https://apify.com/themineworks/youtube-transcript-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Telegram Channel Scraper](https://apify.com/themineworks/telegram-channel-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [JustDial Scraper](https://apify.com/themineworks/justdial-business?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [data.gov.in Scraper](https://apify.com/themineworks/india-data-gov-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [OpenAlex Scraper](https://apify.com/themineworks/openalex-scholarly-works?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Shine.com Jobs Scraper](https://apify.com/themineworks/shine-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [World Bank Trade Scraper](https://apify.com/themineworks/global-trade-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Y Combinator Scraper](https://apify.com/themineworks/y-combinator-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [Tennis Match & Player Data Scraper](https://apify.com/themineworks/tennis-match-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Found a problem or need a field we do not return? Open an issue on the actor's Issues tab and we will answer there. To ask for a new source, email dmineworks@gmail.com.

*Kwai Video Scraper turns Kwai keywords, hashtags, creators and video links into clean rows of public video data, with no login and no charge for anything it drops.*

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords to search on Kwai, one per line, exactly as you would type them in Kwai's search box (any language; Portuguese finds the most). Each term returns Kwai's own search results. A term that starts with # is run as a hashtag.

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

Hashtags, one per line, with or without the #. Only videos whose caption carries the hashtag are returned and charged.

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

Kwai creators, one per line: a profile link (https://www.kwai.com/@handle), an @handle or a bare handle. Returns their public videos, newest first, with their follower, like and video counts on every row.

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

Single videos, one per line: a www.kwai.com video link, a k.kwai.com/p/... share link copied from the app, or a numeric video id. A removed or private video is reported in the run summary and not charged.

## `maxVideosPerInput` (type: `integer`):

Most videos to return for each search term, hashtag or profile. A profile can go back to its first video; a search stops earlier when Kwai stops returning new videos for it (often a few hundred).

## `postedWithinDays` (type: `integer`):

Only videos posted in the last N days. A profile stops being read once its videos get older. Videos given by link are always returned. Leave empty for no date filter.

## `onlyCaptionMatches` (type: `boolean`):

Kwai's search also returns videos about the topic that do not use your words. Turn this on to keep only videos whose caption contains every word of the term (accents and case ignored). The rest are skipped and not charged.

## `includeCreatorStats` (type: `boolean`):

Adds the creator's follower count, total likes and number of videos to search and hashtag rows, with one small lookup per creator. Profile rows always include them.

## `onlyNewVideos` (type: `boolean`):

For scheduled runs: remembers the videos this input list delivered before (up to the latest 50,000) and returns and charges only new ones.

## Actor input object example

```json
{
  "searchTerms": [
    "futebol"
  ],
  "maxVideosPerInput": 20,
  "onlyCaptionMatches": false,
  "includeCreatorStats": false,
  "onlyNewVideos": false
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "searchTerms": [
        "futebol"
    ],
    "maxVideosPerInput": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/kwai-video-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 = {
    "searchTerms": ["futebol"],
    "maxVideosPerInput": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/kwai-video-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 '{
  "searchTerms": [
    "futebol"
  ],
  "maxVideosPerInput": 20
}' |
apify call themineworks/kwai-video-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/kwai-video-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/HEELehEIJqDelYDhU/builds/0PaTe1kdp1bzeWzEb/openapi.json
