Answers
How do I check Douyin Xingtu creator rates in bulk?
Short answer
Search each creator on Xingtu by name, which already returns their integrated and custom video rates in yuan, for $0.004 a search, then pull the full rate card of the ones you shortlist for $0.04 each. Pricing 60 creators both ways costs $2.64.
An agency gets a brief on Monday: the client's team picked 60 Douyin creators by hand and wants their prices by Wednesday. Opening 60 Xingtu pages and copying numbers into a sheet eats most of a day, and the sheet is stale a week later. With two calls per creator the same rate cards land in a spreadsheet in a few minutes, and you can run it again the morning the client signs.
Two steps per creator
- Find the creator on Xingtu. Douyin Xingtu creator search with
search_by=namematches the nickname you have. Each result already carries followers, the 30-day engagement rate, median views and the integrated and custom video prices. For a first budget check that is often all you need. - Pull the full rate card for the creators you will actually pitch. Douyin Xingtu creator rate card takes the Xingtu creator ID from step 1 and returns every kind of sponsored work the creator lists, its price in yuan, whether it is open for orders right now and how it is settled.
The Xingtu creator ID is not the Douyin account ID or sec_uid, so you go through the search first unless you saved the IDs from an earlier run.
What it costs
| Step | Calls | Cost |
|---|---|---|
| Name search for 60 creators | 60 | $0.24 |
| Full rate cards for 60 | 60 | $2.40 |
| Total | 120 | {{cost:douyin.xingtu.creators.search60+douyin.xingtu.creators.rates.get60}} |
If you are browsing a niche rather than pricing a fixed list, a content search returns 20 creators with their headline prices for $0.004, so 1,000 creators cost $0.20. Most teams search wide, then buy full rate cards only for the final 20.
Code
import csv, os, requests
API = "https://api.okdata.online"
H = {"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"}
def get(path, **params):
body = requests.get(API + path, headers=H, params=params, timeout=60).json()
if body["code"] != "ok":
raise RuntimeError(f"{body['code']}: {body['message']}")
return body["data"]
rows = []
for name in ["creator nickname A", "creator nickname B"]: # your list
hits = get("/v1/douyin/xingtu/creators/search", query=name, search_by="name")["items"]
if not hits:
rows.append({"name": name, "status": "not found on Xingtu"})
continue
c = hits[0] # compare followers if two creators share a name
card = get("/v1/douyin/xingtu/creators/rates/get", id=c["id"])["item"]
for r in card["rates"]:
rows.append({"name": c["name"], "followers": c["followers"], "work": r["name"],
"price_cny": r["price"], "open": r["available"]})
with open("xingtu_rates.csv", "w", newline="", encoding="utf-8-sig") as f:
w = csv.DictWriter(f, fieldnames=["name", "followers", "work", "price_cny", "open", "status"])
w.writeheader()
w.writerows(rows)
What to watch for
- The listed price is where talks start. Xingtu shows what the creator lists; platform fees, discounts and package deals are settled inside Xingtu when you place the order.
- Not every creator is on Xingtu. Someone who never joined, or has not opened brand deals, will not turn up. Mark them and reach them another way.
- Closed order types.
available: falsemeans the creator lists that kind of work but is not taking it now. - Shared nicknames. Check followers and avatar before trusting the first hit.
- No audience profile. Follower age, gender and city split, and past brand orders, stay in the Xingtu console.
- Failed calls are not charged; see error codes.
Other ways
If you have a Xingtu advertiser account, the console's own filters and list export are the official route, and they include the audience profile you will want before signing. MCN agencies quote directly and often go below list for packages. Tools such as 蝉妈妈 or 飞瓜 rank creators by category without any code. The API route pays off when you price long lists again and again, or feed rates into your own sheet or agent. To find new creators instead of pricing known ones, see creator discovery.
Updated