SocialToAIStart freeConsole
POST/v1/call/xiaohongshu.kol_audience

Xiaohongshu (RedNote) KOL audience profile API (Pugongying)

Only on Xiaohongshu.

Get who follows a Xiaohongshu creator, by PGY creator ID: the share of each segment by gender, age, province, city, interest and device, and the day the figures are of. A call to the Xiaohongshu (RedNote) KOL audience profile API (Pugongying) costs 24 credits ($0.048 to $0.08 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP.

100 credits on sign-up, no card needed
24 creditsper call, ≈ $0.048–$0.08
One objectreturned per call
1.8 KBsample response, 1 item

Last updated:

What you get from the Xiaohongshu (RedNote) KOL audience profile API (Pugongying).
From a recorded answer.

A recorded call returned the object below, field by field. Names and text are removed from the sample; the numbers are as recorded.

FieldIn the recorded answer
titlenull
urlnull
ranknull
heatnull
fields.measured_at2026-10-10T16:00:00.000Z
fields.gender2 entries
fields.age2 entries
fields.province2 entries
fields.city2 entries
fields.interest2 entries
fields.device2 entries
fields.city_tiernull: Xiaohongshu cannot give it
fields.crowdnull: Xiaohongshu cannot give it
fields.purchase_categorynull: Xiaohongshu cannot give it
fields.purchase_amountnull: Xiaohongshu cannot give it

24 credits a call (≈ $0.048–$0.08): about 125 calls for $10.

Xiaohongshu (RedNote) KOL audience profile API (Pugongying): request and response

curl https://api.socialtoai.com/v1/call/xiaohongshu.kol_audience \  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Content-Type: application/json" \  -d '{    "id": "5c0017ef6b58b740c92463fb"  }'
import osimport uuidimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/call/xiaohongshu.kol_audience",    headers={        "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}",        # A new key for each request; the same one again retries it without paying twice.        "Idempotency-Key": str(uuid.uuid4()),    },    json={        "id": "5c0017ef6b58b740c92463fb",    },)print(response.json())
# Connected over MCP? Ask in plain words.Use the Xiaohongshu PGY creator audience profile interface (xiaohongshu.kol_audience) with id: 5c0017ef6b58b740c92463fb.# Your AI calls the call tool with:{  "id": "5c0017ef6b58b740c92463fb"}
Sign in to run24 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK1.8 KB24 credits
{  "op": "xiaohongshu.kol_audience",  "platform": "xiaohongshu",  "status": "ok",  "items": [    {      "platform": "xiaohongshu",      "id": "…",      "ref": "…",      "approx": [],      "type": "entry",      "entry_type": "audience",      "title": null,      "url": null,      "rank": null,      "heat": null,      "fields": {        "measured_at": "2026-10-10T16:00:00.000Z",        "gender": [          {            "name": "male",            "share": 0.27827228950824456,            "count": null          },          {            "name": "female",            "share": 0.7217277104917554,            "count": null          }        ],        "age": [          {            "name": "<18",            "share": 0.009193054136874362,            "count": null          },          {            "name": "18-24",            "share": 0.10156135998832627,            "count": null          }        ],        "province": [          {            "name": "浙江",            "share": 0.3215255771842463,            "count": null          },          {            "name": "江苏",            "share": 0.24728383884110458,            "count": null          }        ],        "city": [          {            "name": "温州",            "share": 0.2359665006790403,            "count": null          },          {            "name": "徐州",            "share": 0.1805115436849253,            "count": null          }        ],        "interest": [          {            "name": "美食",            "share": 0.15246001214820815,            "count": null          },          {            "name": "旅游",            "share": 0.1216170614834312,            "count": null          }        ],        "device": [          {            "name": "苹果",            "share": 0.756649688737974,            "count": null          },          {            "name": "小米",            "share": 0.0622524052065648,            "count": null          }        ],        "city_tier": null,        "crowd": null,        "purchase_category": null,        "purchase_amount": null      }    }  ],  "unavailable": ["fields.gender.count", "fields.age.count", "fields.province.count", "fields.city.count", "fields.interest.count", "fields.device.count", "fields.city_tier", "fields.crowd", "fields.purchase_category", "fields.purchase_amount"],  "cost_credits": 24}
entry_type
audience
measured_at
2026-10-10T16:00:00.000Z
city_tier
null
crowd
null
purchase_category
null
purchase_amount
null

Names and text were removed from the sample; the numbers are as recorded.

Sample dataFull response

Xiaohongshu (RedNote) KOL audience profile API (Pugongying) parameters.
1 parameter, all required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
idstringRequired—PGY creator ID, 24 hexadecimal characters; take it from the PGY creator search

Where to get what you send.

id

PGY creator ID, 24 hexadecimal characters; take it from the PGY creator search (e.g. 5c0017ef6b58b740c92463fb)

Every item these return carries its ref; send it as it is:

Xiaohongshu (RedNote) KOL audience profile API (Pugongying) response fields.
What Xiaohongshu cannot give is marked.

FieldTypeMeaning
items[].titlestringThe entry's title or name.
items[].urlstringA link that opens it; null where the platform's list has none.
items[].rankintegerPosition on a board, from 1.
items[].heatintegerThe platform's heat score.
items[].fields.measured_atstringThe day the figures are for, as the start of that day in China time (UTC+8).
items[].fields.genderarrayBy gender: name, share, count.count: always null here
items[].fields.agearrayBy age group: name, share, count.count: always null here
items[].fields.provincearrayBy province: name, share, count.count: always null here
items[].fields.cityarrayBy city, the largest only: name, share, count.count: always null here
items[].fields.interestarrayBy interest: name, share, count.count: always null here
items[].fields.devicearrayBy phone brand: name, share, count.count: always null here
items[].fields.city_tierarrayalways nullBy city tier: name, share, count.
items[].fields.crowdarrayalways nullBy the consumer groups the platform sorts people into: name, share, count.
items[].fields.purchase_categoryarrayalways nullBy category of goods bought: name, share, count.
items[].fields.purchase_amountarrayalways nullBy amount spent per order: name, share, count.
nullFields Xiaohongshu cannot give

