
Instagram Reel Scraper
scrape.ly/store/echofield/instagram-reel-scraperSocial mediaVideos
1 monthly user

Scrape public Kwai (kwai.com) videos by video URL, profile, keyword search or hashtag: caption, views, likes, comments, shares, duration, MP4 and cover links, genres, transcript, music and creator stats. No login.
Scrape public videos from Kwai (kwai.com) by video URL, creator profile, keyword search or hashtag. Every row gives you the caption, views, likes, comments, shares, duration, direct MP4 and cover links, genres, transcript, audio track and the creator's follower and like counts. No login, no cookies, no app needed.
| Field | What it does |
|---|---|
startUrls | Video, profile (/@user), hashtag (/topic/...), search (/discover/...) or short share links |
profiles | Usernames, with or without @ |
searchTerms | Keywords to search |
hashtags | Hashtags, with or without # |
maxItems | Max videos per profile, search term or hashtag (default 20) |
oldestPostDate / newestPostDate | Date window: 2026-01-31 or relative like 30 days |
minViews / minLikes | Skip smaller videos (not charged) |
includeDetails | Genres, transcript, audio and creator stats (on by default) |
{
"startUrls": ["https://www.kwai.com/@someone/video/5213629630362183094"],
"profiles": ["someone"],
"searchTerms": ["receita de bolo"],
"hashtags": ["futebol"],
"maxItems": 50,
"oldestPostDate": "90 days",
"minViews": 1000
}
| Field | Description |
|---|---|
id, url | Kwai video ID and page link |
caption, hashtags, mentions | Caption text and the tags and @mentions in it |
createTime, timestamp | Posting time (ISO and epoch ms) |
viewCount, likeCount, commentCount, shareCount | Engagement |
duration, durationMs, width, height | Length and resolution |
playUrl, thumb, firstFrameUrl | MP4, cover and first-frame image links |
genres, transcript, musicMeta | Kwai's genre labels, speech transcript (when available), audio track |
isAiGenerated | Kwai's AI-content flag |
authorMeta | Creator ID, name, username, avatar, profile URL, bio, gender, verified, followers, likes, video count |
inputUrl / searchTerm / hashtag | Which input produced the row |
Example row (creator details are fictional):
{
"id": "5213629630362183094",
"url": "https://www.kwai.com/@ana.tattoo.demo/video/5213629630362183094",
"caption": "Nova tatuagem #tatuagem #fineline",
"hashtags": ["tatuagem", "fineline"],
"mentions": [],
"createTime": "2026-01-19T13:45:42Z",
"timestamp": 1768830342876,
"viewCount": 185172,
"likeCount": 12276,
"commentCount": 103,
"shareCount": 311,
"duration": 21,
"durationMs": 21155,
"width": 720,
"height": 1280,
"playUrl": "https://aws-br-cdn.kwai.net/upic/2026/01/19/21/...mp4",
"thumb": "https://aws-br-pic.kwai.net/upic/2026/01/19/21/...webp",
"firstFrameUrl": "https://ak-br-pic.kwai.net/upic/2026/01/19/21/...webp",
"transcript": null,
"genres": ["Tattoo/Body Art/Piercings", "Fashion"],
"musicMeta": {"name": "Áudio original criado por Ana Demo", "author": "Ana Demo"},
"isAiGenerated": false,
"authorMeta": {
"id": "3xdemo0000000001",
"name": "Ana Demo",
"username": "ana.tattoo.demo",
"avatar": "https://aws-br-pic.kwai.net/bs2/overseaHead/....jpg",
"url": "https://www.kwai.com/@ana.tattoo.demo",
"type": "Person",
"bio": "Tatuadora em São Paulo",
"gender": "F",
"verified": false,
"followersCount": 7068,
"likesCount": 43711,
"videoCount": 278
},
"inputUrl": "https://www.kwai.com/@ana.tattoo.demo/video/5213629630362183094",
"scrapedAt": "2026-10-15T20:53:27.493Z"
}
You pay $1.50 per 1,000 videos saved ($0.0015 per video), plus a small amount of platform usage (compute and datacenter proxy traffic). A typical run of 1,000 videos costs about $1.51 in total. Videos removed by your filters are never charged.
Is scraping Kwai legal? The actor only reads public data that kwai.com shows to any visitor without logging in. You are responsible for how you use the data, including privacy laws such as the GDPR and LGPD.
Do I need a Kwai account or a proxy? No account. The default datacenter proxy works; residential exits are pinned to Brazil if you switch to them.
How many videos can I get? Profiles return the creator's public catalogue. Search and hashtag feeds go deep (hundreds to thousands of videos per keyword); the run stops when Kwai stops returning new videos or at your limit.
Why is a field empty?
Kwai does not have every field for every video: transcripts exist only for videos with speech, and genres are missing on some videos. Empty fields are null or an empty list.
Can I schedule runs or use the API? Yes. Schedule the actor in the console or start it through the API and fetch the dataset as JSON, CSV or Excel.
I used another Kwai scraper before. Will my input work?
The urls, searchTerms and maxItems fields are accepted as they are, and the output keeps the familiar field names (authorMeta, playUrl, thumb, genres, ...).
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalKwai URLs
kwai.com links: video pages (https://www.kwai.com/@user/video/123...), profiles (https://www.kwai.com/@user), hashtag pages (https://www.kwai.com/topic/futebol), search pages (https://www.kwai.com/discover/receita) or short share links.
profilesarrayOptionalUsernames
Kwai usernames (with or without @). Each returns that creator's latest videos.
searchTermsarrayOptionalSearch terms
Keywords to search on Kwai, for example "futebol" or "receita de bolo".
hashtagsarrayOptionalHashtags
Hashtags (with or without #). Each returns videos from that hashtag's feed.
maxItemsintegerOptionaldefault 20Max videos per input
Maximum number of videos for each profile, search term or hashtag. A video URL always returns its one video.
oldestPostDatestringOptionalPosted after
Only keep videos posted on or after this date: 2026-01-31, or relative like "30 days". Profiles stop paging once they pass it.
newestPostDatestringOptionalPosted before
Only keep videos posted on or before this date (2026-06-30 or "7 days").
minViewsintegerOptionalMinimum views
Skip videos with fewer views. Skipped videos are not charged.
minLikesintegerOptionalMinimum likes
Skip videos with fewer likes. Skipped videos are not charged.
includeDetailsbooleanOptionaldefault trueInclude genres, transcript and creator stats
Adds genres, the transcript (when Kwai has one), the audio track name and the creator's follower and like counts to every video. Turn off for slightly faster runs.
proxyobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for kwai.com. Residential exits are pinned to Brazil, Kwai's main market, unless you pick a country.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| thumb | any | Cover |
| caption | any | Caption |
| authorMeta.username | any | Creator |
| viewCount | any | Views |
| likeCount | any | Likes |
| commentCount | any | Comments |
| shareCount | any | Shares |
| duration | any | Duration (s) |
| createTime | any | Posted |
| genres | any | Genres |
| url | any | Video |
| playUrl | any | MP4 |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Video | One public Kwai video saved to the dataset, with its stats, media links and creator details. | $0.0015 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/kwai-scraper').call({
"startUrls": [
"https://www.kwai.com/@jadebelchior905"
],
"maxItems": 20,
"proxy": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/kwai-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/kwai-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Keyword search for Kwai videos with details.
Videos from a hashtag feed filtered by minimum views.
Recent videos posted by one Kwai user.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.