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.

  1. 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 searchGET /v1/raw/douyin/user_search

    cURL
    curl '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"
    Python
    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:

    200 OK
    {
      "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"
        }
      }
    }
  2. Read the profile

    The creator profile: followers, likes, post count and verification.

    Douyin creator profileGET /v1/raw/douyin/creator

    cURL
    curl 'https://api.qovia.ai/v1/raw/douyin/creator?user_id=MS4wLjABAAAAAKgMNYSx2pL3ARundki9oB8pmdvX9hVgujii5bnZUXs' \
      -H "Authorization: Bearer $QOVIA_KEY"
  3. 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 videosGET /v1/raw/douyin/creator_videos

    cURL
    curl 'https://api.qovia.ai/v1/raw/douyin/creator_videos?user_id=MS4wLjABAAAAAKgMNYSx2pL3ARundki9oB8pmdvX9hVgujii5bnZUXs&sort=popular' \
      -H "Authorization: Bearer $QOVIA_KEY"
  4. 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 notesGET /v1/raw/xiaohongshu/user_notes

    cURL
    curl 'https://api.qovia.ai/v1/raw/xiaohongshu/user_notes?user_id=60014bac0000000001009be4' \
      -H "Authorization: Bearer $QOVIA_KEY"
  5. 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 profileGET /v1/raw/xingtu/author_audience

    cURL
    curl 'https://api.qovia.ai/v1/raw/xingtu/author_audience?author_id=6790158034132795406' \
      -H "Authorization: Bearer $QOVIA_KEY"

More endpoints for this

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.