Kuaishou (China)
Kuaishou Hashtag Feed API
Read the feed behind a Kuaishou (China) hashtag: 20 posts a page with caption, author, play / like / comment / share / collect counts and cover image, plus the tag's own lifetime view count, as JSON. Costs 1 credit per page — a tenth of what the search endpoints cost — so this is the cheap way to mine a trend or track a campaign tag over time. Cursor-paginated.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsontagstringrequiredHashtag text, 1 to 200 characters, WITHOUT the leading # — send 挑战, not #挑战. Kuaishou is a Chinese-language platform, so Chinese tags are where the volume is. Kuaishou resolves the text to its own tag id and echoes both back under tagInfo, so you can confirm which tag you actually landed on.
Example: 挑战
cursorstringOpaque pagination cursor. Omit it for the first page, then pass back the pcursor value from the previous response. The response field is called pcursor, not next_cursor. A pcursor of "no_more" means there are no further pages.
Example: 1
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# 1 credit a page - the cheapest way to mine a trend.
cursor, rows = None, []
while len(rows) < 200:
page = client.kuaishou.tag_feed(tag="挑战", cursor=cursor)
info = page["data"].get("tagInfo", {})
print("tag:", info.get("name"), info.get("tagId"), info.get("viewCount"))
for item in page["data"].get("mixFeeds", []):
if item.get("itemType") != 5: # skip non-video cards
continue
feed = item["feed"]
rows.append((feed["caption"], feed["view_count"], feed["share_info"]))
cursor = page["data"].get("pcursor") # NOT next_cursor
if not cursor or cursor == "no_more":
breakResponse