Kwai Scraper - Videos, Creators, Hashtags & Search avatar

Kwai Scraper - Videos, Creators, Hashtags & Search

Pricing

from $1.50 / 1,000 kwai video delivereds

Go to Apify Store
Kwai Scraper - Videos, Creators, Hashtags & Search

Kwai Scraper - Videos, Creators, Hashtags & Search

Scrape Kwai videos from URLs, creator profiles, playlists, hashtags and keyword search, or find creators in a niche. Schedule it daily with onlyNewVideos to get only new videos. No login. From US$ 2 per 1,000 videos; failed items are free.

Pricing

from $1.50 / 1,000 kwai video delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

5

Monthly active users

a day ago

Last modified

Share

Kwai Scraper

Kwai Scraper exports public Kwai videos to JSON, CSV or Excel. Start from video URLs, a creator profile, a playlist, a hashtag or a keyword search, and get one row per video or, in Creators mode, one row per creator. With onlyNewVideos a scheduled run returns only the videos posted since the previous run. Each video has views, likes, comments, shares, caption, hashtags, duration, publish date, cover, a direct MP4 link, music and the creator's follower count. Kwai's audience is mostly in Brazil and Latin America, so this is mainly a tool for agencies, brands and analysts working in that market.

At a glance

Free planGold plan and above
Video from a profile, playlist, hashtag or search (resultado-entregue)US$ 2.00 / 1,000US$ 1.50 / 1,000
Video opened from its URL (video-detalhe), from 2026-10-25US$ 6.00 / 1,000US$ 4.50 / 1,000
Creator row in Creators mode (perfil-completo), from 2026-10-25US$ 6.00 / 1,000US$ 4.50 / 1,000
  • No monthly fee. Until 2026-10-25 every row costs US$ 2.00 per 1,000. From 2026-11-01, each run also has an Actor start event of US$ 0.005.
  • Error rows (removed videos, missing profiles, empty searches) are free, and duplicates inside a run are removed before charging.
  • Creator stats, music and MP4 links are included on every video row. A default run of 30 videos costs US$ 0.06.

Schedule it: daily only-new mode

Turn on onlyNewVideos, save the input as a Task and add a daily Schedule. Each run returns only the videos that were not delivered before for that profile, hashtag or keyword, so you pay for new videos only, and a day with nothing new charges no video row. Details in "Only new videos" below.

What you can do with it

  • Vet a creator before a campaign: the whole upload history with views, likes, comments and shares per video, plus followers and total likes, so you can compute real engagement.
  • Monitor a hashtag or a brand keyword: schedule a daily run with onlyNewVideos and each run brings only the videos that were not there yesterday.
  • Find creators in a niche: set resultType to creators, search a keyword or hashtag, and get one row per creator with followers, totals and their best matching video.
  • Filter a profile by topic: profile videos carry videoCategory / videoSubcategory, Kwai's own labels such as Food / Cooking or Sports / Soccer.
  • Read what the videos say: includeTranscript adds the spoken words when Kwai has generated them (about half of the videos in our tests) and Kwai's genres.

Switching from another Kwai actor? Your existing input works

Field you already sendWhat it does here
urls, startUrlsProfiles, videos, playlists, hashtags and share links
searchTerms, keyword, operation + inputKeyword search
userIdA creator profile
maxItems, maxItemsPerQueryLimit per profile, hashtag, playlist or keyword; 0 means no limit
includeComments, maxCommentsPerVideo, maxRepliesPerCommentAccepted; see "Comments" below

Output keeps the usual names: id, caption, createTime, thumb, playUrl, authorMeta, viewCount, likeCount, commentCount, shareCount.

Input

Every field is optional. An empty input scrapes 30 videos from the public profile @cnnbrasil. What each kind of URL returns:

You pasteYou get
https://www.kwai.com/@Futecem or @FutecemThe creator's videos, newest first, up to maxItems
https://www.kwai.com/@Futecem/video/5214755523601622914 or the bare idThat one video
https://k.kwai.com/p/YUGeCnxG (app share link, even inside the share message)The video behind the link
https://www.kwai.com/@user/playlist/<albumId>The videos of that playlist
https://www.kwai.com/topic/halloween or #halloweenVideos from the hashtag feed
https://www.kwai.com/discover/makeup-tutorialKeyword search for "makeup tutorial"