Read null as “Xiaohongshu did not give this”, not as zero. These are always null on this call:

  • fields.city_tierBy city tier: name, share, count.
  • fields.crowdBy the consumer groups the platform sorts people into: name, share, count.
  • fields.purchase_categoryBy category of goods bought: name, share, count.
  • fields.purchase_amountBy amount spent per order: name, share, count.
  • fields.gender.countBy gender: name, share, count.
  • fields.age.countBy age group: name, share, count.
  • fields.province.countBy province: name, share, count.
  • fields.city.countBy city, the largest only: name, share, count.
  • fields.interest.countBy interest: name, share, count.
  • fields.device.countBy phone brand: name, share, count.

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format

Xiaohongshu (RedNote) KOL audience profile API (Pugongying): paging and billing.

One call returns one object, with no pages, for 24 credits.

5 calls per second per key, 20 after a purchase; going over is not charged. Rate limits

A failed call costs 0 credits and is never retried on its own. Error codes

Interface last tested: 2026-10-30. Each call reads from the platform, and fetched_at in the answer is when it was read. The same request sent again with the same key within 5 minutes is a replay (replayed: true): 0 credits, and the answer as first read.

Once connected over MCP, these questions use the Xiaohongshu (RedNote) KOL audience profile API (Pugongying).

  1. Get who follows a Xiaohongshu creator, by PGY creator ID: 5c0017ef6b58b740c92463fb.
    call {"op":"xiaohongshu.kol_audience","id":"5c0017ef6b58b740c92463fb"}
    24 credits
  2. Search Xiaohongshu creators on PGY by terms, matched against what they write about: 咖啡, then for the first 3: get who follows a Xiaohongshu creator, by PGY creator ID.
    call {"op":"xiaohongshu.kol_search","query":"咖啡"}call {"op":"xiaohongshu.kol_audience","id":"<ref>"} × 3
    96 credits

Give this to your AI.
Copy it into Claude or ChatGPT.

How to connect
Prompt
Use the SocialToAI MCP server (https://mcp.socialtoai.com/mcp) for this: Get who follows a Xiaohongshu creator, by PGY creator ID: 5c0017ef6b58b740c92463fb.Call the call tool with {"op":"xiaohongshu.kol_audience","id":"5c0017ef6b58b740c92463fb"}. Needed: id.For several, call it once for each: 24 credits each.Before you start, work out how many credits it will take in all and ask me; call it only after I agree.What usually comes next, with the ref or username it returns: call xiaohongshu.kol_notes (PGY creator notes).If SocialToAI is not connected yet, tell me how to connect it; never ask me to paste a key into the chat.Answer with a link to every item you used, and tell me how many credits it cost.

Paste it into a chat once SocialToAI is connected over MCP. There is no key in it: Claude and ChatGPT sign in, other clients send a key in a header.

The interface of the same name on other platforms.

All platforms and prices
POST/v1/call/xiaohongshu.kol_audience{ "id": "5c0017ef6b58b740c92463fb" }24 creditsper call
Change the op in the path. The response around the items keeps the same shape.

Read next.

Xiaohongshu official API: access, prices and limits

What its own API allows, who can use it and what it costs, with sources.

Creator data API, every platform

Finding creators and reading their data, platform by platform.

How to let ChatGPT read Xiaohongshu (RedNote)

connect ChatGPT to Xiaohongshu notes and comments

Let Claude Code and Cursor read Xiaohongshu and Douyin, with no QR code or cookie

connect Claude Code and Cursor to Xiaohongshu and Douyin with no QR code or cookie, and what a self-run server costs you

How brands outside China monitor Xiaohongshu (RedNote), Douyin and Weibo with AI

monitor Xiaohongshu, Douyin and Weibo from outside China with AI, in English, with original links

How to find creators on Xiaohongshu PGY and Douyin Xingtu

PGY and Xingtu by interface: how each search matches, the IDs they take, what a shortlist costs

Xiaohongshu (RedNote) MCP server

Let your AI read Xiaohongshu.

Xiaohongshu (RedNote) KOL audience profile API (Pugongying): questions.
Short answers.

All Xiaohongshu data APIs
Do I need a Xiaohongshu account or Xiaohongshu's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on Xiaohongshu; you never sign in to Xiaohongshu or apply for anything there.
What does one call cost in dollars?
24 credits: $0.08 at 300 credits per dollar (purchases from $10), $0.048 at 500 per dollar (from $200). Credits never expire and there is no subscription. 100 free credits on sign-up, no card.
Am I charged when a call fails or finds nothing?
A failed call costs 0 credits and is never retried on its own.
How much does one call return?
One call returns one object, with no pages, for 24 credits.
Is there a rate limit?
5 calls a second per key, 20 a second after your first purchase. A request over the limit is told how long to wait and is not charged.
How do I use it from Claude, ChatGPT or Cursor?
Yes. In Claude or ChatGPT, add the MCP address https://mcp.socialtoai.com/mcp as a custom connector, sign in with the code we email you and press Allow; there is no key to paste. In Claude Code, run one command, type /mcp, pick socialtoai and sign in; Codex and Cursor sign in too, with their steps on the connect page. Then ask in plain words and your AI calls call for you.
Start free · 100 credits

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed