Audience object

3 endpoints on 2 platforms return the Audience object with the same 32 fields, so code written for one platform reads the others unchanged. A call costs $0.0020 to $0.0400. It is a preview structure and may still change.

Preview object · Updated 2026-10-17Open in ChatGPTOpen in Claude

An Audience is who follows a creator, broken down by gender, age, province, city, interest and device, each segment with its share from 0 to 1. Xingtu (星图) also gives a head count per segment and breaks followers down by city tier, consumer group, category bought and amount spent per order.

creator_id names whose followers they are: the Xingtu or PGY (蒲公英) creator ID, or, from Douyin's trend-index (巨量算数), the account's numeric Douyin ID (uid), which reads any account and not only marketplace creators. On PGY, measured_at says which day the figures are of.

Fields

A field the platform cannot give is left out of the item and named in meta.unavailable. It is never filled with a guess or a zero.

creator_id text

Creator ID

measured_at time

The day the figures are of, given as the start of that day in China time

gender list of object

By gender

gender[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

gender[].share number

The segment's share of the segments listed, 0 to 1

gender[].count integer

Followers in the segment

age list of object

By age group

age[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

age[].share number

The segment's share of the segments listed, 0 to 1

age[].count integer

Followers in the segment

province list of object

By province

province[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

province[].share number

The segment's share of the segments listed, 0 to 1

province[].count integer

Followers in the segment

city list of object

By city, the largest only

city[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

city[].share number

The segment's share of the segments listed, 0 to 1

city[].count integer

Followers in the segment

interest list of object

By interest

interest[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

interest[].share number

The segment's share of the segments listed, 0 to 1

interest[].count integer

Followers in the segment

device list of object

By phone brand

device[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

device[].share number

The segment's share of the segments listed, 0 to 1

device[].count integer

Followers in the segment

city_tier list of object

By city tier

city_tier[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

city_tier[].share number

The segment's share of the segments listed, 0 to 1

city_tier[].count integer

Followers in the segment

crowd list of object

By the consumer groups the platform sorts people into

crowd[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

crowd[].share number

The segment's share of the segments listed, 0 to 1

crowd[].count integer

Followers in the segment

purchase_category list of object

By the category of goods bought

purchase_category[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

purchase_category[].share number

The segment's share of the segments listed, 0 to 1

purchase_category[].count integer

Followers in the segment

purchase_amount list of object

By the amount spent on an order

purchase_amount[].name text

Name of the segment, in the platform's words (the two genders come in lower-case English)

purchase_amount[].share number

The segment's share of the segments listed, 0 to 1

purchase_amount[].count integer

Followers in the segment

Where each number comes from

The same field name does not always mean the same act on every platform. This table says which of the platform's own numbers goes into the field.

FieldWhat it holds thereOn
gender.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
age.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
province.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
cityHere it is every city the platform gives (over two hundred), not the largest onlyDouyin
city.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
interest.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
device.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
city_tier.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
crowd.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
purchase_category.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin
purchase_amount.shareThe platform gives a count for each segment only; the share is that count over the total of the segments listed (cities list the top ten only)Douyin

What a platform cannot give

A platform stands against a field when none of its endpoints gives it.

FieldNot available on
measured_atDouyin
gender[].countXiaohongshu (RedNote)
age[].countXiaohongshu (RedNote)
province[].countXiaohongshu (RedNote)
city[].countXiaohongshu (RedNote)
interest[].countXiaohongshu (RedNote)
device[].countXiaohongshu (RedNote)
city_tier[].nameXiaohongshu (RedNote)
city_tier[].shareXiaohongshu (RedNote)
city_tier[].countXiaohongshu (RedNote)
crowd[].nameXiaohongshu (RedNote)
crowd[].shareXiaohongshu (RedNote)
crowd[].countXiaohongshu (RedNote)
purchase_category[].nameXiaohongshu (RedNote)
purchase_category[].shareXiaohongshu (RedNote)
purchase_category[].countXiaohongshu (RedNote)
purchase_amount[].nameXiaohongshu (RedNote)
purchase_amount[].shareXiaohongshu (RedNote)
purchase_amount[].countXiaohongshu (RedNote)
One endpoint may still leave out a field another gives: each endpoint's page lists what it cannot give, and every answer says so in meta.unavailable.

Endpoints that return Audience

The number beside each platform is how many of its endpoints return it.

EndpointPathPrice
Douyin trend-index creator follower profileGET/v1/douyin/index/creators/audience/get$0.0020
Douyin Xingtu creator audienceGET/v1/douyin/xingtu/creators/audience/get$0.0040
Xiaohongshu PGY creator audience profileGET/v1/xiaohongshu/pgy/creators/audience/get$0.0400

Example

One item from douyin.index.creators.audience.get, as recorded 2026-10-13 03:25 UTC. Names, text, IDs and links are examples; the figures are as recorded.

Audience · douyin.index.creators.audience.get
{
  "creator_id": "65888655493",
  "gender": [
    { "name": "male", "share": 0.8084029405057243 },
    { "name": "female", "share": 0.1915970594942758 }
  ],
  "age": [
    { "name": "31-40", "share": 0.3573003477857061 },
    { "name": "41-50", "share": 0.2595408957167182 },
    // … 3 more
  ],
  "province": [
    { "name": "广东", "share": 0.14160949971558792 },
    { "name": "江苏", "share": 0.07285886667660696 },
    // … 32 more
  ],
  "city": [
    { "name": "北京", "share": 0.03281000167057653 },
    { "name": "上海", "share": 0.027333702606498388 },
    // … 249 more
  ],
  "interest": [
    { "name": "随拍", "share": 0.04880862874319531 },
    { "name": "未分类(垂直度不足)", "share": 0.045695193136280836 },
    // … 40 more
  ],
  "device": [
    { "name": "华为", "share": 0.30586610757827787 },
    { "name": "苹果", "share": 0.22449642440387466 },
    // … 5 more
  ],
  "city_tier": [
    { "name": "三线", "share": 0.22936908477712395 },
    { "name": "新一线", "share": 0.20041213759459334 },
    // … 7 more
  ]
}

The whole response is on the endpoint's page →

Related

Other objects