Answers
How do I shortlist creators by follower range and price on Douyin and Xiaohongshu?
Short answer
Search the two official creator marketplaces with a follower range: Xingtu for Douyin and PGY (蒲公英) for Xiaohongshu both return each creator's rates in yuan, so you drop everyone over budget and rank the rest by price per thousand median views. A page of 20 creators costs $0.004 on Xingtu and $0.04 on PGY; 200 candidates from each cost $0.44.
An outdoor brand has ¥60,000 for a launch and wants 10 to 12 creators with 50,000 to 300,000 followers, paying at most ¥8,000 for a Douyin video and ¥5,000 for a Xiaohongshu note. Its agency will send a list with prices next week. The brand wants its own list first, ranked by what each yuan buys, so it knows what a fair offer looks like.
Douyin: search Xingtu with the band
Douyin Xingtu creator search matches what creators post (query), and takes followers_min, followers_max, engagement_min (in percent, so 3 means 3%) and gender. Every result carries followers, 30-day engagement rate, median views and the integrated and custom video prices. There is no price filter, so fetch several pages and filter in code. For finalists, the Xingtu rate card lists every kind of work and whether it is open.
Xiaohongshu: search PGY with the band
Xiaohongshu PGY creator search takes the same follower bounds, a type (mostly image or mostly video notes) and can sort by lowest_rate. Results carry median reads of everyday notes and the image and video note prices.
Rank by what each yuan buys
Divide the price by median views and multiply by 1,000. A ¥6,000 creator whose videos get 120,000 views at the median costs ¥50 per thousand views; a ¥3,000 creator at 30,000 views costs ¥100. Compare like with like: integrated video with integrated video, image note with image note.
| Job | Calls | Cost |
|---|---|---|
| Xingtu, 10 pages (20 creators each) | 10 | $0.04 |
| PGY, 10 pages (20 creators each) | 10 | $0.40 |
| Full rate cards for 12 Douyin finalists | 12 | $0.48 |
| Total | 32 | {{cost:douyin.xingtu.creators.search10+xiaohongshu.pgy.creators.search10+douyin.xingtu.creators.rates.get*12}} |
Code
import os, requests
API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
def pages(path, n, **params):
out, cursor = [], None
for _ in range(n):
query = {**params, "cursor": cursor} if cursor else params
body = requests.get(API + path, headers=H, params=query, timeout=60).json()
if body["code"] != "ok":
raise RuntimeError(f"{body['code']}: {body['message']}")
out += body["data"]["items"]
cursor = body["page"]["next_cursor"]
if not cursor:
break
return out
def rate(creator, kind):
return next((r["price"] for r in creator["rates"] or [] if r["type"] == kind and r["price"]), None)
band = {"followers_min": 50000, "followers_max": 300000}
douyin = pages("/v1/douyin/xingtu/creators/search", 10, query="露营", engagement_min=3, **band)
xhs = pages("/v1/xiaohongshu/pgy/creators/search", 10, query="露营", sort="lowest_rate", **band)
shortlist = []
for platform, found, kind, budget in [("douyin", douyin, "integrated_video", 8000),
("xiaohongshu", xhs, "image_note", 5000)]:
for c in found:
price = rate(c, kind)
if price and price <= budget and c["median_views"]:
shortlist.append({"platform": platform, "name": c["name"], "followers": c["followers"],
"price_cny": price, "per_1k_views": round(price / c["median_views"] * 1000)})
shortlist.sort(key=lambda x: x["per_1k_views"])
print(shortlist[:12])
Watch for
- Listed prices. Both marketplaces show what creators list; fees and discounts are settled when you order there.
- Medians are not promises. PGY's figures describe everyday notes, and sponsored notes often reach fewer people, so leave a margin.
- Followers are not fit. Audience age, gender and city split are only in the Xingtu and PGY consoles.
- Only marketplace creators. Someone not on Xingtu or PGY will not appear; find them through note search or video search instead.
- Every page is its own call; failed calls are free.
Other ways
With an advertiser account, the Xingtu and PGY consoles run the same filters plus audience profiles, and that is where you book. Agencies bring negotiated prices and handle contracts. 蝉妈妈 and 千瓜 rank creators by category without code. This route gives you an independent baseline in minutes, and an agent can run it over MCP. Pricing a list you already have is covered in checking Xingtu rates in bulk; the broader job is creator discovery.
Updated