Kwai Scraper | Videos, Creators and Hashtags avatar

Kwai Scraper | Videos, Creators and Hashtags

Pricing

from $1.66 / 1,000 videos

Go to Apify Store
Kwai Scraper | Videos, Creators and Hashtags

Kwai Scraper | Videos, Creators and Hashtags

Kwai scraper for videos, creators, hashtags and comments: search a keyword, #hashtag, creator or link and get 50 videos in 5 seconds, 33 fields each, plus each video's comments and their replies on demand. Views, likes, shares, captions, post date, video links and creator followers. No Kwai account.

Pricing

from $1.66 / 1,000 videos

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Kwai Scraper | Kwai Videos, Creators and Hashtags by Keyword, Profile or Link (2026)

1 search. 50 Kwai videos. 33 fields per video.

From SilentFlow. Creators of Pinterest Scraper (#1 for “pinterest pins scraper” in Apify Store search) and Leboncoin Scraper Ppe, with 260,000+ combined lifetime runs.

Every public Kwai video for a keyword, a #hashtag, a creator or a link, one flat row per video, with the creator's audience on the same line. Our test run turned the keyword futebol into 50 videos in 6 seconds, each with its caption, hashtags, views, likes, comments, shares, post date, duration, MP4 and cover links, sound, and the creator's followers, total likes and video count, with no Kwai account. Turn on comments and each row also carries what viewers wrote under the video, with the replies.

Why choose this actor?

Scrolling the Kwai app to find the creators of a niche? Opening every profile to see how many followers they have? Getting nested exports that take an hour to flatten into a spreadsheet?

  • 33 filled fields per video, flat and ready for a spreadsheet. Each row has 34 columns: the video (caption, hashtags, genres, the text Kwai read from it, the sound), its numbers (views, likes, comments, shares, duration, size), the creator (handle, name, numeric id, bio, avatar, verified badge, followers, total likes, video count) and the links (video page, MP4, cover, profile). On our default run, 33 of them carry a value on at least half the rows; over our three test runs, 33 every time. The example row of the most used Kwai scraper shows 16 keys.
  • Keywords, #hashtags, creators and links in one run. Type futebol or #receitas, type a creator as @Futecem, ocraquedavez or the numeric id 150001550606055, or paste any kwai.com link: a video, a profile, a playlist, a search page, or a k.kwai.com/p/... share link straight from the app. Our mixed test run read 1 keyword, 2 creators, 1 playlist, 1 video link and 1 share link in 10 seconds. The most used Kwai scraper takes links and search terms; a creator there has to come as a profile link.
  • The creator's audience next to every video. Followers, total likes and video count of the creator are filled on 50 of the 50 rows of our default run, so a keyword search is also a creator shortlist: sort by authorFollowers and the niche's biggest accounts come first. Three keywords gave 1,500 different videos in 1 minute 45 seconds, each video once, with 199 repeats skipped.
  • Comments and their replies inside each video's row. Set maxComments and maxReplies and every row carries a comments list: text, likes, reply count, date, author, the GIF or picture posted, and under each comment the replies with the name of the person they answer. Our test turned the keyword futebol into 50 videos with 1,418 comments and 286 replies in 52 seconds, still one row per video, so the comments never need to be matched back to their video.

Try Kwai Scraper

Try your first 50 videos

Paste this input in the JSON tab of the Input page and press Start. It reads the 50 most relevant Kwai videos for futebol.

{
"searchTerms": ["futebol"],
"maxItems": 50
}

It runs on the Apify Free plan. Each video becomes one row of your dataset: open the Output tab to see the table, switch to the "Creators" view for the handle, followers, total likes and bio of each creator, or to "Content and media" for hashtags, genres, sound and MP4 links, and export the rows as JSON, CSV or Excel.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full picture of this scraper:

You have access to the Kwai Scraper on Apify: silentflow/kwai-scraper
It reads public Kwai (kwai.com) videos, without an account, and returns one flat row per video,
with the creator's audience on the same row. Each video appears once per run.
Input schema (no field is required; give at least one keyword, link or creator):
- searchTerms (array of strings): keywords as typed in Kwai's search, "futebol", "receita fácil".
A line starting with # reads the hashtag feed instead: "#futebol".
- startUrls (array of {url}): kwai.com links. Video (https://www.kwai.com/@{handle}/video/{id}),
profile (https://www.kwai.com/@{handle}), playlist (https://www.kwai.com/@{handle}/playlist/{id}),
search page (/discover/{keyword}), hashtag page (/topic/{tag}), share link (https://k.kwai.com/p/{code}).
- profiles (array of strings): creators as "@handle", "handle" or numeric user id "150001550606055".
- maxItems (integer, default 50): videos saved per keyword, hashtag, creator or playlist. 0 = as many as Kwai shows.
A video link always gives its one video.
- postedAfter (string, optional): keep videos posted on or after "2026-09-01" or an age such as "7 days".
Creators are read newest first, so the run stops at the cutoff. Keyword and hashtag results mix years of
videos, so a recent cutoff keeps few of them. Video links are always kept.
- maxComments (integer, default 0, max 500): comments added to each video's row, top comments first, then
the newest. 0 = no comments.
- maxReplies (integer, default 0, max 20): replies added under each comment, oldest first. Needs maxComments > 0.
Output per video (34 fields, 35 with comments):
- id (string, stable video id), url (string, video page), caption (string|null), position (integer, rank in its entry)
- hashtags (array|null), genres (array|null, Kwai's topic labels), transcript (string|null, text Kwai read from the video),
musicName, musicAuthor (string|null), mediaType ("video" or "images"), isAiGenerated (boolean|null)
- authorId (string|null, numeric user id), authorUsername (handle), authorName, authorUrl, authorAvatarUrl, authorBio (string|null),
authorVerified (boolean), authorFollowers, authorLikes, authorVideos (integer|null)
- viewCount, likeCount, commentCount, shareCount (integer)
- createTime (RFC 3339 UTC), duration (seconds, number), width, height (pixels)
- videoUrl (MP4 link, may expire), coverUrl (image link)
- comments (array, only when maxComments > 0; [] for a video without comments): each comment has
id (string), text (string|null), imageUrl (GIF or picture posted, string|null), likeCount, replyCount (integer),
createTime (RFC 3339 UTC), authorId (numeric user id), authorName, authorAvatarUrl (string|null),
and replies (array, only when maxReplies > 0): the same fields without replyCount, plus replyToName and replyToUserId
- source ("keyword" | "hashtag" | "profile" | "playlist" | "video"), query (the entry as typed), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/kwai-scraper").call(run_input=...).

How to scrape Kwai videos

Three inputs, from the simplest to the most combined. Each one runs as is.

Search Kwai videos by keyword

The most relevant videos for a keyword, the way Kwai's own search ranks them. position keeps that rank.

{
"searchTerms": ["futebol"],
"maxItems": 100
}

Export a creator's videos of the last 30 days

Creators are read newest first, so the run stops at the date instead of reading years of posts. In our test, this input returned the 152 videos rei_do_fut.com posted in 30 days, in 10 seconds.

{
"profiles": ["rei_do_fut.com"],
"maxItems": 0,
"postedAfter": "30 days"
}

Every entry runs in the same dataset, and source and query say which entry found each row.

{
"searchTerms": ["#receitas", "receita fácil"],
"profiles": ["ocraquedavez", "150001550606055"],
"startUrls": [
{ "url": "https://www.kwai.com/@jadebelchior905/video/5213629630362183094" },
{ "url": "https://k.kwai.com/p/YUGeCnxG" },
{ "url": "https://www.kwai.com/@TeleKwaiBrasil/playlist/45074491059995286" }
],
"maxItems": 30
}

Input parameters

ParameterTypeDefaultDescription
searchTermsarray of stringsprefilled with futebolKeywords as you would type them in Kwai's search: futebol, receita fácil, makeup tutorial. Start a line with # for the hashtag feed: #futebol.
startUrlsarray of URLsnoneLinks copied from kwai.com or the Kwai app. See the formats below.
profilesarray of stringsnoneCreators: @Futecem, ocraquedavez or the numeric user id 150001550606055.
maxItemsinteger50Videos saved per keyword, hashtag, creator or playlist. 0 goes as deep as Kwai shows. A video link always gives its one video.
postedAfterstringnoneKeep only the videos posted on or after this date: 2026-09-01, or an age such as 7 days, 2 weeks, 3 months. Video links are always kept.
maxCommentsinteger0Comments added inside each video's row, top comments first, then the newest. Up to 500 per video. 0 leaves them out.
maxRepliesinteger0Replies added under each comment, oldest first. Up to 20 per comment. Works with maxComments above 0.

Accepted formats:

  • Keyword in searchTerms: futebol, bolo de chocolate, maquiagem, in any language Kwai's search understands
  • Hashtag in searchTerms: #futebol, #receitas, with or without a space after the #
  • Video link: https://www.kwai.com/@jadebelchior905/video/5213629630362183094, with or without what follows ?, and the short form https://www.kwai.com/video/5213629630362183094
  • Profile link: https://www.kwai.com/@Futecem, and the mobile form https://m.kwai.com/user/150001550606055
  • Playlist link: https://www.kwai.com/@TeleKwaiBrasil/playlist/45074491059995286
  • Search page: https://www.kwai.com/discover/receita-fácil, read as the keyword receita fácil
  • Hashtag page: https://www.kwai.com/topic/futebol, read as #futebol
  • Share link from the app: https://k.kwai.com/p/CCzy11ul, alone or inside the whole message the app copies ("Acho que você vai adorar este vídeo! https://k.kwai.com/p/...")
  • Creator in profiles: @Futecem, Futecem, 150001550606055, or any of the profile links above

A line that is not a Kwai link (a TikTok address, a page of another site) is skipped and named in the log; the rest of the input still runs. The same entry given twice is read once, and a video found by two entries is saved once.

What data can you extract from Kwai?

Each row is one video, with 34 top-level fields grouped the way you read them, and a 35th, comments, when you ask for them. On our default run, 33 of the 34 carry a value on at least half the rows.

GroupFields
Identity (4)id (the video's id, stable), url (the video's page on kwai.com), caption (as posted, with accents and emoji), position (the video's rank in the results of its entry)
Content (7)hashtags (taken from the caption), genres (Kwai's own topic labels, such as Soccer, Sports, Fashion), transcript (the text Kwai read from the video), musicName and musicAuthor (the sound used), mediaType (video or images), isAiGenerated (Kwai's AI content flag, when the feed gives it)
Creator (10)authorId (numeric user id), authorUsername (the @handle), authorName, authorUrl, authorAvatarUrl, authorBio, authorVerified, authorFollowers, authorLikes (total likes received), authorVideos (videos posted)
Measures (4)viewCount, likeCount, commentCount, shareCount
Time and format (4)createTime (RFC 3339, UTC), duration (seconds, to the millisecond), width, height
Media (2)videoUrl (MP4), coverUrl (cover image)
Comments (1, optional)comments: a list of the video's comments, each with id, text, imageUrl (the GIF or picture posted), likeCount, replyCount, createTime, authorId, authorName, authorAvatarUrl and replies (the same fields without replyCount, plus replyToName and replyToUserId, the person the reply answers)
Meta (3)source (keyword, hashtag, profile, playlist or video), query (the entry as you typed it), scrapedAt

A value Kwai does not give is null, never an empty string. Counts are numbers, not text such as "1.2K". Captions come back as readable text, with the codes Kwai glues to mentions removed.

Comments come top comments first, then the newest, and each comment once. On our futebol run of 20 videos with up to 20 comments and 5 replies each, 18 videos had comments: the rows carried 240 comments and 137 replies, read in 21 seconds. A comment that is only a GIF or a picture has text at null and its image in imageUrl; that was 200 of the 1,418 comments (14%) of our 50-video run. A poll pinned by the creator comes back with its question as text.

genres and transcript exist only for the videos Kwai has labeled or transcribed: transcript was filled on 56% to 68% of the rows of our runs, genres on 35% to 52%. The transcript is raw, often the words shown on screen; it is good for finding a word across thousands of videos, less for reading.

Output example

{
"id": "5197304081187043255",
"url": "https://www.kwai.com/@Olha_o_Gol/video/5197304081187043255",
"caption": "#copadomundo #copadomundo2026",
"position": 47,
"hashtags": ["copadomundo", "copadomundo2026"],
"genres": ["Soccer", "Sports"],
"transcript": "car. NOYIA. xa-la. el. en io i por. HAALAND TAR AIPAAYS. NOR. io ube mar. 号1. en soub. HAALAND. do do. 2 X 12 X 1. A CANOA VIROUA CANOA VIROU.",
"musicName": "Áudio original criado por SO FUTEBOL",
"musicAuthor": "SO FUTEBOL",
"mediaType": "video",
"isAiGenerated": false,
"authorId": "150001343330709",
"authorUsername": "Olha_o_Gol",
"authorName": "SO FUTEBOL",
"authorUrl": "https://www.kwai.com/@Olha_o_Gol",
"authorAvatarUrl": "https://aws-br-pic.kwai.net/bs2/overseaHead/20240728110115_BMTUwMDAxMzQzMzMwNzA5_t.jpg",
"authorBio": "MEMES DE FUTEBOL 😂😂🤣",
"authorVerified": false,
"authorFollowers": 110584,
"authorLikes": 1701957,
"authorVideos": 1178,
"viewCount": 83858,
"likeCount": 2712,
"commentCount": 171,
"shareCount": 937,
"createTime": "2026-07-12T01:00:43Z",
"duration": 17.566,
"width": 720,
"height": 1280,
"videoUrl": "https://ak-br-cdn.kwai.net/upic/2026/07/12/09/BMjAyNjA3MTIwOTAwMThfMTUwMDAxMzQzMzMwNzA5XzE1MDExMTEwNDc0Mjg1OF8yXzM=_b_B0db8d202cdbe138c5427a40ffe51d4fd.mp4?tag=1-1790879565-s-0-4br2pbugkv-069b7b2eb38d47d5",
"coverUrl": "https://aws-br-pic.kwai.net/upic/2026/07/12/09/BMjAyNjA3MTIwOTAwMThfMTUwMDAxMzQzMzMwNzA5XzE1MDExMTEwNDc0Mjg1OF8yXzM=_oscn2_B8c7200f36f5a1f6eb0bba9345f3b02d7.webp",
"source": "keyword",
"query": "futebol",
"scrapedAt": "2026-10-01T18:32:45Z"
}

Output example with comments

The same kind of row with maxComments and maxReplies on, shortened here to a few of its fields and two comments with one reply each, from our futebol run of 6 October 2026.

{
"id": "5204340949249874517",
"url": "https://www.kwai.com/@futebolnaveia372/video/5204340949249874517",
"caption": "O que isso Neymar #sportsfamilia #familia #esporteviral #kwai",
"authorUsername": "futebolnaveia372",
"commentCount": 2793,
"comments": [
{
"id": "166260026643580184",
"text": "Isso é uma fita que contém remédio- Anti inflamatório- a pele absorve.",
"imageUrl": null,
"likeCount": 511,
"replyCount": 217,
"createTime": "2025-03-11T20:17:12Z",
"authorId": "150001088819563",
"authorName": "Junior Ws",
"authorAvatarUrl": "https://aws-br-pic.kwai.net/bs2/overseaHead/20250208123114_BMTUwMDAxMDg4ODE5NTYz_tw.webp",
"replies": [
{
"id": "166262203111965598",
"text": "isso mesmo",
"imageUrl": "https://aws-br-pic.kwai.net/bs2/overseaComment/388de194af22cd4ecbb12bee975ecd05_pc.jpg?ocid=21701",
"likeCount": 30,
"createTime": "2025-03-11T20:50:25Z",
"authorId": "150000176499860",
"authorName": "OBITO 🧸",
"authorAvatarUrl": "https://aws-br-pic.kwai.net/bs2/overseaHead/20260910012330_BMTUwMDAwMTc2NDk5ODYw_tw.webp",
"replyToName": "Junior Ws",
"replyToUserId": "150001088819563"
}
]
},
{
"id": "166262146210988655",
"text": "meu eleitor aprendeu direitinho [joy]kkkkkkk",
"imageUrl": "https://aws-br-pic.kwai.net/bs2/overseaComment/88a67fda4b507b07dc9ee6cab78a849a_pc.jpg?ocid=20201",
"likeCount": 73,
"replyCount": 62,
"createTime": "2025-03-11T20:49:14Z",
"authorId": "150001651442187",
"authorName": "JOTA FERREIRA 2025",
"authorAvatarUrl": "https://aws-br-pic.kwai.net/bs2/overseaHead/20250320053036_BMTUwMDAxNjUxNDQyMTg3_tw.webp",
"replies": [
{
"id": "166285603167536029",
"text": "[joy][joy][joy][joy]",
"imageUrl": null,
"likeCount": 2,
"createTime": "2025-03-12T02:54:24Z",
"authorId": "150001669331385",
"authorName": "Giovani Estephane",
"authorAvatarUrl": "https://aws-br-pic.kwai.net/bs2/overseaHead/20250127092722_BMTUwMDAxNjY5MzMxMzg1_tw.webp",
"replyToName": "JOTA FERREIRA 2025",
"replyToUserId": "150001651442187"
}
]
}
]
}

Emoji in comments come as Kwai writes them, in brackets: [joy], [heart].

Advanced usage

Six recipes for the jobs teams run on Kwai data. Each input runs as is.

Build a shortlist of creators in a niche

Search the words your audience uses, then open the "Creators" view and sort by authorFollowers. A creator who comes back on several keywords with high views is worth a message, and authorBio often holds a business email.

{
"searchTerms": ["maquiagem", "skincare", "resenha de produto"],
"maxItems": 300
}

Watch a creator's new videos every week

Schedule this input on Mondays from the Schedules tab of the Apify Console. Each run keeps only the videos of the last 7 days (36 for rei_do_fut.com in our test, in 3 seconds), so the dataset of each run is that week's output, with the views and shares each video has reached.

{
"profiles": ["rei_do_fut.com"],
"maxItems": 0,
"postedAfter": "7 days"
}

Benchmark competing creators over the last 30 days

Three accounts, one dataset: group by authorUsername to compare how often each one posts, and their median views, likes and shares per video. In our test, these three football pages had posted 1,923 videos in 30 days, read in 1 minute 55 seconds.

{
"profiles": ["@KWAIFUTEBOLSHOW", "arte-esporte.com", "mundodofutebol102"],
"maxItems": 0,
"postedAfter": "30 days"
}

Read what viewers say under a topic's top videos

For audience research or a brand check, add the comments to the videos of a keyword. Open the "Comments" view of the Output tab, or export as JSON and flatten comments in your own tool. In our test, this input gave 50 videos with 1,418 comments and 286 replies in 52 seconds.

{
"searchTerms": ["futebol"],
"maxItems": 50,
"maxComments": 100,
"maxReplies": 10
}

Export a creator's whole catalog

maxItems at 0 reads a profile back to its first public video. Futecem has more than 2,000; a smaller account takes seconds.

{
"profiles": ["Futecem"],
"maxItems": 0
}

Turn what your team shares in the app into a table

Paste share links as the app copies them, message included, and playlist links, and get one row per video with its numbers, for a campaign report or a content review.

{
"startUrls": [
{ "url": "Acho que você vai adorar este vídeo! https://k.kwai.com/p/YUGeCnxG" },
{ "url": "https://k.kwai.com/p/CCzy11ul" },
{ "url": "https://www.kwai.com/@TeleKwaiBrasil/playlist/45074491059995286" }
],
"maxItems": 50
}

FAQ

What is Kwai? Kwai is the international short-video app of Kuaishou, the company behind 快手 in China. It is especially popular in Brazil. Kwai and Kuaishou share an owner but not their videos: this actor reads Kwai (kwai.com).

What does the actor return exactly? One row per public video, with 34 fields: the video, its numbers, its sound and topic labels, the links to the MP4 and the cover, and the creator with their followers, total likes and video count. The table in "What data can you extract from Kwai?" lists them all.

Do I need a Kwai account? No. The actor reads what anyone sees on kwai.com without logging in. No account, no key, nothing to export from a browser.

What is the difference between a keyword and a #hashtag? A keyword (futebol) gives the videos Kwai's search ranks for it, most relevant first. A hashtag (#futebol) gives the hashtag's own feed, which favors the most watched videos ever posted under it. Both mix years of videos: in our test, the first 190 videos of the #receitas feed were all posted between 2021 and 2024, and the results of brasileirão held no video of the last 7 days.

How do I get only the latest videos? Follow creators. profiles reads a creator newest first, and postedAfter stops the run at the date: 36 videos of the last 7 days for rei_do_fut.com in 3 seconds in our test. On keywords and hashtags, postedAfter keeps the recent videos among the results, which are few.

How many videos can I get per keyword? Set maxItems to what you need, or 0 for as many as Kwai shows. A keyword reads up to 40 pages of results, 2,000 videos before repeats are removed; our test kept 500 per keyword on futebol, receita and makeup without reaching the end. A creator is read to their first public video.

Why did I get fewer rows than maxItems? Three reasons, all said in the log: the entry ran out (a small creator, a rare keyword), postedAfter dropped the older videos, or a video already saved by another entry of the run was skipped so you never get it twice.

Can I combine entries and filters? Yes. Keywords, hashtags, creators and links run together in one dataset, and postedAfter applies to all of them except single video links. searchTerms: ["makeup"], profiles: ["rei_do_fut.com"] and postedAfter: "2025-01-01" give the makeup videos posted since January 2025 and every rei_do_fut.com post of the same period, with source and query on each row.

How fresh is the data? Every run reads Kwai live: views, likes and follower counts are the ones Kwai shows at that moment. Schedule the actor from the Apify Console to track them over days or weeks.

Are the links permanent? id never changes and url opens the video's page on kwai.com. videoUrl and coverUrl point to Kwai's media servers and can stop working after a while: download the files you need soon after the run. A deleted or private video is reported in the log and skipped.

Why are genres or transcript empty on some rows? Kwai labels and transcribes only part of its videos. When it has nothing, the field is null. On our runs, a transcript came back on more than half of the videos and genres on about a third to a half.

Can I get the comments of a video? Yes. Set maxComments to the number of comments you want per video (up to 500) and maxReplies to the number of replies per comment (up to 20). They come inside the video's row as a comments list, so you still get one row per video. Paste a video link to read the comments of that one video: our test read 30 comments each, with their replies, on two video links in 6 seconds.

Why does a video have fewer comments than its commentCount? commentCount counts the replies too, and the comments Kwai has hidden or that were deleted. A video with 13 comments on its counter can show 12 readable ones. With maxComments at 20, a video with 9 comments gets its 9.

Do comments slow the run down? A little. Kwai serves comments at a steadier pace than videos: 20 videos with up to 20 comments each and 5 replies per comment took 21 seconds in our test, against 5 seconds for 50 videos without comments. Leave maxComments at 0 when you only need the videos.

Does it work outside Brazil? Yes. Our runs used Portuguese and English keywords: the English makeup gave 500 videos, like the Portuguese futebol and receita.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available video data from kwai.com. It does not bypass any login, paywall or CAPTCHA, and never uses a Kwai account. Users are responsible for complying with Kwai's terms of service and applicable data protection laws (GDPR, CCPA, LGPD in Brazil, and PIPL where relevant). Rows carry creator handles, names, bios and avatars, and, when you turn comments on, the names, user ids and avatars of the people who commented, all of which can be personal data: handle them accordingly, keep only what you need, and honor removal requests. Kwai is a trademark of its owner; this Actor is not affiliated with or endorsed by Kwai or Kuaishou. The data returned is informational; verify accuracy for regulated use cases.

Kwai Scraper by SilentFlow: Kwai videos and their creators from a keyword, a hashtag, a profile or a link, ready for your spreadsheet.