# How do I find Weibo bloggers (KOLs) in a niche?

> Find Weibo bloggers who post about your niche: search topic keywords, rank authors by activity and engagement, then check followers and verification. Cost and code.

Canonical page: https://okdata.online/answers/weibo-find-kols-in-niche/

**Short answer: **Search a handful of niche keywords with Weibo post search, group the posts by author, rank authors by how often they post and how much engagement they get, then look up the top ones with Weibo account profile. Twenty search pages plus 50 profile lookups cost $0.14.

An outdoor gear brand wants 30 Weibo bloggers who actually write about camping and hiking, not celebrities who once posted a tent photo. The useful signal is behaviour: who keeps posting on the topic, and whose posts people repost. Search gives you that directly, because every result carries its author.

## Three steps

1. **Search the niche.** Run [Weibo post search](/apis/weibo/posts/search/) for 4 or 5 keywords such as 露营装备, 徒步路线 and 户外测评. Use `sort=hot` to surface established voices and `sort=latest` to catch smaller, active ones.
2. **Rank authors.** Group posts by `author.id`. Count posts per author and add up their reposts and likes. Search results already include each author's follower count and verification flag.
3. **Vet the shortlist.** Call [Weibo account profile](/apis/weibo/users/get/) with `view=full` for the top 50 to read the bio, post count, verification reason (for example a job title or a certified outdoor guide) and IP location.

## What it costs

| Step | Calls | Cost |
|---|---|---|
| 5 keywords × 2 sorts × 2 pages | 20 | $0.04 |
| Profiles for the top 50 | 50 | $0.10 |
| Whole run | 70 | $0.14 |

## Code

```python
import os, requests
from collections import defaultdict

API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}

def call(path, **p):
    r = requests.get(API + path, headers=H, params=p, timeout=30).json()
    if r["code"] != "ok":
        raise RuntimeError(f"{r['code']}: {r['message']}")
    return r["data"]

authors = defaultdict(lambda: {"posts": 0, "engagement": 0, "name": None, "followers": None})
for kw in ["露营装备", "徒步路线", "户外测评", "轻量化徒步", "露营地推荐"]:
    for sort in ("hot", "latest"):
        for p in call("/v1/weibo/posts/search", query=kw, sort=sort)["items"]:
            a = authors[p["author"]["id"]]
            a["posts"] += 1
            a["engagement"] += (p["metrics"]["reposts"] or 0) + (p["metrics"]["likes"] or 0)
            a["name"], a["followers"] = p["author"]["name"], p["author"]["followers"]

top = sorted(authors.items(), key=lambda kv: (kv[1]["posts"], kv[1]["engagement"]), reverse=True)[:50]
for uid, a in top:
    prof = call("/v1/weibo/users/get", id=uid, view="full")["item"]
    print(a["name"], a["posts"], a["engagement"], prof["followers"], prof["ext"].get("verified_reason"))
```

The sample above fetches one page per keyword and sort; add a cursor loop for deeper lists.

## What this cannot tell you

- Audience demographics, rate cards and past brand deals are not public data, so they are not here.
- The catalog has no Weibo account timeline. You see a blogger's posts that matched your keywords, not their whole feed.
- High followers with little engagement often means inactive or bought followers. Engagement per post is the better filter.

## Other routes

Weibo's official marketplace for paid blogger posts shows audience data and handles contracts, which suits a brand ready to buy placements. Agencies keep curated lists for a fee. For a list of ten, browsing a topic page on Weibo by hand works. The cross-platform version of this workflow is on [creator discovery](/solutions/creator-discovery/).

## Endpoints used

- [Weibo post search](https://okdata.online/apis/weibo/posts/search/) `weibo.posts.search`: $0.002 per call · about 10 posts per page
- [Weibo account profile](https://okdata.online/apis/weibo/users/get/) `weibo.users.get`: $0.002 per call

Updated 2026-11-12
