Kuaishou API in Python: three ways to get Kuaishou data, tested
Three ways to get Kuaishou data in Python: the open platform, an open-source kuaishou scraper, or a pay-per-call API. A live 9-step chain cost $0.016.

On November 14, 2026, from 00:18 to 01:25 Singapore time, we ran a 9-step Kuaishou chain four times in Python with requests. Each chain did a keyword search, a video detail call, two comment pages and five public rankings. All 36 charged requests returned data, and every charge matched the price in the catalog. One full chain cost $0.016030.
The results show three things that the docs do not tell you. First, the age of search results depends on the keyword. For "wheat sowing", 18 of 20 videos were from the last 30 days; for "Fuji apples", only 1 was. Second, rankings move at very different speeds.
After 37 minutes, only 21 of 49 trending titles were the same, but the top 50 shopping products did not change in four snapshots. Third, a big comment count does not mean useful comments. The two newest pages on a BYD video with 15,169 comments held only emoji and "666".
We also checked the other two ways against first-hand sources. The Kuaishou Open Platform admits companies after a review, and a user token reads only that user's own profile and videos. Among open-source projects, a KS-Downloader issue from November 2, 2026, reports that video detail always fails after the web redesign.
Kuaishou and Kwai are two apps
Kuaishou is the short-video app for mainland China. Its parent company also runs Kwai, an international app with strong use in Brazil and other Latin American markets. The two apps have different users, different content and different web domains. This guide covers mainland Kuaishou only. When a search engine shows you a "kuaishou api" result about Kwai, check the domain first.
Kuaishou is large. The company reported 412.3 million average daily active users and 797.3 million monthly active users for the second quarter of 2026. That scale is the reason analysts, brand teams and researchers outside China ask how to read its public data from Python.
The three ways to get Kuaishou data, and who each one fits
There are three ways to get Kuaishou data with Python. You can join the Kuaishou Open Platform, register an app and ask users to authorize it. You can run an open-source kuaishou scraper from GitHub. Or you can call a pay-per-call data API. The data that each way can reach is very different.
| Item | Kuaishou Open Platform (open.kuaishou.com) | Open-source scripts on GitHub | Pay-per-call data API (EveryInfra, tested here) |
|---|---|---|---|
| Who can join | A company. Onboarding asks for company, legal-representative and admin details, then a platform review | Anyone | Anyone with an API key |
| Whose data you read | The authorizing user's own public profile and own video list | What the web pages and endpoints show at that moment; most projects need a logged-in session | Public video search, video detail, comments, account search and five public rankings |
| Keyword search | No keyword search of other users' videos in the content docs | Yes, while the project and its session still work | kuaishou/search, 20 rows by default, up to 100 |
| Comments | No public endpoint for comments on other users' videos | Yes; issues in 2026 report incomplete comments (for example MediaCrawler #843) | kuaishou/comments, by page, with a page token |
| Rankings | None | A few projects | Trending, category boards, live, shopping and brand rankings |
| Cost | Free, after review and per-endpoint approval | Free code; you pay for servers, accounts and upkeep | Catalog prices: search $0.008 per call, comments $0.001597 per page, rankings $0.000806 per call |
| Main risk | Access tokens last 48 hours; the refresh token ends after 180 days (login docs) | A site redesign breaks the parser; licenses can forbid commercial use | Pay per use; coverage follows the catalog |
Way 1: the official kuaishou api on the Kuaishou Open Platform
We read every page below on November 14, 2026. The date in brackets is the "last updated" date shown on that page.
Who can join: companies, after a review
The platform introduction page (updated 2024-09-06) lists three open capabilities: Kuaishou login, user management and content sharing. They come as SDKs or as open APIs. The page also lists three other products: mini programs, games and e-commerce. The list has no capability for data queries or content search. The platform exists so that third-party apps can use Kuaishou accounts and sharing.
The onboarding page (updated 2026-03-06) starts with a bold sentence. Developers must first fill in basic details and pass a qualification check, and the platform must approve them. The qualification step asks for company information, legal-representative information and admin information. After you submit, a review starts.
You can create apps only after approval. We found no onboarding path for individual developers. The mini-game qualification page also sets rules for the developer entity.

The app registration page (updated 2026-03-06) has three app types: mobile, website and game. A website app must also upload a website registration form. The mobile section notes that live-streaming permissions are not open for application yet. After approval you get an app_id and an app_secret.
Then you apply for each open endpoint, one by one, in the app details. The FAQ page (updated 2024-08-26) explains two common errors. ACCESS_DENIED means the user did not grant that scope. INVALID_SCOPE means your app never applied for the endpoint.
What you can read: the authorizing user's own data
The Kuaishou login page (updated 2024-07-23) is the gate to every data endpoint. It supports only the OAuth 2.0 authorization_code flow. A user approves your app in Kuaishou, and your callback gets a code that is valid for 2 minutes. You exchange the code for an access_token, which lasts 48 hours (172,800 seconds).
The refresh_token lasts 180 days. A refresh does not extend the refresh_token itself. So even with daily refreshes, the user must authorize your app again after 180 days.
Two endpoint pages show what a token can read. The public user information endpoint returns the user's nickname, gender, avatar, city, follower count and following count. The video query page (updated 2024-12-23) lists a video list, a single video detail and a video count. All three need the scope user_video_info, and all three read videos that the authorizing user posted. The video list pages with a cursor. The count is 20 by default and 200 at most.

