# Xiaohongshu KOL Scraper 小红书蒲公英 \[From $1] Prices & Audience (`memo23/xiaohongshu-kol-scraper`) Actor

\[From $1 per 1000 rows] Xiaohongshu (RedNote) influencer data from Pugongying (蒲公英): creator search with quoted note prices, reads, CPM and follower quality; profiles with audience age, gender and cities; keyword stats. No login. Creator search $10, profiles $150 per 1,000.

- **URL**: https://apify.com/memo23/xiaohongshu-kol-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Social media
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 creators

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Xiaohongshu KOL Scraper 小红书蒲公英 — Creator Prices & Audience

Influencer data for Xiaohongshu (小红书, RedNote) from **Pugongying (蒲公英)**, the platform's own marketplace for brand collaborations. Search creators and get their quoted note prices, median reads and engagement, CPM estimates and follower quality; open one creator for the audience breakdown; or check how big a keyword is. No login, no cookies, no brand account.

### What it does

| Input | You get |
|-------|---------|
| Creator-search keyword | Creators for a topic, product type or nickname, with prices and performance |
| Xiaohongshu profile link or user id | One creator's full profile: performance against peers, reply rate, audience age, gender, interests, provinces, cities and devices |
| Keyword for statistics | Search score, notes, creators, impressions, reads and engagement with their 30-day change |

| `includePerformance` | A creator's 30-day note performance, standing against peers, top notes and cost curve |
| `includeFollowerHistory` | Active, engaged and paying follower shares with the daily follower count |
| `includeNotes` | A creator's notes with reads, likes, saves and the sponsoring brand |
| `includeSimilar` | Creators Pugongying lists as similar |
| `includeKeywordTrend` / `includeRelatedKeywords` | 90 days of daily keyword volume, and what people search before and after it |
| `leaderboards` | Eight note leaderboards, 100 notes each |
| `includeLiveCreators` | Live-commerce creators with viewers and sales ranges |
| Note link | One note's impressions, reads, likes, saves, comments, shares and follows gained |

Rows are told apart by `type`: `kol`, `kol-profile`, `kol-performance`, `kol-follower-history`, `kol-note`, `keyword-stat`, `keyword-trend`, `related-keyword`, `leaderboard-note`, `live-kol` and `note-detail`.

### How It Works

<p align="center">
  <img src="https://api.apify.com/v2/key-value-stores/Z38x4s4mwfSBPI7Tm/records/how-it-works-xiaohongshu-kol.png" alt="How the Xiaohongshu KOL scraper works" width="900" />
</p>

### Input

| Field | Type | Description |
|-------|------|-------------|
| `keywords` | `string[]` | Creator-search keywords, usually Chinese. |
| `maxResultsPerKeyword` | integer | Default 40, up to 2,000. 20 arrive per page. |
| `creators` | `string[]` | `xiaohongshu.com/user/profile/…` links or 24-character user ids. |
| `includeAudience` | boolean | Audience breakdown on creator profiles. Default on. |
| `includePerformance` | boolean | `kol-performance` row per creator. |
| `includeFollowerHistory` | boolean | `kol-follower-history` row per creator. |
| `includeNotes` / `maxNotesPerCreator` / `notesOrder` | boolean / integer / string | Creator notes, default 16; order `latest`, `mostRead` or `mostEngaged`. |
| `includeSimilar` | boolean | Similar creators as `kol` rows. |
| `keywordStats` | `string[]` | Keywords to get statistics for, one row each. |
| `includeKeywordTrend` / `includeRelatedKeywords` | boolean | Daily trend row and related-keyword rows for each statistics keyword. |
| `leaderboards` | `string[]` | `hotNotes`, `productSeeding`, `ecommercePromotion`, `pugongyingCollabs`, `leadCollection`, `ecommerceHot`, `seedingDirect`, `appPromotion`. |
| `leaderboardDays` / `leaderboardKeyword` / `maxItemsPerLeaderboard` | string / string / integer | Period (`3`, `7`, `14`, `30`), keyword filter, rows per board (default 100). |
| `includeLiveCreators` / `liveCreatorKeywords` / `maxLiveCreators` | boolean / `string[]` / integer | Live-commerce creators, all or by nickname. Default 20. |
| `noteUrls` / `includeNoteComments` | `string[]` / boolean | Note links or ids; featured comments on request. |

#### Example: find skincare creators

```json
{ "keywords": ["护肤", "敏感肌"], "maxResultsPerKeyword": 100 }
```

#### Example: vet two creators before a campaign

```json
{
  "creators": [
    "https://www.xiaohongshu.com/user/profile/63b8f39f0000000026013c5a",
    "5a1b2c3d4e5f6a7b8c9d0e1f"
  ]
}
```

#### Example: full due diligence on one creator

```json
{
  "creators": ["https://www.xiaohongshu.com/user/profile/63b8f39f0000000026013c5a"],
  "includePerformance": true,
  "includeFollowerHistory": true,
  "includeNotes": true,
  "maxNotesPerCreator": 24,
  "notesOrder": "mostRead",
  "includeSimilar": true
}
```

#### Example: what is working on the platform this week

