Kwai Trending Videos Scraper
Pricing
Pay per event
Kwai Trending Videos Scraper
Export public Kwai For You videos, creators, captions, hashtags, engagement counts, posters, and available MP4 URLs without logging in.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export the public Kwai For You feed into clean, analysis-ready data.
No Kwai login is required.
Collect creator names, captions, hashtags, likes, comments, posters, avatars, and available direct MP4 URLs.
Use repeated snapshots to see which videos, creators, and topics are surfacing now.
This Actor supports the anonymous
https://www.kwai.com/For You feed in v1. It does not claim to scrape profiles, search results, or comment threads.
What does Kwai Trending Videos Scraper do?
Kwai Trending Videos Scraper opens the public Kwai home feed in a real browser.
It waits for rendered video cards and scrolls the feed container.
For each unique card it exports:
- 🎬 the Kwai video ID;
- 👤 the public creator name and avatar URL;
- 📝 the caption and a normalized hashtag list;
- ❤️ displayed likes normalized to an integer;
- 💬 displayed comments normalized to an integer;
- 🖼️ the poster or cover URL when rendered;
- 📹 a direct MP4 URL when Kwai loads it;
- 📍 the discovery position in the current snapshot;
- 🕐 an ISO scrape timestamp.
The Actor stops at your item or scroll limit and removes duplicates by video ID.
Why use this Kwai scraper?
Kwai is highly dynamic and its feed records are rendered in the browser.
Copying cards manually is slow and produces inconsistent data.
This Actor turns the visible feed into a stable dataset that can be exported or automated.
Key benefits include:
- ✅ anonymous feed collection without account credentials;
- ✅ compact
3.5K-style counters converted to numbers; - ✅ bounded scrolling for predictable runs;
- ✅ one clean row per unique public video;
- ✅ JSON, CSV, Excel, XML, RSS, API, and webhook access;
- ✅ scheduling for repeat trend snapshots.
Who is it for?
Social-listening teams
Capture periodic feed snapshots and compare hashtags, creators, and engagement.
Marketing agencies
Build evidence for campaign briefs and creator shortlists.
Creator researchers
Discover public videos and creators appearing in the anonymous For You experience.
Regional trend analysts
Track the mix of topics and creators exposed by Kwai over time.
Data engineers
Send structured Kwai feed rows into a warehouse, dashboard, or monitoring pipeline.
What Kwai data can you extract?
| Field | Type | Description |
|---|---|---|
videoId | string | Numeric Kwai card identifier |
creatorName | string | Public creator display name |
caption | string | Rendered caption text |
hashtags | string[] | Unique hashtags found in the caption |
likeCount | integer | Displayed likes normalized from compact notation |
commentCount | integer | Displayed comments normalized from compact notation |
avatarUrl | URL | Creator avatar when rendered |
posterUrl | URL | Video cover or poster when rendered |
videoUrl | URL | Direct MP4 when the card media loads |
feedPosition | integer | One-based discovery order for this run |
sourceUrl | URL | Public Kwai feed URL |
scrapedAt | datetime | Collection timestamp in ISO 8601 format |
Lazy media fields are optional because Kwai may not load every asset immediately.
Core identity, creator, caption, engagement, position, source, and time fields are always present on saved rows.
How to scrape Kwai trending videos
- Open the Actor input page.
- Set Maximum videos to the snapshot size you need.
- Keep the default scroll limit for a small run.
- Leave proxy disabled unless your region receives an empty or challenged feed.
- Click Start.
- Review the dataset while the run is active or after it finishes.
- Export results or connect the dataset to your workflow.
A 10-video prefilled run is the recommended first test.
Input parameters
| Parameter | Default | Range | Purpose |
|---|---|---|---|
maxItems | 10 | 1–500 | Maximum unique videos to save |
maxScrolls | 10 | 0–100 | Maximum feed-container scrolls |
scrollDelayMs | 1500 | 250–10000 | Wait for cards after each scroll |
proxyConfiguration | off | — | Optional Apify or custom proxy |
All parameters are optional.
The defaults form a complete anonymous feed workflow.
For larger snapshots, increase both maxItems and maxScrolls.
Example input
{"maxItems": 25,"maxScrolls": 12,"scrollDelayMs": 1800}
Example with Apify Proxy enabled:
{"maxItems": 25,"maxScrolls": 12,"scrollDelayMs": 1800,"proxyConfiguration": {"useApifyProxy": true}}
Start without a proxy to minimize cost.
Use a proxy only if logs report an empty or challenged feed.
Example output
{"videoId": "5219259128321585569","creatorName": "Iris.emcena","caption": "Grávida tá certa ? #telekwai","hashtags": ["#telekwai"],"likeCount": 787,"commentCount": 42,"avatarUrl": "https://aws-br-pic.kwai.net/...jpg","posterUrl": "https://p15-kimg.kwai.net/...webp","videoUrl": "https://aws-br-cdn.kwai.net/...mp4","feedPosition": 1,"sourceUrl": "https://www.kwai.com/","scrapedAt": "2026-07-24T04:30:00.000Z"}
URLs are shown shortened here only for readability.
Actual dataset rows contain complete URLs.
How much does it cost to scrape Kwai videos?
This Actor uses pay-per-event pricing.
A small start event covers browser startup.
A per-video event is charged only for rows saved to the dataset.
The current BRONZE rate is $0.00016872 per video plus a $0.001 run start.
At that rate:
- 10 videos cost about $0.0027;
- 25 videos cost about $0.0052;
- 100 videos cost about $0.0179.
Higher Apify plans receive automatic volume discounts shown on the pricing tab.
Apify Free plan credits can be used for initial snapshots.
Proxy traffic, when enabled, is billed by Apify according to your account plan.
Trend-monitoring workflow
Run the Actor on a schedule, such as every hour or every day.
Store each run timestamp with its video IDs and engagement values.
In your database or spreadsheet:
- join rows by
videoId; - compare
likeCountandcommentCountbetween snapshots; - rank engagement changes;
- group rising rows by
hashtagsorcreatorName; - alert when a creator or topic crosses your threshold.
Feed personalization and regional variation mean snapshots should be interpreted as observations, not a global Kwai chart.
Tips for reliable Kwai extraction
- Start with 10–25 videos.
- Keep
scrollDelayMsbetween 1500 and 2500 for larger snapshots. - Increase
maxScrollswhenmaxItemsis much larger than the initial feed. - Use the same scheduling and proxy setup when comparing snapshots.
- Treat direct MP4 URLs as temporary CDN links.
- Download or process media promptly if your workflow depends on it.
- Inspect logs before adding a residential proxy.
- Avoid many concurrent browser runs from the same region.
Scheduling and automation
Use Apify Schedules to run snapshots automatically.
A daily schedule is useful for broad topic monitoring.
An hourly schedule is useful for fast campaign or creator research.
Attach a webhook to receive the dataset ID after each successful run.
Keep historical datasets when you need change-over-time analysis.
Use retention settings that match your compliance and reporting needs.
Integrations
Google Sheets
Export each snapshot to a worksheet and build pivots by hashtag or creator.
Make
Trigger the Actor, filter videos by engagement, and send selected rows to Slack or Airtable.
Zapier
Start a run from a campaign workflow and create follow-up tasks for rising creators.
Webhooks
Send successful-run events to your own API and load rows by dataset ID.
Data warehouses
Pull JSON through the dataset API into BigQuery, Snowflake, PostgreSQL, or DuckDB.
LLM workflows
Send captions and hashtags to a classifier after collection rather than loading video media into the model.
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/kwai-trending-videos-scraper').call({maxItems: 25,maxScrolls: 12,scrollDelayMs: 1800,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Install the client with npm install apify-client.
Never commit your Apify token to source control.
Python API example
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/kwai-trending-videos-scraper').call(run_input={'maxItems': 25,'maxScrolls': 12,'scrollDelayMs': 1800,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Install the client with pip install apify-client.
cURL API example
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~kwai-trending-videos-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"maxItems":25,"maxScrolls":12,"scrollDelayMs":1800}'
Fetch dataset items after the run succeeds:
$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json"
Use Kwai data through MCP
Connect this Actor to Claude Code with the hosted Apify MCP server:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/kwai-trending-videos-scraper"
For Claude Desktop, Cursor, or VS Code, add an HTTP MCP server:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/kwai-trending-videos-scraper"}}}
Example prompts:
- “Run a 25-video Kwai For You snapshot and summarize the top hashtags.”
- “Collect 50 Kwai feed videos and rank creators by visible likes.”
- “Compare this Kwai snapshot with yesterday’s dataset by video ID.”
You need an Apify account and token for authenticated MCP tool use.
Data quality and normalization
Kwai displays some counters in compact notation.
The Actor converts values such as 3.5K to 3500 and 1.2M to 1200000.
Hashtags are deduplicated within each caption.
Cards without a numeric ID or creator name are skipped.
Duplicate cards are removed by videoId within the current run.
Feed positions represent discovery order, not an official global ranking.
Limitations
The public For You feed can vary by time, session, region, and Kwai experiments.
This Actor does not authenticate to Kwai.
It does not scrape profile pages, keyword search, comments, followers, or private data.
It does not guarantee that every card exposes a direct MP4 URL.
Kwai CDN URLs can expire.
A website redesign may require selector updates.
The Actor fails rather than returning a misleading successful empty dataset.
Privacy and legal considerations
This Actor collects data rendered publicly on Kwai.
You are responsible for your purpose, lawful basis, retention, and downstream use.
Review Kwai terms and applicable laws before running recurring collection.
Do not use the output to harass creators, infer sensitive traits, or build prohibited profiles.
Avoid redistributing copyrighted media without permission.
Minimize personal data and delete it when it is no longer needed.
This documentation is not legal advice.
Troubleshooting
Why did the run return an empty-feed error?
Kwai may have throttled or challenged the browser session.
Retry once with an Apify Proxy configuration and a conservative item limit.
If the problem persists, inspect the log for navigation or selector errors.
Why is videoUrl missing?
Kwai loads video media lazily.
Poster and metadata fields can be available before a card’s MP4 is attached.
Increase scrollDelayMs modestly, but do not assume every card will expose media.
Why did I receive fewer videos than requested?
The run may have reached maxScrolls or stopped after two scrolls without new IDs.
Increase maxScrolls and keep a reasonable scroll delay.
Why do two scheduled runs show different feeds?
The For You surface is dynamic and may vary by session or region.
Use snapshots as observed trend samples rather than an exhaustive global ranking.
Frequently asked questions
Does this Kwai scraper require login?
No. v1 uses the anonymous public For You feed.
Can it scrape a creator profile or video URL?
No. Those input modes are intentionally outside the verified v1 scope.
Can I download videos?
The dataset includes a direct MP4 URL when Kwai loads one.
You must handle copyright, storage, and link expiry in your own workflow.
Are likes and comments numeric?
Yes. Displayed compact counters are normalized to integers.
Can I run it on a schedule?
Yes. Apify Schedules are ideal for repeated feed snapshots.
Is the feed a global trending chart?
No. It is the anonymous For You feed observed by the current browser session.
Related social media scrapers
Extend your public social-data workflow with other Automation Lab Actors:
Choose this Actor when the required source is specifically the anonymous Kwai For You feed.
Support
If a run fails, include the run ID, input, approximate time, and whether a proxy was enabled.
Do not include account passwords, cookies, or private tokens.
Clear reproduction details help distinguish a Kwai page change from a regional delivery issue.
For feature requests, describe the exact public page and fields you need.
Profile, search, and comments are not implied by the current product scope.