So the open platform docs have no endpoint for three common jobs. You cannot search other users' videos by keyword. You cannot read comments on a popular video. You cannot take a daily snapshot of the trending list. The platform fits a clear job: your app lets a Kuaishou user log in, and then it shows or analyzes that user's own videos.
| Open platform fact | Source page and update date | Effect on data access |
|---|---|---|
| Onboarding asks for company, legal-representative and admin details, then a review | Developer onboarding, 2026-03-06 | No path for individuals |
| Three app types; website apps upload a registration form | App registration, 2026-03-06 | You need a site or an app first |
| Each endpoint needs its own approval | App registration, 2026-03-06 | Access is granted per endpoint |
| Only authorization_code; the code lasts 2 minutes | Kuaishou login, 2024-07-23 | A real user must click "authorize" |
| access_token 48 hours; refresh_token 180 days, not extended | Kuaishou login, 2024-07-23 | Users must authorize again every six months |
| Video list needs user_video_info, reads own videos, count up to 200 | Video query, 2024-12-23 | You cannot read other users' videos |
| ACCESS_DENIED versus INVALID_SCOPE | FAQ, 2024-08-26 | Two errors with two different fixes |
E-commerce, ads and the Kuaishou Index
Kuaishou has three more official entry points that touch data. People who search for a "kuaishou api" often mix them up. The e-commerce open platform has two roles, service provider and merchant. Its endpoints cover your own shop, products, orders and after-sales.
The advertising developer site offers the marketing API for your own ad accounts, campaigns and reports. Its latest changelog entry is dated 2026-08-27. The Kuaishou Index shows keyword popularity after login. Its user agreement, in force since 2023-06-01, allows only non-commercial use and forbids crawlers and other automated tools.
The mini-program service agreement (updated 2025-09-22, in force 2025-09-16) has a clear clause in section 5, item 5. Without Kuaishou's consent, you must not collect, store, scrape or process any user data, or ask any user to provide it. The clause binds mini-program developers. It also shows Kuaishou's general position: reading or storing user data needs Kuaishou's consent first.
Way 2: an open-source kuaishou scraper from GitHub
Search for "kuaishou scraper" or "kuaishou crawler github" and five projects appear again and again. On November 14, 2026, around 00:20 Singapore time, we read their stars, last push and license through the GitHub API. We also read each README and the Kuaishou issues from the past year. This guide names projects only. It does not name the people who reported issues.
| Project | Stars | Last push (UTC) | License | How the README says it gets data |
|---|---|---|---|---|
| MediaCrawler | 71,088 | 2026-11-09 | Custom terms (GitHub shows NOASSERTION) | Many platforms; Playwright browser with a logged-in session; README says study only, no commercial use |
| KS-Downloader | 897 | 2026-10-26 | GPL-3.0 | Kuaishou video download; parses data inside video pages |
| KuaiShou-Spider | 81 | 2026-10-08 | None stated | Reverse-engineered Kuaishou endpoints |
| lxSpider | 1,975 | 2024-05-09 | GPL-3.0 | A collection of crawlers for many sites |
| kuaishou-crawler | 185 | 2023-05-22 | MIT | An early Kuaishou download script; no push in three years |
Failure reports in 2026: video detail breaks after a redesign
The newest Kuaishou failure report is KS-Downloader issue #84. It was opened on 2026-11-02 and was still open when we read it. Its title says that video detail always fails. The report says that after a recent Kuaishou web redesign, the desktop video page no longer holds the video data.
The mobile share page still holds the data. But the project's regular expression needs two fields to sit next to each other. About half of the responses for the same link use a different page layout, so the same link sometimes works and sometimes fails.
When the page structure changes, the parser must change too, and the fix waits for a maintainer's free time. MediaCrawler had four Kuaishou items in 2026. Issue #808 (2026-01-10) reported no comments and closed the same day.
Issue #843 (2026-03-09) reported incomplete comments and an endpoint error, and it is still open. Pull request #917 (2026-06-15) fixed an endless loop in Kuaishou paging. Issue #954 (2026-08-06) reported that videos cannot be downloaded in detail mode, and it is still open.
Comments and paging break most often. Video detail can break completely after a web redesign. If you run a scraper, plan for this upkeep. Read the issues from the last month before you depend on any project.
Licenses, logged-in sessions and robots.txt
The license decides whether you can use a script at work. The MediaCrawler README says that all content is for study and reference only and must not be used commercially. It also links a repository that collects Chinese court cases about crawlers. KS-Downloader and lxSpider use GPL-3.0, so a modified version that you distribute must also be open source.
KuaiShou-Spider states no license. GitHub's documentation says that without a license, default copyright applies, and nobody else may copy, distribute or modify the work. Only kuaishou-crawler uses the permissive MIT license, but its last push was in May 2023.
A logged-in session is another cost. MediaCrawler opens a real browser with Playwright and saves the session state. Its issue template asks reporters to confirm that the problem is not a slider challenge, an expired cookie or platform risk control. Those three are where self-run scripts usually stop.
Kuaishou's robots.txt, read on November 14, 2026, allows about a dozen named crawlers. Its last block says Disallow: / for every other user agent. This guide does not explain how to deal with challenges, risk control or expired sessions. Those topics are about getting around platform limits, and they are out of scope.
Way 3: a pay-per-call kuaishou data api in Python
The third way keeps sessions, page parsing and redesign fixes on the service side. Your Python code only sends HTTP requests and reads JSON. We used EveryInfra's POST /api/v1/social with platform set to kuaishou and a different action for each capability. Before you start, read the free catalog at GET /api/v1/social/catalog?platform=kuaishou. On November 14, 2026, at 00:14 Singapore time, it showed the Kuaishou capabilities as available. The table lists their prices and our test calls.
| Capability | What it returns | Key parameters | Price per call | Calls in our tests |
|---|---|---|---|---|
kuaishou/search | Public videos for a keyword | keyword, limit (20 by default, up to 100) | $0.008 | 4 |
kuaishou/video | Video detail: views, likes, comments, shares, saves, author | url (link or id) | $0.000806 | 4 |
kuaishou/comments | Comments on a video, one page per call | url, page_token | $0.001597 | 8 pages |
kuaishou/user_search | Accounts for a keyword | keyword | $0.008 | 1 |
kuaishou/user_live | Whether an account is live, and its video count | user_id | $0.000806 | 1 |
kuaishou/trending | Kuaishou trending topics | none | $0.000806 | 4 |
kuaishou/hot_boards | Category boards | board: hot, entertainment, society, useful | $0.000806 | 4 |
kuaishou/live_rank | Live-stream ranking | category: all, music, dance and 8 more | $0.000806 | 4 |
kuaishou/shopping_rank | Shopping ranking | board: hosts or products | $0.000806 | 4 |
kuaishou/brand_rank | Brand ranking | category: beauty, food_drink, auto and 7 more | $0.000806 | 4 |
kuaishou/hot_person_board | Trending people | see the catalog | $0.000806 | Not tested |
The script below needs only requests. On November 14 at 02:15 Singapore time, we ran it once as it is, with the keyword for Fuji apples. All 9 requests returned data, and the charges came to $0.016030. It reads the key from an environment variable and saves the request, timing and full response of each step as JSON. It handles three cases that we met in the tests.
First, it waits for retry_after and sends the request again after a 429 or a retryable 503; neither is charged. Second, a slow call can answer status: running with a poll_url, so the script polls that URL instead of sending the request twice. Third, it drops rows whose text does not contain the keyword before it picks a video.
"""Kuaishou chain: search -> video -> comments (2 pages) -> trending -> hot_boards -> live_rank -> shopping_rank -> brand_rank.
pip install requests==2.32.3 ; export EVERYINFRA_API_KEY=... ; python kuaishou_chain.py 红富士苹果 run1"""
import json, os, sys, time
from pathlib import Path
import requests
API = "https://api.everyinfra.com/api/v1/social"
SESSION = requests.Session()
SESSION.headers["Authorization"] = "Bearer " + os.environ["EVERYINFRA_API_KEY"] # the key stays in the environment
def call(action, params, out_dir, name):
body = {"platform": "kuaishou", "action": action, "params": params}
for _ in range(5):
t0 = time.time()
r = SESSION.post(API, json=body, timeout=150)
data = r.json()
err = data.get("error") or {}
# 429 and retryable 503 are not charged: wait as told, then send the same request again
if r.status_code == 429 or (r.status_code == 503 and err.get("retryable")):
time.sleep(int(err.get("retry_after") or 60))
continue
break
# slow calls answer status=running with a poll_url: poll it instead of sending the request again
while data.get("status") == "running" and data.get("poll_url"):
time.sleep(5)
data = SESSION.get(data["poll_url"], timeout=60).json()
rec = {"started_sgt": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t0)), "elapsed_s": round(time.time() - t0, 2),
"http_status": r.status_code, "request": body, "response": data}
out_dir.mkdir(parents=True, exist_ok=True)
(out_dir / f"{name}.json").write_text(json.dumps(rec, ensure_ascii=False, indent=1))
rows = data.get("results") or []
print(name, r.status_code, rec["elapsed_s"], len(rows), (data.get("billing") or {}).get("charged_usd"), flush=True)
time.sleep(7) # a short gap between calls; set it from the rate limit of your own key
return data, rows
def main(keyword, tag, hot="hot", shop="products", brand="food_drink", live="all"):
out = Path(os.environ.get("OUT_DIR", ".")) / tag
_, videos = call("search", {"keyword": keyword, "limit": 20}, out, "1_search")
word = keyword.split()[0] # keep rows whose text has the keyword, then take the most-commented one
on_topic = [v for v in videos if word in (v.get("text") or "")] or videos
if not on_topic:
return print("empty search: not charged, stop here")
pick = max(on_topic, key=lambda v: (int(v.get("comment_count") or 0), int(v.get("like_count") or 0)))
vid = str(pick["id"]) # a long numeric id also works as the url input of video and comments
call("video", {"url": vid}, out, "2_video")
page1, _ = call("comments", {"url": vid}, out, "3_comments_p1")
if page1.get("next_page_token"):
call("comments", {"url": vid, "page_token": page1["next_page_token"]}, out, "4_comments_p2")
call("trending", {}, out, "5_trending")
call("hot_boards", {"board": hot}, out, "6_hot_boards")
call("live_rank", {"category": live}, out, "7_live_rank")
call("shopping_rank", {"board": shop}, out, "8_shopping_rank")
call("brand_rank", {"category": brand}, out, "9_brand_rank")
if __name__ == "__main__":
main(*sys.argv[1:])Each of the nine steps does one job. kuaishou/search finds public videos for a keyword. Each row has fields such as the video id, text, duration in milliseconds, views, likes, post time and author id. kuaishou/video adds the save count, the video link and the author profile link. kuaishou/comments returns one page of comments, and each row has the commenter id, text, likes, post time and region.
The last five steps are rankings and need no keyword. To find accounts by keyword, call kuaishou/user_search as well. Our search for "orchard" returned 30 accounts for $0.008. The script waits 7 seconds between calls; set that gap from the rate limit of your own key.
Live tests: four keywords at four times
We chose four keywords. "Fuji apples" and "wheat sowing" feed the farm sampling example later: one is a farm product, the other a farm technique in the autumn sowing season. "Avocado" is an imported fruit that sells all year. "BYD" pairs with the auto brand ranking for the brand research example.
The first three runs used the hot or useful board, the products board and the food and drink brand ranking. The fourth run used the auto brand ranking. The four runs started at 00:18, 00:29, 00:56 and 01:20 Singapore time on November 14, 2026.
| Test | Time (SGT) | Keyword | Search rows returned | Comments on the picked video | Comment rows, two pages | Charge, 9 steps |
|---|---|---|---|---|---|---|
| 1 | 00:18–00:23 | Fuji apples | 20 | 2,166 | 10 + 10 | $0.016030 |
| 2 | 00:29–00:33 | wheat sowing | 20 | 65 | 15 + 10 | $0.016030 |
| 3 | 00:56–00:58 | avocado | 20 | 6,412 | 10 + 10 | $0.016030 |
| 4 | 01:20–01:25 | BYD | 20 | 15,169 | 10 + 10 | $0.016030 |
Every charge matched the catalog price. Search cost $0.008, video detail and each ranking cost $0.000806, and each comments page cost $0.001597. One full chain therefore cost $0.016030.
We measured API time as the sum of the nine request times, without the pause between steps or any wait before a retry. The median over the four full chains was 58.9 seconds (sample of 4). For batch jobs, put searches in a parallel queue and run rankings on their own schedule. Your own key's rate limit sets how far you can go.