```json
{ "leaderboards": ["hotNotes", "pugongyingCollabs"], "leaderboardDays": "7", "leaderboardKeyword": "护肤" }
```

#### Example: size up keywords

```json
{ "keywordStats": ["防晒", "早C晚A", "露营"] }
```

### Output

Creator from search (`kol`):

```json
{
  "type": "kol",
  "searchKeyword": "护肤",
  "userId": "63b8f39f0000000026013c5a",
  "url": "https://www.xiaohongshu.com/user/profile/63b8f39f0000000026013c5a",
  "name": "只吃饭不洗碗",
  "redId": "5390571293",
  "gender": "female",
  "location": "广东 惠州 惠城区",
  "followers": 156302,
  "contentCategories": ["护肤"],
  "featureTags": ["美白", "保湿补水", "敏感肌"],
  "industries": ["3c及电器", "美妆个护"],
  "imageNotePrice": 14999,
  "videoNotePrice": 14888,
  "sponsoredNotes": 91,
  "medianReads": 2277,
  "medianEngagements": 128,
  "estimatedImageCpm": 227.03,
  "estimatedVideoCpm": 708.01,
  "videoCompletionRate": 11.1,
  "activeFollowerShare": 79.9,
  "inviteReplyRate48h": 74.8
}
```

Each `kol` row also has `sampleNotes[]`, cost-per-engagement estimates, the 30-day follower growth rate and the share of notes above 100 and 1,000 likes. Prices are the creator's quoted rates in Chinese yuan for one sponsored note.

Creator profile (`kol-profile`) has the same fields plus:

```json
{
  "type": "kol-profile",
  "likesAndSaves": 1742835,
  "positioning": "品效型博主",
  "notesLast30d": 8,
  "readsBetterThanPeersPercent": 30.5,
  "engagementBetterThanPeersPercent": 27.1,
  "inviteReplyRate": 74.8,
  "audience": {
    "asOf": "2026-10-09",
    "femalePercent": 95.44,
    "malePercent": 4.56,
    "ages": [{ "name": "18-24", "percent": 51.77 }, { "name": "25-34", "percent": 27.25 }],
    "interests": [{ "name": "娱乐", "percent": 11.78 }],
    "provinces": [{ "name": "广东", "percent": 13.68 }],
    "cities": [{ "name": "广州", "percent": 3.09 }]
  }
}
```

Keyword statistics (`keyword-stat`):

```json
{
  "type": "keyword-stat",
  "keyword": "护肤",
  "searchScore": 993439,
  "searchScoreChange30dPercent": 7.4,
  "notes": 225506,
  "creators": 113305,
  "impressions": 8433098269,
  "reads": 1596415332,
  "engagements": 78350204,
  "likes": 52558122,
  "saves": 23564303,
  "comments": 2227779
}
```

### Pricing

Pay per event. You pay for rows you receive; a failed lookup costs nothing.

| Event | When | Price |
|-------|------|-------|
| Actor start | Once per run | $0.005 |
| Creator (`kol`) | Each creator from search | $0.01 |
| Creator profile | Each single-creator profile, audience included | $0.15 |
| Keyword statistics | Each keyword | $0.05 |
| Creator performance | Each performance report | $0.08 |
| Creator follower history | Each follower-history report | $0.08 |
| Creator note | Each note of a creator | $0.01 |
| Keyword trend | Each keyword's daily trend | $0.05 |
| Related keyword | Each related keyword | $0.001 |
| Leaderboard note | Each leaderboard entry | $0.004 |
| Live creator | Each live-commerce creator | $0.01 |
| Note detail | Each note fetched by link | $0.06 |

100 creators with prices cost $1. Set a maximum cost per run in the run options and the Actor stops there with what it has.

### FAQ

**Do I need a Pugongying brand account?**
No.

**Are the prices real?**
They are the rates each creator lists on Pugongying for one sponsored note. Final deals are negotiated.

**Does it return contact details?**
No.

**A creator was not found. Why?**
Only creators who joined Pugongying have a profile there. It takes a few thousand followers to be admitted.

**Can I search in English?**
You can, but the creators and their tags are Chinese, so Chinese keywords return far more.

### 🤖 For AI Agents & LLM Apps

**Purpose:** Xiaohongshu creator pricing, performance and audience data from Pugongying as structured JSON.

**Minimal input:** `{"keywords": ["护肤"], "maxResultsPerKeyword": 20}`

**Output:** rows with `type` = `kol` | `kol-profile` | `kol-performance` | `kol-follower-history` | `kol-note` | `keyword-stat` | `keyword-trend` | `related-keyword` | `leaderboard-note` | `live-kol` | `note-detail`. kol: userId, url, name, followers, imageNotePrice, videoNotePrice, medianReads, medianEngagements, estimatedImageCpm, contentCategories, location. kol-profile adds positioning, peer comparison and audience. keyword-stat: searchScore, notes, creators, impressions, reads, engagements and their 30-day change.

**Behaviors to know:** keywords should be Chinese. Prices are in CNY. Percent fields are 0 to 100. Free-plan runs return up to 20 creators per keyword.

