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.

Run it in the PlaygroundSee the callSign in to run it; it runs on your own balance.
Platforms2 platforms
Endpoints2 endpointsone on each platform
PriceFrom $0.0040per call. A failed call is free
ReturnsAudienceone object a call

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.

PlatformEndpointA pageReturnsPrice
DouyinDouyin Xingtu creator audienceGET/v1/douyin/xingtu/creators/audience/get1Audience$0.0040
Xiaohongshu (RedNote)Xiaohongshu PGY creator audience profileGET/v1/xiaohongshu/pgy/creators/audience/get1Audience$0.0400
Prices are the prices in force. A call that fails, or whose result is uncertain, costs nothing.Live status →

The Audience object

Every endpoint above returns these fields, with the same names and types.

The object's own page →
creator_idtextCreator ID
measured_attimeThe day the figures are of, given as the start of that day in China time
gender[].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 1
gender[].countintegerFollowers in the segment
age[].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 1
age[].countintegerFollowers in the segment
province[].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 1
province[].countintegerFollowers in the segment
city[].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 1
city[].countintegerFollowers in the segment
interest[].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 1
interest[].countintegerFollowers in the segment
device[].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 1
device[].countintegerFollowers in the segment
city_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 1
city_tier[].countintegerFollowers in the segment
crowd[].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 1
crowd[].countintegerFollowers in the segment
purchase_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 1
purchase_category[].countintegerFollowers in the segment
purchase_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 1
purchase_amount[].countintegerFollowers in the segment

Which 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.

Platformmeasured_atgender[].countage[].countprovince[].countcity[].countinterest[].countdevice[].countcity_tier[].namecity_tier[].sharecity_tier[].countcrowd[].namecrowd[].sharecrowd[].countpurchase_category[].namepurchase_category[].sharepurchase_category[].countpurchase_amount[].namepurchase_amount[].sharepurchase_amount[].count
Douyin
Xiaohongshu (RedNote)

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
200 · application/json · charged $0.0040
{
  "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.

All skills →

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.

Start free