KOL and creator research on Douyin and Xiaohongshu
Shortlisting KOLs usually means four things: find the accounts, read the profiles, look at recent posts and see who the audience is. The steps below chain real Douyin and Xiaohongshu endpoints to do that.
A new account gets 50 trial calls; after that, successful calls are billed from a prepaid balance. See pricing.
From a keyword to the audience
The example parameters come from the endpoint catalog. Douyin's user_id is the sec_uid (it starts with MS4wLjABAAAA); Douyin rejects numeric uids.
Find creators by keyword
Douyin account search returns nickname, sec_uid, followers, likes and verification for a keyword, about 12 a page. Use the sec_uid as user_id in the next calls.
Douyin user search
GET /v1/raw/douyin/user_searchcurl 'https://api.qovia.ai/v1/raw/douyin/user_search?keyword=%E6%B1%BD%E8%BD%A6%E8%AF%84%E6%B5%8B' \ -H "Authorization: Bearer $QOVIA_KEY"
import os import requests resp = requests.get( "https://api.qovia.ai/v1/raw/douyin/user_search", params={"keyword": "汽车评测"}, headers={"Authorization": f"Bearer {os.environ['QOVIA_KEY']}"}, timeout=30, ) resp.raise_for_status() body = resp.json() print(body["meta"]["charged_usd"], body["data"])
The data in the response. The sample comes from the endpoint catalog, not live data; lists are cut to their first two entries and picture links are left out:
{ "data": { "items": [ { "uid_hash": "a19c04e7d2b3", "nickname": "车评老王", "uid": "108800000001", "sec_uid": "MS4wLjABAAAAexampleCreatorSecUid0000000000000001", "unique_id": "chepinglaowang", "followers": 482100, "total_likes": 9820311, "verified": true, "verify_reason": "汽车自媒体", "signature": "十年汽车媒体人,只说真话。", "url": "https://www.douyin.com/user/MS4wLjABAAAAexampleCreatorSecUid0000000000000001" } ], "cursor": 12, "has_more": true, "prov": { "hash": "0x6a1e9c03b5d7f284", "ts": "2026-10-20T12:12:09+08:00", "source": "live" } } }Read the profile
The creator profile: followers, likes, post count and verification.
Douyin creator profile
GET /v1/raw/douyin/creatorcurl 'https://api.qovia.ai/v1/raw/douyin/creator?user_id=MS4wLjABAAAAAKgMNYSx2pL3ARundki9oB8pmdvX9hVgujii5bnZUXs' \ -H "Authorization: Bearer $QOVIA_KEY"
Look at the posts
The posts a creator published, pinned ones first, then newest first by default; pass sort=popular for the most popular first. About 20 a page: pass the returned cursor back to continue and stop when has_more is false.
Douyin creator videos
GET /v1/raw/douyin/creator_videoscurl 'https://api.qovia.ai/v1/raw/douyin/creator_videos?user_id=MS4wLjABAAAAAKgMNYSx2pL3ARundki9oB8pmdvX9hVgujii5bnZUXs&sort=popular' \ -H "Authorization: Bearer $QOVIA_KEY"
Xiaohongshu: the creator's notes
The notes a Xiaohongshu user posted: title, excerpt, like, comment, save and share counts and publish time, plus the video link and duration for video notes. user_id is a 24-character hex ID.
Xiaohongshu (RedNote) user notes
GET /v1/raw/xiaohongshu/user_notescurl 'https://api.qovia.ai/v1/raw/xiaohongshu/user_notes?user_id=60014bac0000000001009be4' \ -H "Authorization: Bearer $QOVIA_KEY"
See who watches
Douyin Xingtu's viewer profile of a creator: distributions by device brand, city tier, age, city, province, gender, consumer segment and interest. A creator without a profile answers empty and is not charged.
Douyin Xingtu creator viewer profile
GET /v1/raw/xingtu/author_audiencecurl 'https://api.qovia.ai/v1/raw/xingtu/author_audience?author_id=6790158034132795406' \ -H "Authorization: Bearer $QOVIA_KEY"
More endpoints for this
- Douyin Xingtu creator rate card
GET /v1/raw/xingtu/author_pricing - Douyin Xingtu creator follower profile
GET /v1/raw/xingtu/author_fans - Xiaohongshu Pugongying creator overview
GET /v1/raw/pgy/kol_overview - Bilibili creator profile
GET /v1/raw/bilibili/creator - Cljx creator search
GET /v1/raw/cljx/star_search - Huahuo creator search
GET /v1/raw/huahuo/creator_search
FAQ
Which platforms' creators can I look up?
Douyin (account search, profile, posts), Xiaohongshu (user profile, notes) and Bilibili (creator profile and videos), plus creator data from Douyin Xingtu, Xiaohongshu Pugongying, Cljx and Huahuo. The endpoints are listed on this page and in the API reference.
Which Douyin ID is user_id?
The user's sec_uid, which starts with MS4wLjABAAAA; Douyin rejects numeric uids. Account search results include the sec_uid.
Am I charged when nothing is found?
No. Empty results and errors are not charged; only successful calls that return data are.
How is it billed?
A new account gets 50 trial calls; after that, calls are billed from a prepaid balance, and only successful calls that return data are charged. Empty results and errors are not, and meta.charged_usd in each response says what the call cost. Each endpoint's price is in the API reference, and the plans are on the pricing page.
Your agent only knows what you give it
Give it Douyin, Xiaohongshu (RedNote), WeChat and product reviews: structured, per call, nothing charged for failures.