Douyindouyin.xingtu.creators.search

Douyin Xingtu creator search API

Find Douyin creators on Xingtu, the official creator marketplace, by what they post or by name, filtered by followers, recent engagement rate and gender. Each with followers, 30-day engagement rate and median views, content categories and what an integrated and a custom video cost (in yuan).

GEThttps://api.okdata.online/v1/douyin/xingtu/creators/search

Price

One call costs $0.004 and returns one page of about 20 creators. Collecting 1,000 creators takes about 50 calls, $0.20 in total. Each page is a separate call; failed calls are not charged.

Parameters

NameTypeDescription
query *requiredstringKeywords, as a person would type them into the platform search box. e.g. 户外
search_bystringcontentnameMatch the words against what creators post (the default) or against their names. default content
followers_minintegerAt least this many followers. e.g. 100000
followers_maxintegerAt most this many followers. e.g. 500000
engagement_minintegerEngagement rate of the last 30 days at least this, in percent: 3 means 3%. e.g. 3
genderstringfemalemaleOnly female or only male creators.
cursorstringOpaque cursor from page.next_cursor of the previous call. Each page is a separate call.
viewstringcompactstandardfullHow much of each object comes back. full adds platform-specific fields under ext. default standard
fieldsstringComma-separated fields to keep, to save tokens.

cursor, view and fields work the same on every endpoint: how requests work.

Returned fields

Each item is a Creator.

FieldTypeDescription
idstringThe marketplace's creator ID; the other marketplace endpoints take it.
urlstringThe creator's page on the marketplace.
account_idstring | nullThe creator's own account ID on the platform, where the marketplace gives it.
usernamestring | nullHandle on the platform, where given.
namestringDisplay name.
avatar_urlstring | nullAvatar image URL.
locationstring | nullWhere the creator says they are.
genderstring | nullThe creator's gender as the marketplace lists it.
followersinteger | nullFollowers.
categoriesstring[] | nullContent categories in the marketplace’s own words.
engagement_ratenumber | nullInteractions per view of recent posts, 0 to 1 (0.038 is 3.8%).
median_viewsinteger | nullMedian views or reads of recent everyday posts.
median_engagementsinteger | nullMedian interactions (likes, comments, saves, shares) of recent everyday posts.
ratesRate[] | nullPublished rates for sponsored work; null when the marketplace hides them.
extobjectPlatform-specific extras. Only returned with view=full.

Request

cURL
curl -G "https://api.okdata.online/v1/douyin/xingtu/creators/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=户外'
Python
import os
import requests

resp = requests.get(
    "https://api.okdata.online/v1/douyin/xingtu/creators/search",
    headers={"Authorization": f"Bearer {os.environ['OKDATA_API_KEY']}"},
    params={"query": "户外"},
    timeout=60,
)
body = resp.json()
if body["code"] != "ok":
    raise RuntimeError(f"{body['code']}: {body['message']} (charged: {body['charged']})")

for row in body["data"]["items"]:
    print(row["name"], row["followers"], row["engagement_rate"])
print("cost: $" + body["meta"]["billing"]["amount"])
TypeScript
const url = new URL('https://api.okdata.online/v1/douyin/xingtu/creators/search');
url.searchParams.set('query', "户外");

const res = await fetch(url, {
  headers: {
    Authorization: `Bearer ${process.env.OKDATA_API_KEY}`,
  },
});
const body = await res.json();
if (body.code !== 'ok') throw new Error(`${body.code}: ${body.message}`);

for (const row of body.data.items) {
  console.log(row.name, row.followers, row.engagement_rate);
}
console.log('cost: $' + body.meta.billing.amount);
MCPtools/call
{
  "name": "call",
  "arguments": {
    "endpoint": "douyin.xingtu.creators.search",
    "params": {
      "query": "户外"
    }
  }
}

Or ask an agent that has the MCP server connectedUse Douyin Xingtu creator search and shortlist ten creators with the best engagement for the money, with their rates.

Response

200 · application/jsonmeta.billing.amount = 0.004
{
  "code": "ok",
  "request_id": "0f6c2a8e-4b1d-4e0a-9a51-3c7d2b9e1f20",
  "data": {
    "items": [
      {
        "id": "7283826197740388415",
        "url": "https://www.xingtu.cn/ad/creator/author-homepage/douyin-video/7283826197740388415",
        "account_id": "78668721623",
        "username": "shaka521",
        "name": "二许趣野营",
        "avatar_url": "https://cdn.example.com/avatar/creator.jpg",
        "location": "天津",
        "gender": "male",
        "followers": 103008,
        "categories": [
          "户外运动",
          "户外露营"
        ],
        "engagement_rate": 0.0384,
        "median_views": 15231,
        "median_engagements": 1601,
        "rates": [
          {
            "type": "integrated_video",
            "name": "植入视频",
            "price": 6800,
            "currency": "CNY",
            "available": true,
            "settlement": "固定价格"
          }
        ]
      }
    ]
  },
  "page": {
    "next_cursor": "eyJvIjoyMH0",
    "has_more": true
  },
  "warnings": [],
  "meta": {
    "capability": "douyin.xingtu.creators.search",
    "billing": {
      "amount": "0.004",
      "currency": "USD",
      "balance_after": "9.996"
    },
    "unavailable": {},
    "cached": false,
    "replayed": false,
    "fetched_at": "2026-11-11T08:00:00Z"
  }
}

Try it

This sends a real call to https://api.okdata.online and is billed as usual: at most $0.004. Failed calls are free. Your key goes only to that address and is never stored on this site.

Questions

How much does the Douyin Xingtu creator search API cost?

One call costs $0.004 and returns one page of about 20 creators. Collecting 1,000 creators takes about 50 calls, $0.20 in total. Each page is a separate call; failed calls are not charged.

How do I get the next page?

Pass page.next_cursor from the response back as the cursor parameter. When page.has_more is false there is nothing left. Every page is its own call at $0.004.

Do I need a Douyin account, cookies or a QR login?

No. You send only your okdata API key. The data is public data from Douyin; nothing is fetched with your own Douyin account.

Am I charged when a call fails?

No. Every error response says charged: false, except a timeout, which says charged: null until the outcome is known. Resend with the same Idempotency-Key and you are never charged twice.

What if Douyin does not show a field?

The field is null, and meta.unavailable names it with the reason: platform (the platform never shows it) or capability (we cannot fetch it yet).

Answers that use this endpoint

All Douyin endpoints → · Answers