Creator audience API
2 endpoints on 2 platforms return the same Audience object. Who follows a creator: the share of each segment by gender, age, region and interest. A call costs from $0.0040 to $0.0400, each endpoint at its own price; a failed call is free.
Creator audience on each platform
One row per endpoint: what it is called, how much comes back in a call, and what a call costs.
The Audience object
Every endpoint above returns these fields, with the same names and types.
creator_idtextCreator IDmeasured_attimeThe day the figures are of, given as the start of that day in China timegender[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)gender[].sharenumberThe segment's share of the segments listed, 0 to 1gender[].countintegerFollowers in the segmentage[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)age[].sharenumberThe segment's share of the segments listed, 0 to 1age[].countintegerFollowers in the segmentprovince[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)province[].sharenumberThe segment's share of the segments listed, 0 to 1province[].countintegerFollowers in the segmentcity[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)city[].sharenumberThe segment's share of the segments listed, 0 to 1city[].countintegerFollowers in the segmentinterest[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)interest[].sharenumberThe segment's share of the segments listed, 0 to 1interest[].countintegerFollowers in the segmentdevice[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)device[].sharenumberThe segment's share of the segments listed, 0 to 1device[].countintegerFollowers in the segmentcity_tier[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)city_tier[].sharenumberThe segment's share of the segments listed, 0 to 1city_tier[].countintegerFollowers in the segmentcrowd[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)crowd[].sharenumberThe segment's share of the segments listed, 0 to 1crowd[].countintegerFollowers in the segmentpurchase_category[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)purchase_category[].sharenumberThe segment's share of the segments listed, 0 to 1purchase_category[].countintegerFollowers in the segmentpurchase_amount[].nametextName of the segment, in the platform's words (the two genders come in lower-case English)purchase_amount[].sharenumberThe segment's share of the segments listed, 0 to 1purchase_amount[].countintegerFollowers in the segmentWhich platform fills which field
A field an endpoint cannot give is listed in meta.unavailable on every answer, so a gap is never a surprise.
The same call on two platforms
Same parameter names, same paging, same answer. Only the path changes.
# Douyin curl -G "https://api.dataxapi.com/v1/douyin/xingtu/creators/audience/get" \ --data-urlencode "id=6763236383382306828" \ -H "Authorization: Bearer $DATAXAPI_API_KEY" # Xiaohongshu (RedNote): the same call on its own path curl -G "https://api.dataxapi.com/v1/xiaohongshu/pgy/creators/audience/get" \ --data-urlencode "id=5c0017ef6b58b740c92463fb" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
// Douyin import { DataXAPI } from "@dataxapi/sdk"; const dx = new DataXAPI(); // reads DATAXAPI_API_KEY const result = await dx.douyin.xingtu.creators.audience.get({ id: "6763236383382306828" }); console.log(result.data.item); // Xiaohongshu (RedNote): the same call on its own path const other = await dx.xiaohongshu.pgy.creators.audience.get({ id: "5c0017ef6b58b740c92463fb" }); console.log(other.data.item);
# Douyin from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.douyin.xingtu.creators.audience.get(id="6763236383382306828") print(result["data"]["item"]) # Xiaohongshu (RedNote): the same call on its own path other = dx.xiaohongshu.pgy.creators.audience.get(id="5c0017ef6b58b740c92463fb") print(other["data"]["item"])
# Douyin dataxapi call douyin.xingtu.creators.audience.get id=6763236383382306828 # Xiaohongshu (RedNote): the same call on its own path dataxapi call xiaohongshu.pgy.creators.audience.get id=5c0017ef6b58b740c92463fb
{
"code": "ok",
"request_id": "25005e75-4c98-42d9-a6dd-afe2a7b8a879",
"data": {
"item": {
"creator_id": "66673485511",
"gender": [
{ "name": "male", "share": 0.8084018682929753, "count": 20914248 },
{ "name": "female", "share": 0.19159813170702464, "count": 4956855 }
],
"age": [
{ "name": "18-23", "share": 0.02613169810130031, "count": 669976 },
{ "name": "24-30", "share": 0.11262389160089727, "count": 2887501 },
// … 3 more
],
"province": [
{ "name": "福建", "share": 0.034598226662216194, "count": 845507 },
{ "name": "香港", "share": 0.001540805252634323, "count": 37654 },
// … 32 more
],
"city": [
{ "name": "北京", "share": 0.14657726964471665, "count": 751515 },
{ "name": "上海", "share": 0.12174096383309756, "count": 624177 },
// … 8 more
],
"interest": [
{ "name": "二次元", "share": 0.022866163075920397, "count": 471117 },
{ "name": "随拍", "share": 0.5770495394947144, "count": 11889089 },
// … 6 more
],
"device": [
{ "name": "其他", "share": 0.1350657086683392, "count": 3500022 },
{ "name": "华为", "share": 0.24915854592413617, "count": 6456564 },
// … 6 more
],
"city_tier": [
{ "name": "二线", "share": 0.18540551970015773, "count": 4530677 },
{ "name": "五线", "share": 0.10928394606430417, "count": 2670526 },
// … 3 more
],
"crowd": [
{ "name": "Z世代", "share": 0.015066702484682015, "count": 328216 },
{ "name": "资深中产", "share": 0.16493764562162405, "count": 3593034 },
// … 6 more
],
"purchase_category": [
{ "name": "其他", "share": 0.35668521581357804, "count": 3854685 },
{ "name": "服饰内衣", "share": 0.20722439582025148, "count": 2239467 },
// … 4 more
],
"purchase_amount": [
{ "name": "50-100", "share": 0.23128677093645555, "count": 2497497 },
{ "name": "0-50", "share": 0.3880473446209439, "count": 4190240 },
// … 3 more
]
}
},
"warnings": [],
"meta": {
"capability": "douyin.xingtu.creators.audience.get",
"result_status": "complete",
"fetched_at": "2026-10-12T21:49:33.000Z",
"cached": false,
"replayed": false,
"unavailable": { "measured_at": "capability" },
"billing": {
"amount": "0.004",
"currency": "USD",
"balance_after": "9.996"
}
}
}Douyin Xingtu creator audience: From a response recorded 2026-10-12 21:49 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.
What comes back
The objects these endpoints answer with: one set of fields each, the same on every platform.
Questions about the Creator audience API
Short answers. Each endpoint's page has its own limits and examples.
Douyin Xingtu creator audience API →How much does it cost?
$0.0040 a call on Douyin; $0.0400 a call on Xiaohongshu (RedNote). You are charged when data comes back; a failed call costs nothing. No subscription, no monthly minimum.
Does every platform fill every field?
No. 19 of the 32 fields are missing on at least one platform; the table on this page says which. A field an endpoint cannot give is named in meta.unavailable on every answer, never filled with a guess.
Do I need an account on the platform?
No. One DataXAPI key reads all 2 platforms. No platform account and no cookie.
Other data types
The same idea everywhere: one action, every platform that has it.
Start with one key.
207 endpoints on 21 platforms, from $0.0003 a call. Errors and timeouts are not charged.