Search: the same 20 rows can be very old or very new
Kuaishou search ranks by relevance. A result can be three years old or one day old. In Test 1, "Fuji apples" returned 20 videos. The oldest was posted on 2023-09-05 and the newest on 2026-10-27. Only one of the 20 was posted in the last 30 days.
In Test 2, all 20 "wheat sowing" videos were from 2026, and 18 were from the last 30 days. The reason is the season. Winter wheat sowing was ending in mid-November. On November 11, 2026, CCTV reported that more than 80% of China's winter wheat was sown. Apple harvest and sales peak in September and October, so search keeps last year's hits.
Suppose you want to know what Kuaishou videos about Fuji apples say this month. If you use the top 20 search rows as they are, 95% of the sample is old. First filter by posted_at to your time window. Then search more related keywords if the sample is too small.
The video id in a search row is a long number. You can use it directly as the url input of kuaishou/video and kuaishou/comments, with no need to build a link. The verified flag shows a clear difference between the two keywords. None of the 20 "Fuji apples" rows came from a verified account, but 9 of the 20 "wheat sowing" rows did. Farming topics have more institutions and media accounts.
Our script picks a video by comment count first and by likes second. In your statistics, record "empty" and "zero" as two different values.
Views spread widely. "Fuji apples" ran from 112 to 3,086,343 views, with a median of 24,703. "Wheat sowing" ran from 64 to 905,160, with a median of 4,162. Our script keeps rows whose text has the first two characters of the keyword. That kept 18 rows for each keyword. Then it picks the row with the most comments.
Comments: 10 to 15 per page, 217 pages for one popular video
kuaishou/comments returns one page per call, and the page size varies. In Test 1, both pages had 10 rows. In Test 2, page 1 had 15 rows and page 2 had 10. Each page carries a next_page_token.
Send it back as it is to get the next page. The token is a long string that starts with pt1., and you do not need to parse it. Tests 3 and 4 also returned 10 rows per page. Over all eight pages we got 85 rows, or 10.6 rows per page on average.
At 10 rows per page, the Fuji apple video from Test 1 needs 217 pages to read all 2,166 comments. At $0.001597 a page, that is about $0.35. The same money buys 43 keyword searches. So take comments in two tiers. For topic or sentiment work, the first two or three pages (20 to 45 rows) are often enough. For a full archive, estimate pages and budget from the comment count first.
Order matters too. In Test 1, the 20 comments came newest first. The newest was from 2026-08-28 and the oldest from 2026-01-07. The video itself was posted on 2024-11-03. So two pages covered only the last eight months of discussion. The 25 comments in Test 2 were not in strict time order.
All 85 comment rows from the four tests had an ip_location value, the region that Kuaishou displays. In Test 1 the top regions were Guangdong 5, Yunnan 4 and Shandong 2. In Test 2 they were Hunan 6, Sichuan 5 and Guangdong 3. Likes were rare: 19 of 20 rows in Test 1 and 23 of 25 in Test 2 had zero likes. Commenter names and avatars are in the response, but we do not store them.
Test 3 showed another pattern. The avocado video was posted in 2023 and had 6,412 comments. Its two newest pages covered a full year, from 2025-10-24 to 2026-11-02. Thirteen of the 20 rows were replies that start with the Chinese word for "reply" and the name of the person they answer. Remove that prefix before you store the text, because it holds another user's name.
The video picked in Test 2 was a news report on winter wheat sowing, posted on 2026-11-12 by a verified CCTV account. It had 632,220 views and 6,976 likes. All 25 comments on its two pages came within 24 hours of the post, so they show the first reaction to a news item.
Rankings: trending changes fast, shopping and brand rankings barely move
The five rankings need no keyword. Each costs $0.000806 and returns 27 to 51 rows, so they are the cheapest data in the chain. We took one snapshot of each at four times to see how fast they change.
kuaishou/trending returned 47 to 51 rows each time. Each row has a rank, a title, a label and a list of related video ids. The snapshots at 00:20 and 00:31 were 11 minutes apart. They shared 40 of 49 titles and 7 of the top 10.
Later snapshots changed more. At 00:57, only 21 titles (43%) matched the 00:20 list. At 01:21, 29 titles (59%) matched. Each time, 7 of the top 10 matched the first snapshot.
Over the same hour, the share of the 50 live streamers that matched the first snapshot fell from 94% to 52%. News and public affairs fill the top of the list. We do not quote titles here. For research, treat the list as a record of what the platform showed at that moment.
kuaishou/hot_boards has four boards: hot, entertainment, society and useful. Each row has a rank, a title, a view count and a label. The hot board at 00:21 had 51 rows, and its top 10 held the same titles as the trending top 10 from one minute earlier. The first six were in the same order, and ranks 7 to 10 were in a different order.
The useful board at 00:31 had 27 rows. It mixed home cooking and rural how-to items with game guides and dance tutorials. Two examples are drying mustard greens and a new way to cook radish. Rank does not follow views: the first row had 10,037,740 views and the fourth row had 11,988,803.
kuaishou/live_rank returns 50 streamers who are live, with a popularity score and a stream title. kuaishou/shopping_rank with the products board returns 50 products, with a price in CNY, promotion labels and popularity. kuaishou/brand_rank returns the live accounts of brands in one category. In our snapshots, the products board and the food and drink brand ranking were identical every time.
The food and drink top 10 included Mixue, Wuchang rice, Want Want, KFC, Moutai, Oreo and Wuliangye, with popularity from 203,000 down to 188,000. At the fourth snapshot, at 01:25, the 50 products and their order were still the same as at 00:22. The food and drink brand ranking was identical in the first three snapshots. These two rankings did not change in four snapshots over 63 minutes. We found no public note on how often they update, so one snapshot a day is a safe choice.
The products board also shows the price band of top Kuaishou sellers. The median price of the 50 products was CNY 39.45. The lowest was CNY 8.9 and the highest CNY 236. Of the 50 products, 28 cost less than CNY 50. The most common promotion label was a small spend-and-save offer of CNY 2 off CNY 12, on 17 products. By name, about 30 of the 50 products were food or daily consumer goods.
Cost per 1,000 rows
A per-call price is easy to read. The harder number is the cost of 1,000 rows, because each call returns a different number of rows. We computed it from the real row counts and charges of every live call: cost per 1,000 rows = total charge ÷ rows returned × 1,000. Empty results were refunded and do not count.
| Capability | Charged calls | Rows returned | Total charge | Cost per 1,000 rows |
|---|---|---|---|---|
kuaishou/live_rank | 4 | 200 | $0.003224 | $0.0161 |
kuaishou/brand_rank | 4 | 200 | $0.003224 | $0.0161 |
kuaishou/shopping_rank | 4 | 200 | $0.003224 | $0.0161 |
kuaishou/trending | 4 | 196 | $0.003224 | $0.0164 |
kuaishou/hot_boards | 4 | 180 | $0.003224 | $0.0179 |
kuaishou/comments | 8 | 85 | $0.012776 | $0.1503 |
kuaishou/user_search | 1 | 30 | $0.008000 | $0.2667 |
kuaishou/search | 4 | 80 | $0.032000 | $0.4000 |
kuaishou/video | 4 | 4 | $0.003224 | $0.806 per 1,000 videos |
The table holds the four full chains and one account search, 37 charged calls in all. With one kuaishou/user_live call ($0.000806), that makes 38 charged requests for $0.072926. The one extra run of the script (9 calls, $0.016030) is not in this table.
Search costs 9.9 times a ranking per call ($0.008 ÷ $0.000806) and about 25 times per 1,000 rows ($0.4000 ÷ $0.0161). The comment cost per 1,000 rows depends on page size: $0.16 at 10 rows a page and about $0.11 at 15. Video detail returns one row, so it costs $0.806 per 1,000 videos. Use it to add save counts and links, not for every search row.
The catalog sets the search limit at 100 at most and charges per call. We tested only limit 20, so we did not measure how many rows limit 100 returns.
Brand research example: an EV maker on Kuaishou
Many readers outside China use Kuaishou to watch Chinese brands. Electric vehicles are a good test case, because Chinese EV makers compete hard on price and on video. In Test 4, at 01:20 Singapore time, we searched for BYD in Chinese and pulled the auto brand ranking in the same chain. The chain cost $0.016030. Everything below comes from that one chain and a close reading of its 20 search rows and 20 comment rows.
| What we looked at | What Test 4 showed |
|---|---|
| Videos returned | 20; views from 509 to 880,991, median 251,397 |
| Age | 5 from the last 30 days, 10 from earlier in 2026, 2 from 2025, 3 from 2024 |
| Models named in the text | Seal, Sealion, Seagull, Yuan UP, Han, Song DM-i, Qin PLUS and a new Yangwang model |
| Prices in the text | Yuan UP from CNY 63,800; a 2026 Qin PLUS from CNY 64,800; the new Yangwang model at an expected CNY 2.08 million |
| Sales angle | 3 rows use low-down-payment hashtags; 2 rows use celebrity ambassador hashtags |
| Noise | 1 row is a job advert, and 2 rows have no text at all |
| Video picked | Posted 2026-07-08 by a verified account: 207,257 views, 26,435 likes, 15,169 comments, 4,791 shares, 119 seconds |
The search rows tell you how BYD sells on Kuaishou. Dealers and fans talk about price, monthly payments and new models more than about technology. The prices in the text are what sellers wrote in their captions, not list prices. Check them against BYD's own price lists before you quote them.
The comments tell a different story. The picked video is an advert for a Seal 08, posted by a verified account with a celebrity tag. The two newest comment pages held 20 rows from 2026-11-09 to 2026-11-13. All 20 rows were emoji, short reactions or "666", the Chinese internet slang for "awesome".
All 20 had zero likes, and 7 came from Shandong. A sentiment model would find nothing to read here. For brand research, drop emoji-only comments first, and then count how many real comments remain. Reading all 15,169 comments would take about 1,517 pages and cost about $2.42, so first sample a few pages from several videos.
kuaishou/brand_rank with category auto adds context. At 01:25 its top 10 were BYD at 227,000, then Jetour, BMW, Chery, BAIC, Geely, FAW-Volkswagen Jetta, Deepal, SAIC-GM-Wuling and Land Rover at 199,000. The score is a popularity value for each brand's live account, not a sales figure. Our food and drink snapshots did not change within the hour we watched. For a brand dashboard, one snapshot of each category per day is a safe choice. Ten categories at $0.000806 each cost about $0.24 a month.
Cross-domain example: sampling farm creators and their comments
Kuaishou held a rural ecosystem conference on October 25, 2026. A local newspaper reported figures from the company's 2026 rural ecosystem report. Rural creators with more than 10,000 followers numbered more than 96,000 monthly active accounts. Rural content drew 1.45 billion plays a day. Farm-technique creators numbered more than 200,000 monthly active accounts, and more than 240,000 users searched for farm techniques each day.
These numbers come from the platform's own report through a newspaper, and we did not read the report itself. The steps below give a sampling method for research on rural economics, extension services or rural media. They describe a method only. They make no claim about any person or account.
The method in six steps
- Build two keyword lists: farm techniques and farm products. Choose technique words by season, such as wheat sowing or orchard winter pruning in November. Choose product words by region and crop, such as Fuji apples or Wuchang rice. Also run
kuaishou/user_searchfor each word to see which accounts appear. - Filter by a time window. Our tests showed that product keywords return mostly old videos. Set the window first, for example the last 30 days or the sowing season from October 1 to November 30. Keep rows outside the window apart.
- Classify authors and keep only a hash. Rural content mixes individual farmers, farm-supply sellers and media or official accounts. In the wheat sowing sample, 9 of 20 rows came from verified accounts, and 5 more had seller-style names. Store a SHA-256 hash of the author id. Do not store names or avatars.
- Flag platform campaign tags. In the wheat sowing sample, 6 of 20 rows had platform campaign hashtags. In the Fuji apple sample, 2 rows had one. Campaign videos get extra traffic, so analyze their views and engagement as a separate group.
- Take two pages of comments and aggregate by region. For each keyword, pick the top three videos by comments in the window and take two pages each. That gives about 60 to 90 rows. Keep only text, time, region and likes, and count regions at province level.
- Add rankings as context. Take one daily snapshot of the useful board in
kuaishou/hot_boardsand the products board inkuaishou/shopping_rank.
The script below covers steps 2 to 4. It reads the raw search JSON, filters by days, hashes author ids, assigns a simple author role and flags campaign tags. It writes a CSV file.
"""Sample kuaishou/search results for agriculture research: time window, hashed author ids, roles, campaign tags.
python sannong_sample.py 30 run1/1_search.json run2/1_search.json > sample.csv"""
import csv, hashlib, json, re, sys
from datetime import datetime, timedelta, timezone
CAMPAIGN = re.compile(r"#(喜爱度激励计划|助农帮帮团|快手助农|光合计划|幸福乡村|快手三农)") # platform campaign hashtags
SELLER = re.compile(r"农资|种业|农机|机械|播种机|装备|厂|果业|商行|旗舰") # seller-style words in author names
def rows(path):
rec = json.load(open(path, encoding="utf-8"))
kw = rec["request"]["params"]["keyword"]
for v in rec["response"].get("results") or []:
yield kw, rec["started_sgt"], v
def main(days, *paths):
now = datetime.now(timezone.utc)
w = csv.writer(sys.stdout)
w.writerow(["keyword", "fetched_sgt", "video_id", "posted_at", "in_window", "author_hash", "author_role",
"campaign_tag", "has_keyword", "view_count", "like_count", "comment_count", "duration_s"])
for kw, fetched, v in (r for p in paths for r in rows(p)):
posted = datetime.fromisoformat(v["posted_at"])
name, text = v.get("author_name") or "", v.get("text") or ""
role = "verified" if v.get("author_verified") else ("seller_like" if SELLER.search(name) else "other")
w.writerow([kw, fetched, v["id"], v["posted_at"][:10], posted >= now - timedelta(days=int(days)),
hashlib.sha256(str(v["author_id"]).encode()).hexdigest()[:12], # no nickname is kept
role, bool(CAMPAIGN.search(text)), kw.split()[0] in text,
v.get("view_count"), v.get("like_count"), v.get("comment_count"), round((v.get("duration_ms") or 0) / 1000)])
if __name__ == "__main__":
main(*sys.argv[1:])We ran it on the two searches from Tests 1 and 2. "Fuji apples" had 1 row in the 30-day window, 16 distinct authors, 2 campaign rows and a median video length of 8 seconds. "Wheat sowing" had 18 rows in the window, 18 distinct authors, 6 campaign rows and a median length of 21.5 seconds.
| Plan | What it does | Requests | API fees |
|---|---|---|---|
| Pilot study (4 weeks) | 8 keywords searched once a week; 3 videos per search with detail and two comment pages; useful board once a week | 324 | $0.64 |
| Quarterly monitor (13 weeks) | 30 keywords searched twice a week; 5 videos per search with detail and two comment pages; useful, products and food brand rankings once a day | 12,753 | $22.06 |
| All comments | 200 videos with 500 comments each on average, read at 10 per page | 10,200 | $16.13 |
Prices come from the catalog read on November 14, 2026. The table counts API fees only, not storage, analysis or staff time. In the quarterly plan, 56% of the money goes to comments. So the number of comment pages is the first setting to decide. To cut the budget, pick 3 videos per keyword instead of 5, and comment fees drop by 40%.
This method answers one question: what public content Kuaishou shows, and what public comments it gets. It cannot tell you what farmers really think. Search ranks by relevance and returns only the top 20 to 100 rows. Campaigns boost some videos.
The region on a comment is the province that the platform shows from the IP address, not the home of the commenter. In a report, describe the sample frame: keywords, time window and snapshot times. Quote comments only as counts or paraphrases that cannot lead back to a person.
Errors and charges: when you pay nothing
Around 00:33 Singapore time we ran three error tests on purpose. None cost anything. A request without a key returned 401 with the code missing_key and the message that nothing was charged. A search with keywords instead of keyword returned 422 missing_param, and the error body included a working example request. A kuaishou/hot_boards call with board set to sports returned 422 invalid_value and listed the allowed values: entertainment, hot, society and useful.
In the live tests, a request that returned 503 was not charged, and a retry after retry_after succeeded. For scheduled jobs and calls that retry on their own, use the REST API and send an Idempotency-Key header. Our guide to API idempotency keys and AI agent retries shows how. To match per-call charges and refunds in your own ledger, read our guide to failure refund reconciliation.
Kuaishou in the last three months
A data plan must follow the platform. The table lists Kuaishou events that matter for data work since August 2026, with dates from the original sources.
| Date | Event | Source |
|---|---|---|
| 2026-08-19 | Second-quarter 2026 results: 412.3 million daily and 797.3 million monthly active users; Kling AI revenue above CNY 850 million | Kuaishou investor relations |
| 2026-10-08 | Last push to KuaiShou-Spider | GitHub |
| 2026-10-25 | Rural ecosystem conference and 2026 rural data report | Local newspaper via Sohu |
| 2026-10-26 | Last push to KS-Downloader | GitHub |
| 2026-11-02 | KS-Downloader issue #84: video detail fails after the web redesign | GitHub |
| 2026-11-06 | Kuaishou sets its third-quarter results date for November 19, 2026 | PR Newswire |
| 2026-11-09 | Last push to MediaCrawler | GitHub |
| 2026-11-11 | CCTV: winter wheat sowing passes 80% | CCTV |
The third-quarter results come out on November 19, 2026, and we will check the user numbers again after that. For data work, the most direct change is the early-November web redesign. KS-Downloader issue #84 describes video detail failures after it. On our side, kuaishou/video returned views, likes, comments and saves in all four chains on November 14.
When the other two ways fit better
Your users may need to log in to your app with Kuaishou and see their own videos and stats. For that, use the open platform. The same applies if your app shares videos to Kuaishou for them. No third-party API should do that for you.
To manage your own Kuaishou shop, products and after-sales, use the e-commerce open platform. To manage your own ad accounts and reports, use the advertising marketing API. All of these read data that you already have rights to.
An open-source script also has its place. You may need a one-time download of a few hundred public videos for a class or a thesis. You may have an afternoon to set up the environment and a session, and the license may allow your use. Or a project may already parse the exact field you need. Now suppose you watch dozens of keywords and rankings every day, and nobody on your team can fix parsers after each redesign. Then a pay-per-call API costs less effort and has a predictable bill.
The same series has guides for Douyin, Bilibili and Weibo. Compare capabilities and prices on the Kuaishou data API, Douyin data API, Bilibili data API and Weibo data API pages.
Legal limits
The same legal floor applies to all three ways. China's Personal Information Protection Law, Article 27, allows reasonable processing of personal information that a person made public or that was lawfully made public. The exception is when the person clearly refuses. If the processing has a major effect on the person's rights, consent is necessary. Under Article 4 of that law, commenter names, avatars, regions and words can be personal information. Ask your legal team for a final view.
The Anti-Unfair Competition Law, revised in 2025 and in force since October 15, 2025, has a rule in Article 13, paragraph 3. A business must not obtain or use data that another business lawfully holds through fraud, coercion, or by avoiding or breaking technical controls. The Network Data Security Management Regulations, in force since January 1, 2025, set duties for automated tools in Article 18. These tools access or collect network data. Such tools must not break into networks or disturb normal service.
Our own practice in this guide follows that floor. We read only public videos, public comments and public rankings. We log in to no Kuaishou account and touch no private messages or follower-only content. We hide the names of individual authors and commenters, and name only institutions and brands.
The sampling script hashes author ids and stores no names or avatars. This guide does not teach any way around platform limits. We quote the open-source notes about sessions and challenges only to show the upkeep cost of that way.
FAQ
Is there an official kuaishou api, and can individuals apply?
Yes, the Kuaishou Open Platform is the official kuaishou api. Onboarding asks for company, legal-representative and admin details and a review. We found no path for individual developers. After onboarding, you can read the authorizing user's own public profile and own videos. The open platform docs have no endpoint for keyword search, comments on other users' videos or rankings.
Is the kuaishou api the same as the Kling API?
No. Kling is Kuaishou's AI video generation product. Its API documentation is on kling.ai, and it charges for generated video. It runs models that turn text or images into video. It does not return Kuaishou videos, comments or rankings. For public Kuaishou data, use one of the three ways in this guide.
Is there a public Kuaishou dataset?
There are two academic datasets. KuaiRec (arXiv:2202.10842) is a recommender-system dataset with a fully observed interaction matrix for 1,411 users. KuaiRand (arXiv:2208.08696) adds randomly exposed videos to study recommendation bias. Both hold anonymized user-video interactions, not video text or comments. They suit recommender research. For content and comments, you still need your own sample.
Can I do this without code?
Yes. You can connect the same key to our MCP server. Then you can ask an MCP-capable AI assistant to search Kuaishou for recent wheat sowing videos and fetch two comment pages of the most-commented one. We did not test the MCP route for this guide. For scheduled jobs and calls that retry, we still recommend the REST API with an Idempotency-Key header.
Get started
- Create an API key in the console and put it in the environment variable
EVERYINFRA_API_KEY. The steps are in the quick start. - Read the free catalog
GET /api/v1/social/catalog?platform=kuaishouto confirm parameters, prices and availability. You can also see prices on the pricing page and in the data market. - Run
pip install requests, copy the chain script above, and runpython kuaishou_chain.py "your keyword" run1. - Open the JSON files in the run1 folder and compare
billing.charged_usdwith the catalog price. To page comments, sendnext_page_tokenback as it is. - For farm or other sector samples, run
sannong_sample.pyfirst. It filters the time window and hashes author ids before you count anything.
Parameter pages for each capability: kuaishou/search, kuaishou/video, kuaishou/comments, kuaishou/user_search, kuaishou/trending, kuaishou/hot_boards, kuaishou/live_rank, kuaishou/shopping_rank, kuaishou/brand_rank.
References
- Kuaishou Open Platform, "Platform introduction", updated 2024-09-06, read November 14, 2026, https://open.kuaishou.com/platformDocs/newGuide/introduce.html
- Kuaishou Open Platform, "Developer onboarding", updated 2026-03-06, read November 14, 2026, https://open.kuaishou.com/platformDocs/newGuide/entry.html
- Kuaishou Open Platform, "App registration", updated 2026-03-06, read November 14, 2026, https://open.kuaishou.com/platformDocs/newGuide/login.html
- Kuaishou Open Platform, "Kuaishou login", updated 2024-07-23, read November 14, 2026, https://open.kuaishou.com/platformDocs/openAbility/kwaiLogin
- Kuaishou Open Platform, "Public user information", read November 14, 2026, https://open.kuaishou.com/platformDocs/openAbility/userInformation/publicInformation.html
- Kuaishou Open Platform, "Video query", updated 2024-12-23, read November 14, 2026, https://open.kuaishou.com/platformDocs/openAbility/contentManagement/searchForVideos.html
- Kuaishou Open Platform, "Website apps", updated 2024-11-14, read November 14, 2026, https://open.kuaishou.com/platformDocs/develop/web-app
- Kuaishou Open Platform, "Server SDK", read November 14, 2026, https://open.kuaishou.com/platformDocs/develop/serverSDK
- Kuaishou Open Platform, "Android integration", read November 14, 2026, https://open.kuaishou.com/platformDocs/develop/mobile-app/android.html
- Kuaishou Open Platform, "FAQ", updated 2024-08-26, read November 14, 2026, https://open.kuaishou.com/platformDocs/other/commonProblem
- Kuaishou Open Platform, "Mini-program platform service agreement", updated 2025-09-22, read November 14, 2026, https://open.kuaishou.com/docs/operate/platformAgreement/agreement.html
- Kuaishou Open Platform, "Mini-game qualification rules", read November 14, 2026, https://open.kuaishou.com/miniGameDocs/operation/specification/qualifications.html
- Kuaishou Open Platform, "Mini-game onboarding guide", read November 14, 2026, https://open.kuaishou.com/miniGameDocs/gameIntroduction/entryGuide.html
- Kuaishou e-commerce open platform, developer docs entry, read November 14, 2026, https://open.kwaixiaodian.com/zone/new/docs/dev?pageSign=e1d9e229332f4f233a04b44833a5dfe71614263940720
- Kuaishou e-commerce open platform, home page, read November 14, 2026, https://open.kwaixiaodian.com/
- Kuaishou advertising developer center, documentation, read November 14, 2026, https://developers.e.kuaishou.com/docs
- Kuaishou advertising developer center, changelog, read November 14, 2026, https://developers.e.kuaishou.com/tools/logs
- Kuaishou Index, user agreement, in force 2023-06-01, read November 14, 2026, https://index.e.kuaishou.com/m/userAgreement
- Kuaishou, robots.txt, read November 14, 2026, https://www.kuaishou.com/robots.txt
- Kuaishou, user agreement and privacy policy, read November 14, 2026, https://www.kuaishou.com/about/policy
- Kuaishou Investor Relations, "Kuaishou Technology announces second quarter and interim 2026 results", August 19, 2026, https://ir.kuaishou.com/news-releases/news-release-details/kuaishou-technology-announces-second-quarter-and-interim-2026
- PR Newswire, "Kuaishou Technology to report 2026 third quarter financial results on November 19, 2026", November 6, 2026, https://www.prnewswire.com/news-releases/kuaishou-technology-to-report-2026-third-quarter-financial-results-on-november-19-2026-302931918.html
- PR Newswire, "Kuaishou Technology announces second quarter and interim 2026 unaudited financial results", August 19, 2026, https://www.prnewswire.com/news-releases/kuaishou-technology-announces-second-quarter-and-interim-2026-unaudited-financial-results-302855081.html
- Sohu, report on the 2026 Kuaishou rural ecosystem conference (in Chinese), October 25, 2026, https://www.sohu.com/a/1093340526_355158
- CCTV News, winter wheat sowing passes 80% (in Chinese), November 11, 2026, https://news.cctv.com/2026/11/11/ARTIRbFL7fRE9sXRzp8flmOu261111.shtml
- GitHub, MediaCrawler README, read November 14, 2026, https://github.com/NanmiCoder/MediaCrawler
- GitHub, MediaCrawler LICENSE, read November 14, 2026, https://github.com/NanmiCoder/MediaCrawler/blob/main/LICENSE
- GitHub, MediaCrawler issue #808, January 10, 2026, https://github.com/NanmiCoder/MediaCrawler/issues/808
- GitHub, MediaCrawler issue #843, March 9, 2026, https://github.com/NanmiCoder/MediaCrawler/issues/843
- GitHub, MediaCrawler pull request #917, June 15, 2026, https://github.com/NanmiCoder/MediaCrawler/pull/917
- GitHub, MediaCrawler issue #954, August 6, 2026, https://github.com/NanmiCoder/MediaCrawler/issues/954
- GitHub, KS-Downloader README, read November 14, 2026, https://github.com/JoeanAmier/KS-Downloader
- GitHub, KS-Downloader issue #84, November 2, 2026, https://github.com/JoeanAmier/KS-Downloader/issues/84
- GitHub, KuaiShou-Spider, read November 14, 2026, https://github.com/cv-cat/KuaiShou-Spider
- GitHub, lxSpider, read November 14, 2026, https://github.com/lixi5338619/lxSpider
- GitHub, kuaishou-crawler, read November 14, 2026, https://github.com/oGsLP/kuaishou-crawler
- GitHub, a list of Chinese court cases about crawlers, read November 14, 2026, https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China
- GitHub Docs, "Licensing a repository", read November 14, 2026, https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository
- China National Intellectual Property Administration, Anti-Unfair Competition Law (2025 revision, in Chinese), https://www.cnipa.gov.cn/art/2026/5/20/art_104_206437.html
- Cyberspace Administration of China, Personal Information Protection Law (in Chinese), https://www.cac.gov.cn/2021-08/20/c_1631050028355286.htm
- Network Data Security Management Regulations, in force January 1, 2025 (in Chinese), https://www.mee.gov.cn/zcwj/gwywj/202410/t20241003_1087417.shtml
- Gao et al., "KuaiRec: A Fully-observed Dataset and Insights for Evaluating Recommender Systems", arXiv:2202.10842, https://arxiv.org/abs/2202.10842
- Gao et al., "KuaiRand: An Unbiased Sequential Recommendation Dataset with Randomly Exposed Videos", arXiv:2208.08696, https://arxiv.org/abs/2208.08696
- Kling AI, API documentation overview, read November 14, 2026, https://kling.ai/document-api/guides/get-started/overview
- Kling AI, developer page, read November 14, 2026, https://kling.ai/dev
- EveryInfra, Kuaishou capability catalog (prices, parameters, availability), read November 14, 2026, 00:14 Singapore time, https://api.everyinfra.com/api/v1/social/catalog?platform=kuaishou
- Python documentation, hashlib, https://docs.python.org/3/library/hashlib.html
- Python documentation, csv, https://docs.python.org/3/library/csv.html
- Requests documentation, Session objects, https://requests.readthedocs.io/en/latest/user/advanced/#session-objects
Reference BL-148