### ⚠️ Disclaimer

This Actor collects business data that creators publish on Pugongying for brand collaboration. It is not affiliated with, endorsed by, or sponsored by Xiaohongshu. You are responsible for using the data in line with applicable laws and the platform's terms.

### SEO Keywords

xiaohongshu kol, rednote influencer, 小红书蒲公英, 蒲公英达人, xiaohongshu influencer pricing, rednote kol price, xiaohongshu kol search, xiaohongshu audience demographics, china influencer marketing, rednote creator data, xiaohongshu keyword data, pugongying api

# Actor input Schema

## `keywords` (type: `array`):

Find Pugongying creators by keyword (usually Chinese): a topic, product type or nickname. Each result is a `kol` row with quoted note prices, median reads and engagement, CPM estimates and follower quality.

## `maxResultsPerKeyword` (type: `integer`):

Upper bound on creators per keyword. 20 arrive per page.

## `creators` (type: `array`):

Xiaohongshu profile links (`https://www.xiaohongshu.com/user/profile/63b8f39f0000000026013c5a`) or user ids. Each returns a `kol-profile` row: prices, performance against peers, reply rate and the audience breakdown.

## `includeAudience` (type: `boolean`):

Add the audience to each creator profile: gender split, age groups, top interests, provinces, cities and devices.

## `includePerformance` (type: `boolean`):

Add a `kol-performance` row per creator: 30-day medians for impressions, reads, likes, saves, comments and shares, engagement and completion rates, standing against peers, top notes, CPM and daily curve.

## `includeFollowerHistory` (type: `boolean`):

Add a `kol-follower-history` row per creator: active, engaged, reading and paying follower shares, 30-day growth and the daily follower count.

## `includeNotes` (type: `boolean`):

Add the creator's notes as `kol-note` rows: title, reads, likes, saves, date, and whether it was sponsored and for which brand.

## `maxNotesPerCreator` (type: `integer`):

Upper bound on notes per creator. 8 arrive per page.

## `notesOrder` (type: `string`):

Which of the creator's notes come first.

## `includeSimilar` (type: `boolean`):

Add the creators Pugongying lists as similar, as `kol` rows with `source: "similar"`.

## `keywordStats` (type: `array`):

For each keyword, one `keyword-stat` row: search score, number of notes and creators, impressions, reads and engagement with their 30-day change, plus what kind of creators post about it.

## `includeKeywordTrend` (type: `boolean`):

For each statistics keyword, add a `keyword-trend` row with about 90 days of daily search score, notes, creators, impressions, reads and engagement.

## `includeRelatedKeywords` (type: `boolean`):

For each statistics keyword, add up to 100 `related-keyword` rows: what people search before and after it, with search score and note counts.

## `leaderboards` (type: `array`):

Pugongying's note leaderboards, 100 notes each, as `leaderboard-note` rows with reads, likes, saves, comments and the creator.

## `leaderboardDays` (type: `string`):

Period the leaderboards cover.

## `leaderboardKeyword` (type: `string`):

Keep only leaderboard notes matching this keyword.

## `maxItemsPerLeaderboard` (type: `integer`):

Upper bound on rows per leaderboard.

## `includeLiveCreators` (type: `boolean`):

Return creators who sell through live streams, as `live-kol` rows: followers, live days, average viewers, sales and order-value ranges, categories sold.

## `liveCreatorKeywords` (type: `array`):

Search live-commerce creators by nickname.

## `maxLiveCreators` (type: `integer`):

Upper bound on live-commerce creators per search.

## `noteUrls` (type: `array`):

Xiaohongshu note links or note ids. Each returns a `note-detail` row with impressions, reads, likes, saves, comments, shares, follows gained, text, hashtags and media. Works for notes of creators who are on Pugongying.

## `includeNoteComments` (type: `boolean`):

Add the note's featured comments and their replies to each `note-detail` row.

## Actor input object example

```json
{
  "keywords": [
    "护肤"
  ],
  "maxResultsPerKeyword": 40,
  "includeAudience": true,
  "includePerformance": false,
  "includeFollowerHistory": false,
  "includeNotes": false,
  "maxNotesPerCreator": 16,
  "notesOrder": "latest",
  "includeSimilar": false,
  "includeKeywordTrend": false,
  "includeRelatedKeywords": false,
  "leaderboardDays": "7",
  "maxItemsPerLeaderboard": 100,
  "includeLiveCreators": false,
  "maxLiveCreators": 20,
  "includeNoteComments": false
}
```

# Actor output Schema

## `results` (type: `string`):

Rows told apart by `type`: `kol` (a creator from search with prices and performance), `kol-profile` (one creator with performance summary and audience) and `keyword-stat` (search and content volume for a keyword).

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "护肤"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/xiaohongshu-kol-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": ["护肤"] }

# Run the Actor and wait for it to finish
run = client.actor("memo23/xiaohongshu-kol-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "护肤"
  ]
}' |
apify call memo23/xiaohongshu-kol-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,memo23/xiaohongshu-kol-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/00WRLK4KVaQarJL3G/builds/9I146xmr0P8fhjFdD/openapi.json