Hashtags and keyword search in one run:

{
"hashtags": ["#halloween", "asmr"],
"searchTerms": ["Lamine Yamal", "makeup tutorial"],
"maxItems": 50
}

Only new videos

{ "urls": ["https://www.kwai.com/@Futecem"], "hashtags": ["halloween"], "maxItems": 100, "onlyNewVideos": true }

Save this as a daily Schedule. The first run delivers up to 100 videos per input and stores their ids in the Key-Value Store kwai-scraper-only-new-videos in your account, one record per input. Later runs return only the videos not delivered before. Profiles are listed newest first, so a daily check costs one or two requests; hashtags, keywords and playlists are ordered by relevance, so the first runs work through the existing feed and then only fresh videos arrive. A run with nothing new ends with an empty dataset and costs nothing. Delete the record or the store to start over. Video URLs are always returned, and the option is not used in Creators mode.

Creators mode

{ "resultType": "creators", "searchTerms": ["makeup tutorial"], "hashtags": ["halloween"], "maxItems": 50 }

Each keyword or hashtag returns up to maxItems distinct creators, deduplicated across inputs. Profile URLs in this mode return that creator's row directly, which works as a follower lookup for a list of accounts. A real row from 2026-10-02:

{
"type": "creator",
"username": "Keke_lima9",
"url": "https://www.kwai.com/@Keke_lima9",
"verified": false,
"followersCount": 303678,
"likesCount": 3696482,
"videosCount": 1121,
"category": "maquiagem de beleza",
"matchedVideos": 1,
"matchedViews": 253044,
"avgViewsMatched": 253044,
"topVideoUrl": "https://www.kwai.com/@Keke_lima9/video/5243747448626648762",
"lastMatchedVideoAt": "2024-04-04T11:18:32.523000Z",
"sources": ["search:makeup tutorial"]
}

matchedVideos, matchedViews and avgViewsMatched count only the videos found by your keywords and hashtags, so they measure the creator inside your niche. Even English keywords mostly return Portuguese and Spanish creators, because that is Kwai's audience.

Output

One row per video. A real row from a profile run on 2026-09-15 (some URLs shortened):

{
"type": "video",
"id": "5202089153773005371",
"url": "https://www.kwai.com/@Futecem/video/5202089153773005371",
"caption": "Garoto de 16 anos ganhou a Eurocopa enquanto fazia a lição de casa😳 #Futebol #LamineYamal",
"hashtags": ["Futebol", "LamineYamal"],
"createTime": "2026-05-21T18:31:00.714000Z",
"viewCount": 4748,
"likeCount": 245,
"commentCount": 4,
"shareCount": 58,
"duration": 32,
"thumb": "https://aws-br-pic.kwai.net/upic/2026/05/22/02/BMjAyNjA1MjIwMjMwMDhf...webp",
"playUrl": "https://aws-br-cdn.kwai.net/upic/2026/05/22/02/BMjAyNjA1MjIwMjMwMDhf...mp4",
"musicMeta": { "id": "13289717457", "artist": "Futecem" },
"authorMeta": { "username": "Futecem", "verified": false, "followersCount": 406575, "likesCount": 12678398, "videosCount": 2124, "category": "futebol" },
"source": "profile:@Futecem",
"errorCode": null,
"scrapedAt": "2026-09-15T18:11:44.034217+00:00"
}

Main fields

FieldDescription
idKwai video id, as a string (larger than a JavaScript safe integer)
caption, hashtagsFull caption and its hashtags without #, in order
createTime / timestampPublish time in ISO 8601 UTC and in milliseconds
viewCount, likeCount, commentCount, shareCountPublic counters at the moment of the run
duration / durationMs, width / heightLength and resolution
thumb / firstFrame / playUrlCover, first frame and direct MP4 link (signed, expires after some hours)
isImagePost, isAiGeneratedPicture post without MP4; Kwai's AI-content flag when present
musicMetaSound id, name, artist, audio URL and cover when Kwai provides them
videoCategory / videoSubcategoryKwai's category in English; only on profile videos
transcript, genresWith includeTranscript; null when Kwai has no transcript
authorMetaCreator id, username, name, avatar, verified, followers, following, total likes, video count, category
sourceInput that produced the row, for example profile:@Futecem or search:asmr
error / errorCodeFilled only on rows that could not be delivered (not charged)

Error codes (never charged)

errorCodeMeaning
VIDEO_NOT_FOUNDRemoved, private or never existed. Kwai shows a different recommended video in that case; the Actor checks the id and does not return the wrong one.
PROFILE_NOT_FOUNDNo Kwai account with that handle
PLAYLIST_NOT_FOUNDThe playlist does not exist or is empty
NO_RESULTSThe keyword, hashtag or profile has no public videos
INVALID_URLThe line is not a Kwai video, profile, playlist, hashtag or share link
BLOCKEDKwai blocked every retry for that page. Run again.
NOT_REACHEDThe run was close to its timeout; it stopped 45 s early and kept everything already delivered
ITEM_UNREADABLE / UNEXPECTEDOne video or one input could not be read; the rest of the run continues

Comments

Kwai's website returns comments only to logged-in accounts. On 2026-10-08 we tried its two comment endpoints from five countries, datacenter and residential IPs, desktop and mobile browsers, on 99 videos: every answer was empty. We checked again on 2026-10-14 (Brazil, United States, Mexico and Indonesia, residential and datacenter, 13 videos with 1 to 167 comments) with the same result. With includeComments or maxCommentsPerVideo each video gets comments and commentsStatus (today LOGIN_REQUIRED); after 3 such videos the Actor stops asking. Comments add nothing to the price, and if Kwai opens them to visitors again the same input starts returning them.

Limitations

  • Kwai decides how deep a list goes. Most profiles paginate to hundreds of videos, but for some accounts the web profile lists far fewer than the app (one account with 861 videos returned 11).
  • Search leans toward Brazil. Portuguese and broad English keywords return hundreds of videos; long Spanish phrases may return a handful. Try a shorter keyword or the hashtag.
  • No trending mode. Kwai's "Hot" tab is a search for the word "Hot" and the For You feed is random. Use hashtags and keywords sorted by viewCount.
  • MP4 links expire after a few hours; download soon after the run.
  • Numbers are public counters at the moment of the run and can differ slightly from the app.

FAQ

Do I need a Kwai account, cookies or an API key? No. Only public pages and public web endpoints, through the Apify datacenter proxy.

Can I scrape every video of a creator? Yes, set maxItems to 0 or a high number. A profile of 100 videos takes about 10 seconds.

Why VIDEO_NOT_FOUND when the link opens in my browser? For a removed video Kwai quietly shows another one. If your browser shows the same id, open an issue with the URL.

Can I call it from the API, n8n, Make, Zapier or an AI agent? Yes. Use scrapewise/kwai-scraper with the Apify API, the Apify app in those tools, or the Apify MCP server (https://mcp.apify.com).

curl -X POST "https://api.apify.com/v2/acts/scrapewise~kwai-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" -d '{"urls": ["https://www.kwai.com/@Futecem"], "maxItems": 50}'

Is scraping Kwai legal? The Actor collects only what Kwai shows to any visitor without login. How you use the data is your responsibility; follow Kwai's terms and laws such as LGPD and GDPR.

Changelog

  • 2026-10-25: price by row type: listing videos stay at US$ 2.00 per 1,000; videos opened by URL and creator rows move to US$ 6.00 per 1,000 (Free plan).
  • 2026-10-27: daily only-new mode on the page title and a "Schedule it" guide; includeComments accepted as an alias (comments are still login-only on Kwai, re-checked 2026-10-14). Same price, same output.
  • 2026-10-08: maxCommentsPerVideo and maxRepliesPerComment accepted, with commentsStatus; maxItems: 0 means no limit.
  • 2026-10-05: videoCategory and videoSubcategory on profile videos, same price.

Something broke? Open an issue on the Actor page; issues are answered within 12 hours.