# Xiaohongshu KOL Finder: RedNote Influencers Scored by AI (`rich_minds/xiaohongshu-kol-finder-ai`) Actor

First 25 creators free. Xiaohongshu KOL finder, pay per qualified creator: your niche in English → vetted RedNote creators, AI brand fit and a Chinese DM. Pugongying alternative for MCP & AI agents. Free demo on any plan; live search runs on your Apify account, any plan that runs Store Actors.

- **URL**: https://apify.com/rich\_minds/xiaohongshu-kol-finder-ai.md
- **Developed by:** [Rich Minds](https://apify.com/rich_minds) (community)
- **Categories:** Social media, Marketing, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.70 / 1,000 qualified creator (rules only)s

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 Finder: RedNote Influencers Scored by AI

**New RedNote creators who fit your brand, vetted in English, in your inbox every week.**

⚡ First **25 creators free** · 💵 **$0.0077** per qualified creator · 🤖 **≈ $0.087** per creator all in with AI, source scan included · ⏱️ demo in seconds · no cookie, no Chinese account

![One row per qualified RedNote creator — tier, followers, engagement rate, AI fit score, suggested collaboration and an English summary](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/shortlist.svg)

> **Try it in 30 seconds.** Click **Try it** — the form is pre-filled with a free demo on 6 sample camping creators.
> Type your niche (English is fine) and press Start for a live search. Your first **25 qualified creators** are free;
> creators that fail your filters cost nothing here (the source's scan runs on your Apify account, capped).
> **Already have creators?** Preset "Vet my own creator list" + your export → English verdict + DM, no source cost.
> Full live search: a plan that runs Store Actors (else ≤ 5 creators from a fallback) · demo and your own list: any plan.
> → [What a run costs](#-pricing--what-a-run-really-costs) · [What the AI adds](#-what-the-ai-tier-adds) · [Run it weekly](#-run-it-weekly)

### ⚡ At a glance

| | |
|---|---|
| **What you get** | a ranked RedNote creator shortlist for your niche — tier, engagement, contact, AI brand fit, English summary, a Chinese DM |
| **You provide** | your niche in English ("camping gear") and one line about your brand |
| **Output** | a ranked sheet (Excel, CSV, Sheets) plus an e-mail digest of the new creators |
| **Typical run** | 90 notes (3 terms × 30) → 25 profiles → ≈ 10 qualified creators, under 5 min (estimate) |
| **Cost of that run** | $0.66 rules only · $0.87 with AI ($0.58 source on your account + the creators here) |
| **Free tier** | first 25 qualified creators per account |
| **Which plan** | Free demo and your own list ([ready template](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/list-template.json)): any plan · live search: a plan that runs Store Actors; refused → ≤ 5 creators via zen-studio |
| **Keys / setup** | Apify model access: no key · other plans: your own key — free Gemini / Groq = 1–3 AI verdicts per run, paid = every creator |
| **Agencies** | one run per client niche ("Agency" preset); 10 clients weekly ≈ $38 a month all in with AI, ≈ $9 of it here |
| **Works with** | Schedules, webhooks, Sheets, Slack, Teams, Discord, Make / n8n / Zapier, MCP & AI agents |

### 🎯 What this Actor does

Find RedNote creators for your China launch — no Chinese account needed. We charge only per qualified creator; the
RedNote scan runs on your Apify account, capped:

- **Chinese search terms from your English niche** — "camping gear" becomes 露营装备 / 露营好物, the words creators use.
- **Creators, not notes** — notes grouped by author; free pre-filters first, only the best 25 profiles looked up —
  or vet the creators you already have.
- **Vetting you would do by hand** — tier, engagement rate, likes & collects per note; brand, shop and media accounts removed; odd metrics flagged.
- **A way in** — the collaboration contact printed in the public bio (合作 / 商务 / 📮 / vx / e-mail).
- **AI assessment** — brand-fit score with reasons, English summary, translated titles, risk and sponsored signals and a Chinese DM with English gloss.

### 🚀 How to use it

1. **Click `Try it`** — the form is pre-filled with the free demo on sample creators; it works as is.
2. **Type your niche and your brand brief** — your niche replaces the sample and runs the live RedNote search on
   your Apify account, capped by "Max source spend". Leave "AI assessment" on: your first 5 creators get live AI
   verdicts on any plan; all 25 free ones with Apify model access or a paid own key.
3. **Press Start and open the dataset** — best first; the Outreach tab has each DM.
4. **Schedule it weekly** with "E-mail me the new creators" — only new creators are delivered and charged.

![The Outreach view: contact route, bio contact hint and a Chinese first DM with English gloss per creator](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/outreach.svg)

📚 **Learn more:** [Step-by-step tutorial — how to find Xiaohongshu KOLs for your brand with this Actor](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/tutorial.html)

### 🆚 Why this instead of running the XHS data API yourself?

| | [`socialdatax/socialdatax-xhs-data-api`](https://apify.com/socialdatax/socialdatax-xhs-data-api) (2,182 users / 30 days) | **Xiaohongshu KOL Finder** |
|---|---|---|
| **Price** | $0.00499 per row + $0.00005 per run | from $0.0077 per qualified creator, first 25 free |
| **What you pay for** | every note, profile and pagination row | only qualified creators — rejected ones cost $0 here |
| **Your time per 100 creators** | hours of vetting and translating by hand (≈ 12 min each on 4 sample creators) | 0 h — ranked, English, deduped |
| **Same 100 creators, all in** | ≈ $5.80 for ≈ 900 notes + 250 profiles, Chinese, unsorted, repeats next week | $6.57 rules only · $8.70 with AI ($5.80 source you pay either way + ours) |

#### vs other RedNote KOL tools

Per 100 creators — what each Actor charges, and the source scan on your account in its own column:

| Actor | What you get | Charged by the Actor | Source scan on your account | All in | Your time per 100 creators |
|---|---|---|---|---|---|
| **This Actor, live search** · $0.0077 / creator | vetted creators from a niche keyword, English, AI fit + DM | $0.77 rules · $2.90 AI incl. tokens | ≈ $5.80 | $6.57 rules only · $8.70 AI | 0 h — contactable, English, deduped |
| **This Actor, your own list** (any plan) | the same, on rows you paste | $0.77 rules · $2.90 AI incl. tokens | none | $0.77 · $2.90 | 0 h |
| `funny_ground/xiaohongshu-influencer-finder` · 1 user · $0.0125 / creator | creators from category feeds; no AI verdict, no English ([its README](https://apify.com/funny_ground/xiaohongshu-influencer-finder)) | $1.25, every row charged | platform usage | ≈ $1.25 | hours of vetting + translating |
| `protocol/rednote-api` · 2 users · $0.018 / profile | a creator-metrics feed, every row charged | $1.80 for 100 profiles | none | ≈ $1.80 | hours of finding + vetting |
| `sian.agency/xiaohongshu-kol-analytics` · 7 users · $0.18 / KOL row + $0.20 start | Pugongying KOL data, one operation per run | $18.20 | none | $18.20 | hours of translating + judging fit |
| `zhorex/rednote-xiaohongshu-scraper` · 423 users · $0.12 / profile | profiles / posts; search needs your cookie ([its README](https://apify.com/zhorex/rednote-xiaohongshu-scraper)) | $12.01 for 100 known profiles | none | $12.01 | hours of finding + vetting |

**vs the free tools.** **Xiaohongshu app search** is free for a quick look — Chinese only, one creator at a time, no
export. **Pugongying (蒲公英)** has official audience data and books reported paid posts — but needs a Chinese brand
account. Find and shortlist here; book there.

### 💵 Pricing — what a run really costs

Pay per result: **one event per qualified creator**, plus the digest when one is sent. No start fee.

| Event | When it is charged | Price |
|---|---|---|
| `free-tier` | your first 25 qualified creators, in any mode | **$0.00** |
| `qualified-creator-basic` | AI off — metrics, flags, contact hint, rule score, rule DM | **$0.0077** |
| `qualified-creator-ai` | AI on — plus fit score, reasons, English summary, translations, collab type, AI DM | **$0.02** |
| `digest-delivered` | once per run, when the digest of new creators reached your e-mail / chat; first 4 free | **$0.05** |

**One free tier:** your first 25 qualified creators are free, whatever the tier.

**Never charged here:** search notes, authors dropped by a pre-filter, brand / shop / media accounts, creators below
"Minimum fit score", failed lookups, creators you already received. **The source's scan is not ours to waive:** in
live mode the data API bills your account $0.00499 per row — capped by "Max source spend".

**Worked example** — the form's defaults: 90 notes + 25 profiles = 115 source rows × $0.00499 + 28 run starts ×
$0.00005 = **$0.58 on your account** → ≈ 10 qualified creators → **$0.66 rules only** ($0.066 each) or **$0.87 with
AI** (10 × $0.02 + ≈ $0.09 tokens; $0.087 each). The first 25 creators are free here.

**AI tier, all in:** ≈ $0.087 per creator on a live search — $0.02 here + ≈ $0.009 tokens (at Claude Haiku 4.5
rates; the 2026-09-30 platform run measured 1,795 in / 1,120 out per creator, and 0.1.3 runs reasoning models at
low effort to cut the output) + ≈ $0.058 source scan on your account. Our price incl. tokens is ≈ $0.029; on your own
rows (list mode) there is no source scan.

<details><summary>How that compares, and at volume</summary>

**How that compares** — $0.0077 per qualified creator is below the $0.018 median of the RedNote Actors in the Store
results for "xiaohongshu kol finder" (funny\_ground, zhorex, protocol — other platforms left out), and one creator
replaces ≈ 11.5 raw rows (≈ $0.00067 per raw-row equivalent).

**At volume** — Agency, 10 client niches weekly: ≈ $38 a month all in with AI (≈ $9 of it here, the rest the source
scan and tokens). Brand, 3 niches weekly: ≈ $11 a month all in.

</details>

### 🤖 What the AI tier adds

<details><summary>The same creator with AI off (metrics, flags, rule score, rule DM)</summary>

```json
{"name": "周末野营Lily", "followers": 23800, "engagementRate": 13.28, "ruleScore": 73, "label": "hot",
 "fitReasons": ["niche terms in bio / notes: 露营装备", "engagement rate 13.28% vs 13.05% tier median"],
 "englishSummary": "Junior creator (23.8k followers, 浙江); 2 matching note(s) on 露营装备 / 露营好物; 13.28% engagement per note; last post 2026-09-18.",
 "outreachDm": "周末野营Lily你好！看到你的笔记「【品牌合作】这顶天幕太出片了」…"}
```

</details>

AI **on** — sample shown from a Groq run (`groq:openai/gpt-oss-120b` on our key, 2026-09-30); the platform default,
Claude Haiku 4.5, gets its own sample after its first measured run (ROADMAP 2026-10-07). Judged against the Nordtrail
tent brief:

```json
{
  "name": "周末野营Lily", "score": 73, "label": "hot", "niche": "camping gear", "suggestedCollab": "seeding",
  "fitReasons": ["Note title includes camping gear focus", "Engagement rate 13.28% above tier median"],
  "englishSummary": "Lily is a Hangzhou‑based creator sharing elegant camping and picnic setups, posting gear reviews and outfit guides …",
  "sponsoredSignals": [{"noteId": "66ea17b4000000001f09c9d9", "marker": "#广告"}],
  "outreachDmEn": "Hello Lily, I am from Nordtrail. We are launching a 1.2kg ultralight tent on Tmall Global … invite you to try it and share an honest review."
}
```

That is ≈ 12 min each on 4 sample creators you skip (translating, judging fit and risk, drafting a Chinese DM by
hand vs the AI rows, 2026-09-29).

**Try the AI on any plan:** the demo shows labelled sample AI verdicts (`aiModel: "sample"`), your first real search
gets **5 live AI verdicts on us**; then a free Gemini key ([aistudio.google.com/apikey](https://aistudio.google.com/apikey))
assesses a few creators per run, a paid Gemini / Groq key every creator.

### ⚙️ Input

| Field | Default | What it does |
|---|---|---|
| `nicheKeywords` | — | Your niche; the AI adds the Chinese search terms creators use |
| `brandBrief` | — | Brand, product, price, audience — the AI scores fit and writes the DM from it |
| `minScore` | `50` | Below it a creator is not delivered and not charged |
| `maxQualified` | `50` | Cap on creators delivered (and charged) per run |
| `maxDiscoveryChargeUsd` | `1` | Max source spend on your account |
| `enableAi` | `true` | AI assessment on / off |
| `minFollowers` / `maxFollowers` | `1000` / `500000` | Follower range |
| `tiers` | `[]` (all) | `koc` < 5k · `junior` 5k–50k · `mid` 50k–500k · `head` 500k+ |
| `accountTypes` | `["creator"]` | Drops brand official, store and media accounts |
| `maxProfilesToCheck` | `25` | Paid profile lookups per run, best authors first |
| `sourceMode` | `actor` | `actor` (live), `dataset` or `list`; `{}` runs the free demo |

<details><summary>Every other option (all 59 are in the Input tab)</summary>

- **Filters:** `minEngagementRate`, `minMatchingNotes`, `minNoteLikes`, `publishedWithin`, `locations`,
  `requireBusinessContact`, `excludeUserIds`, `targetFlags`.
- **Search:** `localiseKeywords` (English → Chinese terms), `termsPerKeyword`, `searchTerms`, `sortBy`, `noteType`, `topicUrls`,
  `profileUrls`, `notesPerKeyword`. **Output:** `includeOutreachDm` (the DM on / off).
- **Delivery:** `slackWebhookUrl`, `teamsWebhookUrl`, `googleChatWebhookUrl`, `discordWebhookUrl`, `webhookUrl`,
  `webhookHeaders`, `webhookBatchSize`, `alertMinFitScore`; memory: `dedupeStoreName`, `dedupeTtlDays`, `resetState`,
  `historyDatasetName`.

**Flags** (`targetFlags`): `business_contact` · `bio_email` · `mcn_signed` · `high_engagement` (≥ 2× the tier
median) · `sponsored_experience` (合作 / 广告 / #ad notes) · `recently_active` (≤ 30 days) · `verified` ·
`content_risk` (medical / financial claims, gambling, adult, 引流 spam) · `anomaly` (odd follower / like ratios).

</details>

### 📤 Output

One dataset item per qualified creator — JSON, CSV or Excel, or a webhook. Views: `Shortlist` (best first),
`Top picks` (why and risks), `Outreach` (contact route, DM) and `Metrics`.

<details><summary>A full row from the AI run, and every field</summary>

From our AI run of the Nordtrail example (own key, `groq:openai/gpt-oss-120b`, 2026-09-30; sample creators, so
`chargedEvent` is `demo`):

```json
{
  "userId": "60b2d7f1000000000102c9e4", "name": "阿Ken的户外", "url": "https://www.xiaohongshu.com/user/profile/60b2d7f1000000000102c9e4",
  "accountType": "creator", "followers": 86300, "followerTier": "mid", "engagementRate": 9.99,
  "businessContactHint": "商务合作 vx: ken_outdoor_biz", "contactRoute": "bio: 商务合作 vx: ken_outdoor_biz", "fitScore": 72, "score": 72, "label": "hot",
  "niche": "camping gear", "fitReasons": ["Note title shows camping gear focus", "Engagement rate 9.99% high for tier"],
  "englishSummary": "阿Ken的户外 is a Shanghai‑based creator posting outdoor photography, camping and self‑driving content …",
  "suggestedCollab": "seeding", "outreachDm": "您好，阿Ken！我们是瑞典户外品牌Nordtrail，刚在天猫国际推出一款…",
  "recommendedNextStep": "Send DM via RedNote with seeding offer", "assessedBy": "ai", "chargedEvent": "demo", "dedupeKey": "xhs:60b2d7f1000000000102c9e4"
}
```

AI off: `englishSummary` is built from the row's own figures, `niche` is your keyword; `fitScore`, `bioEn` and the
translated titles are `null`.

| Field | Description |
|---|---|
| `itemId`, `userId`, `redId`, `name`, `url`, `avatarUrl` | Identity — `url` is the RedNote profile |
| `bio`, `bioEn`, `verified`, `accountType`, `ipLocation`, `mcnAgency` | Profile; `bioEn` from the AI |
| `businessContactHint`, `bioEmail`, `contactRoute` | Contact from the public bio; route = e-mail → bio hint → DM |
| `followers`, `following`, `postedNotes`, `likesAndCollects`, `likesAndCollectsPerNote`, `followerTier` | Account metrics (null when not reported) |
| `matchingNotes`, `matchedTerms`, `nicheKeyword`, `medianNoteLikes`, `medianNoteCollects`, `medianNoteEngagement`, `engagementRate`, `lastPostedAt` | Niche activity |
| `postsPerWeek`, `sponsoredShare` | From recent notes (when `recentNotesPerCreator` > 0) |
| `topNotes` | ≤ 5 notes with `url`, `title`, `titleEn` (AI, top 3) and counts |
| `anomalyFlags`, `flags`, `targetFlagsMatched`, `riskFlags`, `sponsoredSignals` | Rule / AI findings |
| `ruleScore`, `fitScore`, `score`, `label` | Rule score, AI fit, final score, hot / warm / cold |
| **Which score to trend on** | `ruleScore` — the same scale on every row and run; `score` is the AI fit where `aiModel` is set |
| **Canonical fields** | `url` and `score` are the fields to map |
| `fitReasons`, `niche`, `contentThemes`, `englishSummary`, `suggestedCollab`, `recommendedNextStep` | The verdict |
| `outreachDm`, `outreachDmEn` | Chinese first DM + English gloss (AI, or a rule DM on hot / warm rows) |
| `assessedBy`, `aiModel`, `firstSeenAt`, `sourceActor`, `chargedEvent`, `billedAs`, `dedupeKey`, `source`, `scrapedAt` | Provenance and billing |

</details>

**Upsert key for a CRM or Sheet:** `dedupeKey` (`xhs:` + the RedNote user id); `itemId` is its short hash. A
**`DIGEST`** (funnel, the 5 to contact first, trend vs the last run) and a client-ready **`REPORT`** page sit next to
`OUTPUT` (the run record: `funnel`, `digest`, `aiCoverage`; `RUN_SUMMARY` is the same).

⭐ **Found it useful? A review on the Store helps others find it** — it takes a minute on the Actor's page.

### 🔁 Run it weekly

1. **Open the saved task and click Schedule** after your first real run (`OUTPUT.scheduleTaskUrl`), your address in
   `notifyEmail`: each run with new creators e-mails the digest.
2. Leave `dedupeAcrossRuns` on — known creators are dropped before the paid profile lookup.
3. Add a Slack / Teams / Google Chat / Discord webhook, or the [ready tracker sheet](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/tracker.csv).
4. From run 2, `OUTPUT.history` and the `REPORT` show every run.

Weekly cost is the new creators only: week 1 ≈ 10 creators (≈ $0.87 all-in with AI); from week 2 the memory drops
creators you already have — ≈ 4–6 new a week (estimate), ≈ $0.73 a week, plus $0.05 per e-mailed digest after the
first 4.

#### 🎯 Try it for your niche

Pick a use case in **Start from a ready niche search** at the top of the form and press Start.

| Niche | What it looks for | Preset |
|---|---|---|
| Clean skincare | "clean skincare", ≤ 300k followers, serum seeding brief | `clean-skincare` |
| Specialty coffee | "specialty coffee", home-brewing creators, ≤ 200k | `specialty-coffee` |
| Tourism board | "iceland travel", ≥ 5k followers, press-trip brief | `travel-tourism` |
| University | "study in the uk", ≥ 2k followers, ambassador brief | `study-abroad` |
| Pet food | "cat food", ≤ 300k, seeding + affiliate brief | `pet-food` |
| Agency | 3 client niches in one run, 60 creators | `agency-multi-niche` |
| Your own creator list | a Pugongying / Qiangua export or profile rows — any plan, no source cost | `vet-my-list` + [list template](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/list-template.json) |

Each preset's full input is in `docs/img/preset-<niche>.json`.

### 🔌 Integrations, automation and API

- **Webhook** — `webhookUrl` POSTs `{"event": "creator.qualified", "creator": {…}, "runId": "…"}` (batches:
  `creators.qualified`); one retry, never fails the run.
- **Google Sheets / Slack** — the **Integrations** tab.
- **HubSpot / Pipedrive** — Make / Zapier "create or update" on `dedupeKey`: `name`, `url`, `contactRoute`, `outreachDm`.
- **AI agents / MCP** — plain typed inputs. **Free first call:** `{}` runs the demo.

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("rich_minds/xiaohongshu-kol-finder-ai").call(
    run_input={
        # free first call instead: {} (the demo) or {"sourceMode": "list", "itemsList": [...]} (your own rows)
        "nicheKeywords": ["camping gear"],
        "brandBrief": "Swedish outdoor brand, 1.2 kg ultralight tent (¥1,899), seeding with campers",
        "maxQualified": 50,
        "maxDiscoveryChargeUsd": 1.0,  # spend cap on your account for the source's scan
    },
    timeout_secs=3600,  # sized for the AI path with your own key — see "How long does a run take?"
    # build="0.1.3",  # pin the build number your pipeline was tested with; omit for the latest
)
out = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("OUTPUT")["value"]
if out.get("sourceError"):  # a plan refusal ends SUCCEEDED with 0 rows — never read it as "nothing new"
    raise RuntimeError(out["sourceError"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["name"], item["score"], item["label"], item["url"])
```

<details><summary>MCP, JavaScript, run modes, list-mode rows</summary>

**Use it from Claude, ChatGPT or any MCP client:**

```json
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=rich_minds/xiaohongshu-kol-finder-ai"}}}
```

Then ask it to run `{}` first (free), then your niche.

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

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('rich_minds/xiaohongshu-kol-finder-ai').call({
    // free first call instead: {} (the demo) or { sourceMode: 'list', itemsList: [...] } (your own rows)
    nicheKeywords: ['camping gear'],
    brandBrief: 'Swedish outdoor brand, 1.2 kg ultralight tent (¥1,899), seeding with campers',
    maxQualified: 50,
    maxDiscoveryChargeUsd: 1.0, // spend cap on your account for the source's scan
}, { timeout: 3600 /* , build: '0.1.3' — pin the build number your pipeline was tested with */ });
const out = (await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT')).value;
if (out.sourceError) throw new Error(out.sourceError); // a plan refusal ends SUCCEEDED with 0 rows
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((i) => [i.name, i.score, i.label, i.url]));
```

**Which call runs what** — every run writes `OUTPUT.mode` (`demo` / `live` / `list` / `dataset`); the full table, every
list-mode field and every run outcome are in the [API reference](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/api-reference.md).

#### List-mode rows — what a pasted record needs

`sourceMode: "list"` runs on any plan with no source cost: profile rows, note rows or both, from the
[ready template](https://api.apify.com/v2/key-value-stores/2K0LNsToEDb0OvBgi/records/list-template.json).

| Field | Needed? | What it enables |
|---|---|---|
| `user_id` | required | the creator and its dedupe key (a note row uses `author_user_id` + `note_id`) |
| `follower_count`, `bio`, `notes` | optional | tier, contact hint, niche match and engagement rate |

</details>

**Minimal agent input** (MCP: `mcp.apify.com/?actors=rich_minds/xiaohongshu-kol-finder-ai`):

```json
{"nicheKeywords": ["camping gear"], "brandBrief": "…", "maxQualified": 20, "maxDiscoveryChargeUsd": 1.0}
```

#### Run outcomes — what your integration sees

<details><summary>Every outcome and what it charges</summary>

| Outcome | Run status | `OUTPUT` | Charged? |
|---|---|---|---|
| Free demo | SUCCEEDED | `demo` | no |
| Success | SUCCEEDED | `funnel`, `chargedEvents`, `aiCoverage` | per qualified creator |
| Plan refused the default source → fallback | SUCCEEDED, ≤ 5 creators | `sourceStatus.planFallback` | per qualified creator |
| Nothing matched | SUCCEEDED | `qualified: 0`, `funnel` | not by us |
| Invalid input | FAILED | — | no |
| Your plan cannot run any source | SUCCEEDED — check `OUTPUT.sourceRefused`; FAILED on a schedule / webhook | `sourceError`, `sourceRefused: "plan"` | no |
| Source failed (nothing loaded) | FAILED | `sourceError` | no |
| Source partial (a search timed out) | SUCCEEDED | `sourceStatus` | per qualified creator |
| AI unavailable | SUCCEEDED | `aiError`, `aiCoverage` | free first, then basic |

</details>

### 👥 Who is it for?

| You are… | You run it to… | Start with |
|---|---|---|
| A Western brand entering China | 20 creators who fit your brand, in English | niche + brand brief, AI on |
| A Tmall Global / cross-border seller | KOCs and mid-tier creators with real saves | "Follower tiers" koc–mid, likes ≥ 200 |
| A China-marketing agency | a shortlist per client, never a repeat | `agency-multi-niche`, a `dedupeStoreName` per client |
| A tourism board or university | travel / study-abroad creators | `travel-tourism` / `study-abroad` |
| A developer / AI agent | typed, deduped records from a keyword | the minimal agent input |

### 🧠 How the AI works

Model `anthropic/claude-haiku-4.5` via Apify's model access, or your own key; one creator at a time, nothing invented.

<details><summary>What the model sees and the grounding rules</summary>

Metrics from code, the bio, up to 8 notes and your brief, best rule-ranked first. A cited `noteId` must be the
creator's and a sponsored `marker` verbatim, or it is removed; a model error never fails the run.

</details>

### 🔒 Data, compliance and limits

- Public notes and profiles only, no login, no cookie; contact hints only as printed in the public bio; no audience
  demographics guessed. Paid collaborations must be reported (报备) — book them through Pugongying.
- Missing counts are null, never 0. Keep your use within Xiaohongshu's terms and PIPL / GDPR.

### 🇨🇳 中文简介

小红书 KOL 达人筛选工具：用英文（或中文）输入品类，自动生成小红书搜索词，按博主汇总笔记，筛掉品牌号、店铺号和数据异常账号，
输出粉丝量级、互动率、简介里的合作联系方式、AI 品牌匹配分、英文简介和一条中文私信草稿。前 25 位合格博主免费，之后每位
$0.0077（AI 版 $0.02）；只按合格博主收费，数据源的扫描费用在您自己的 Apify 账户上，有上限。适合出海品牌、跨境电商和服务海外
品牌的代理公司。

### ❓ FAQ

**What will my first real search cost?** ≈ $0.58 on your account for 115 source rows (capped at $1); your first 25
creators are free here. After that ≈ $0.66 rules / $0.87 AI for ≈ 10 creators.

**How do I send the DMs safely?** By hand, a few a day, from an established RedNote account. Keep the first message
on RedNote: no links, WeChat IDs or phone numbers — RedNote restricts accounts that move users off-platform (引流).
The AI's DM leaves contact links out for that reason. Book paid posts through Pugongying (报备).

**Which Apify plan do I need?** Any plan runs the demo and `list` mode; the full live search needs a plan that runs
Store Actors — a plan that refuses the default source gets ≤ 5 creators from zen-studio's scraper instead. No API key
where your plan includes model access — otherwise your own Gemini / Groq key.

**Can I vet creators I already have?** Yes — preset "Vet my own creator list" + your Pugongying / Qiangua export or
profile rows: English verdict and DM on any plan, no source cost. Bare profile URLs are looked up live.

**How long does a run take?** Seconds for the demo, 3–5 min for a live search (estimate).

<details><summary>One measured row per mode</summary>

| Mode | Measured time | `timeoutSecs` |
|---|---|---|
| Free demo (6 sample creators) | ≈ 1 s (2026-09-29) | 120 |
| Your own rows, rules only | ≈ 1 s per 6 creators | 300 |
| Live search, rules only | 3–5 min (estimate) | 900 |
| AI via Apify's model access | not measured yet | 1800 |
| AI with a free own key | a few creators, then rule scores (≤ 2 min of rate-limit waits) | 1800 |
| AI with a Groq key | measured ≈ 4–9.1 s per creator (openai/gpt-oss-120b: 4 s on 2026-09-30, 9.1 s on 2026-09-29); 50 creators ≈ 635 s | 3600 |

Worst case with a slow own key: ≈ 30 min per 100 creators; the AI stops before the timeout, creators keep their rule
score.

</details>

**Will I be charged for the same creator twice?** No, with `dedupeAcrossRuns` on. Adding or removing a niche keyword
keeps the memory — a creator has one RedNote id whichever keyword finds it. Give each client its own
`dedupeStoreName`.

**What if nothing matches?** The run succeeds with 0 rows and charges nothing here; the status shows the funnel.

<details><summary>More questions: free units, English-speaking brands, Pugongying, KOL vs KOC</summary>

**Do rule-scored creators use my free ones?** Yes, while the AI is unavailable — except the last 5 (the AI reserve),
kept so your first AI-assessed creators are free too.

**Is it a RedNote influencer finder for English-speaking brands?** Yes — vetted creators, summarised in English.

**Can I run a Xiaohongshu influencer search without speaking Chinese?** Yes: type your niche in English; the AI
searches with the Chinese terms creators use.

**How do I find influencers in China for a product launch?** Your niche plus one line on the product, run weekly.

**Is it a Pugongying alternative?** For discovery and shortlisting, yes — no Chinese brand account needed. Pugongying
wins on official audience data, rate cards and booking; use both.

**What is an xhs KOL vs a KOC?** A KOC has under 5k followers (素人); then junior, mid (50k+) and head (500k+).

</details>

### 🧩 More Actors from the same developer

Same pay-per-qualified-result model, closest to your job first:

- **[Instagram Influencer Finder](https://apify.com/rich_minds/instagram-creator-qualifier)** — the same creator shortlist on Instagram and TikTok for your global campaigns.
- **[Reddit Brand Monitoring](https://apify.com/rich_minds/reddit-brand-monitoring-ai)** — what Western buyers say about your brand while you launch in China.
- **[Threads Brand Monitoring](https://apify.com/rich_minds/threads-brand-monitoring-ai)** — the Threads posts about your launch worth answering first.
- **[LinkedIn Buying Intent Leads](https://apify.com/rich_minds/linkedin-intent-leads)** — for agencies: brands asking for China-marketing or influencer help.

### 🆘 Support

Something missing or wrong? Open an issue on the Actor's page — requests from buyers are shipped first.

### 📝 Changelog

- **0.1.3** (2026-09-30) — a plan that refuses the default source gets up to 5 real creators from a fallback source;
  a scheduled run refused by the plan now fails visibly; a "Vet my own creator list" preset; shorter AI verdicts;
  the form opens with the niche presets and marks every field that affects what you pay.
- **0.1.2** (2026-09-30) — a new niche keyword keeps your memory (no re-charges); the demo shows summary, niche and
  MCN; unreported counts stay empty; snippets stop on a plan refusal; a list template; 中文简介; digests $0.05 after 4 free.
- **0.1.1** (2026-09-30) — initial release: niche → Chinese terms, creator vetting, AI brand fit, English summary and Chinese DM.

# Actor input Schema

## `preset` (type: `string`):

One click: pick a niche and press Start — it fills the search fields you left empty and runs the live search (spend-capped below). Your own values always win. <b>Custom</b> = fill the fields yourself.

## `nicheKeywords` (type: `array`):

What your brand sells or what creators post about, e.g. <code>camping gear</code> — the AI adds the Chinese terms creators search. Typed next to the sample, it starts the live search (spend-capped below). The full live search needs a paid Apify plan; a plan that refuses it gets ≤ 5 real creators from zen-studio's scraper.

## `brandBrief` (type: `string`):

Brand, product, price point, target audience and campaign goal in plain words. The AI scores every creator's brand fit against it and writes the first DM from it — only facts you write here go into the DM (no invented fees or free products).

## `maxQualified` (type: `integer`):

Affects what you pay: the ceiling of what <b>this Actor</b> charges — at most this many × $0.02 with AI on (× $0.0077 with AI off), e.g. 50 × $0.02 = $1.00; the source's own spend has its cap right below. The best-scoring creators are output first.

## `maxDiscoveryChargeUsd` (type: `number`):

Affects what you pay: hard cap on what the RedNote source runs may charge your account in <b>actor</b> mode (searches + profile lookups, estimated from the source's row price) — $1.00 in the form and for an API call that leaves it out.

## `enableAi` (type: `boolean`):

Brand-fit score with reasons, English summary, translated note titles, risk and sponsored-post signals, and a Chinese DM with English gloss. <b>On = $0.02 per qualified creator + AI tokens (≈ $0.009 measured); off = $0.0077</b>. Your first 5 creators get live AI verdicts on any plan; all 25 free creators with Apify model access or a paid own key.

## `notifyEmail` (type: `string`):

The digest of each run with new creators (how many are new, the 5 to contact first, the top 10 with links), e-mailed here via Apify's send-mail Actor. Schedule the run weekly and only new creators reach your inbox. Never sent for the free demo. A delivered digest is one $0.05 event per run — your first 4 are free.

## `minScore` (type: `integer`):

Affects what you pay: creators scoring below this are discarded and <b>not charged</b>. With AI on it is the AI brand-fit score, otherwise the rule fit score. Raise it to pay only for the strongest matches. (Called <code>minFitScore</code> in the first draft.)

## `minFollowers` (type: `integer`):

Creators with fewer followers are dropped free, after the profile lookup. 1,000 keeps out empty accounts; 0 keeps every KOC.

## `maxFollowers` (type: `integer`):

Creators above this are dropped free — 500,000 keeps out head KOLs whose rates are out of a seeding budget.

## `tiers` (type: `array`):

Only these tiers (the 素人 / 初级 / 腰部 / 头部 convention). Empty = every tier inside the follower range.

## `minEngagementRate` (type: `number`):

Median likes + collects + comments of the creator's matching notes ÷ followers. 0 = off. A creator whose rate is unknown fails a threshold above 0.

## `locations` (type: `array`):

Keep creators whose RedNote IP location contains one of these, e.g. <code>上海</code>, <code>广东</code>, <code>浙江</code>. Empty = anywhere.

## `accountTypes` (type: `array`):

Creator accounts only by default — brand official accounts, stores and media accounts are dropped free.

## `requireBusinessContact` (type: `boolean`):

Keep only creators who print a collaboration contact (合作 / 商务 / 📮 / vx / e-mail) in their public bio.

## `excludeUserIds` (type: `array`):

RedNote user ids or profile URLs never to deliver (your own account, competitors, creators you already work with) — dropped before the paid profile lookup.

## `targetFlags` (type: `array`):

Only deliver creators with at least one of these flags, e.g. <code>business\_contact</code>, <code>high\_engagement</code>, <code>sponsored\_experience</code>, <code>mcn\_signed</code> (<code>businessContact</code> works too); an unknown name stops the run at once with the list of valid ones.

## `searchTerms` (type: `array`):

Extra search terms searched exactly as typed, e.g. <code>露营装备</code> — added to the terms the AI builds from your niche. The live search runs a Store Actor on your Apify plan — on any plan, paste rows in <b>list</b> mode instead.

## `localiseKeywords` (type: `boolean`):

On: the AI turns each niche keyword into the Chinese phrases creators type (needs AI on). Off: your keywords are searched exactly as typed.

## `termsPerKeyword` (type: `integer`):

Affects what you pay: searches per niche keyword, your keyword included (3 = your keyword + 2 Chinese phrases). Each one reads up to <b>Notes per search term</b> notes.

## `topicUrls` (type: `array`):

RedNote topic (话题) page URLs whose hot notes are read too — default source only. The live search runs a Store Actor on your Apify plan — on any plan, paste rows in <b>list</b> mode instead.

## `profileUrls` (type: `array`):

RedNote profile URLs or user ids to vet directly — no search, straight to the profile lookup and the same scoring. The live search runs a Store Actor on your Apify plan — on any plan, paste rows in <b>list</b> mode instead.

## `notesPerKeyword` (type: `integer`):

Affects what you pay: notes read per search term (the source bills each note row, ≈ $0.005). 30 finds ≈ 15–25 authors per term.

## `sortBy` (type: `string`):

RedNote's own sort for the search.

## `noteType` (type: `string`):

Image notes, video notes or both.

## `publishedWithin` (type: `string`):

Only notes from this window count as matching notes (a source filter and a free filter).

## `minMatchingNotes` (type: `integer`):

Authors with fewer matching notes in the search are dropped free, before the paid profile lookup.

## `minNoteLikes` (type: `integer`):

Median likes of the author's matching notes — below it the author is dropped free, before the paid profile lookup.

## `maxProfilesToCheck` (type: `integer`):

Affects what you pay: cap of paid profile lookups per run (≈ $0.005 each on the default source) — the authors with the best median engagement × matching notes first.

## `recentNotesPerCreator` (type: `integer`):

Affects what you pay: 0 = off. Reads this many of each profiled creator's latest notes for posting cadence (<code>postsPerWeek</code>) and sponsored share — ≈ +$0.05 per creator at 10 notes.

## `includeOutreachDm` (type: `boolean`):

A polite first outreach DM in Simplified Chinese (≤ 300 characters) with an English gloss, from your brief and the creator's own note titles.

## `sourceActor` (type: `string`):

<b>socialdatax</b> — <code>socialdatax/socialdatax-xhs-data-api</code>, $0.00499 per row, one Actor for search and profiles, cookie-free (default). <b>zen-studio</b> — <code>zen-studio/rednote-search-scraper</code> + <code>zen-studio/rednote-user-profile-scraper</code>: batch profiles with MCN agency tags, $0.05 start + $0.0299 per profile. Both run on your Apify account.

## `llmProvider` (type: `string`):

<b>Apify (no keys)</b> — the AI runs through Apify's built-in OpenRouter proxy; tokens are billed to your Apify account at OpenRouter's rates. <b>My own key</b> — your OpenAI / Anthropic / Gemini / Groq key instead; a free-tier key assesses only a few creators per run — expect 1–3 AI checks (2 calls at a time, one after a rate limit, then the 3 borderline creators retried one by one) — and the rest keep their rule score; a paid Groq / Gemini key (billing on) assesses every creator. Measured ≈ 4–9.1 s per creator with a Groq key (openai/gpt-oss-120b: 4 s on 2026-09-30, 9.1 s on 2026-09-29) — size a 50-creator timeout at ≈ 635 s.

## `llmModel` (type: `string`):

Leave empty for the default (<code>anthropic/claude-haiku-4.5</code>, strong on Simplified Chinese). Apify mode takes an OpenRouter slug such as <code>openai/gpt-4.1-mini</code>; own-key mode takes <code>provider:model</code>, e.g. <code>anthropic:claude-haiku-4-5-20251001</code>.

## `llmApiKey` (type: `string`):

Required when <b>AI model access</b> is <i>My own API key</i>. Stored encrypted by Apify, never logged.

## `aiCandidateMultiplier` (type: `integer`):

How many of the best rule-scored creators get the AI pass, as a multiple of <b>Max qualified</b>. Higher = more thorough, slower, more tokens.

## `slackWebhookUrl` (type: `string`):

A Slack incoming-webhook URL (<code>https://hooks.slack.com/services/…</code>). After every run with at least one new creator, the digest (how many are new, the 5 to contact first, the top 10 with links) is posted to that channel as a readable message — not raw JSON. Never sent for the free demo.

## `discordWebhookUrl` (type: `string`):

A Discord channel webhook URL (<code>https://discord.com/api/webhooks/…</code>). After every run with at least one new creator, the same digest as Slack is posted to that channel. Never sent for the free demo.

## `teamsWebhookUrl` (type: `string`):

A Teams Workflows webhook URL (in the channel: ⋯ → Workflows → <i>Post to a channel when a webhook request is received</i>). The same digest as Slack, posted as a card. Never sent for the free demo.

## `googleChatWebhookUrl` (type: `string`):

A Google Chat space webhook URL (<code>https://chat.googleapis.com/v1/spaces/…</code>). The same digest as Slack, posted to that space. Never sent for the free demo.

## `webhookUrl` (type: `string`):

Qualified creators are POSTed here as JSON (Zapier, Make, n8n, your CRM) — profile URL, contact hint and DM included. Stored encrypted — Zapier / Make hook URLs carry their secret in the path.

## `webhookHeaders` (type: `object`):

Extra HTTP headers for the webhook, e.g. <code>{"Authorization": "Bearer …"}</code>. Stored encrypted by Apify, never logged.

## `webhookBatchSize` (type: `integer`):

1 = one POST per creator the moment it is ready. Higher = one POST per N creators.

## `alertMinFitScore` (type: `integer`):

Per-creator webhook alerts only for creators scoring at least this (e.g. 75 = the top picks to your CRM at once). 0 = every delivered creator. The digest always covers every creator.

## `dedupeAcrossRuns` (type: `boolean`):

Remembers every creator you received (in a named key-value store on your account) and skips it in future runs — checked before the paid profile lookup, so a repeat costs nothing at all.

## `dedupeStoreName` (type: `string`):

Key-value store used for cross-run memory. Left at the default, the memory is kept per search (source mode and niche / search terms): rewording <code>brandBrief</code> keeps it, adding a term starts a new memory. Running it for several clients on one account, type one name per client.

## `dedupeTtlDays` (type: `integer`):

How long a delivered creator stays remembered. 0 = never deliver or charge it again. A number of days lets a creator reach you again after that many days (for a new campaign) — charged again as a new creator.

## `resetState` (type: `boolean`):

On: this run forgets every creator remembered for this search and may deliver (and charge) them again — for a new campaign on the same niche. Leave off for weekly runs.

## `historyDatasetName` (type: `string`):

Optional. Type a name (e.g. <code>rednote-kol-log</code>) and every run appends its new creators with the date to that named dataset on your account — one list across campaigns to connect to Google Sheets or your BI tool once. Empty = off. Costs nothing extra.

## `sourceMode` (type: `string`):

<b>actor</b> — search RedNote live with the source Actor on your account, billed by the source. <b>dataset</b> — an existing Apify dataset of RedNote notes / profiles. <b>list</b> — rows you paste in. The mode you choose always runs as chosen; only the untouched sample records next to a niche you typed switch to the live search (spend-capped). <code>{}</code> over the API runs the free demo — nothing charged.

## `autoSwitchToLive` (type: `boolean`):

On (default): a niche typed next to the untouched sample rows starts the live search (spend-capped; <code>OUTPUT.switchedToLive</code> names it). Off: the mode you send is the mode that runs — the sample stays the free demo and the status names the terms it did not search. API pipelines that must never start a paid read on their own: send <code>false</code>.

## `datasetId` (type: `string`):

Only for <b>dataset</b> mode: a dataset from either RedNote source (search / topic / creator notes, or profiles). Pick it so the Actor is granted read access.

## `profileDatasetId` (type: `string`):

Only for <b>dataset</b> mode: a dataset of <code>get\_user\_info</code> / profile rows for the note authors.

## `lookupMissingProfiles` (type: `boolean`):

Dataset mode: authors without a profile row are looked up with the source Actor (billed by the source, capped by the source spend cap). Off: they are scored on note data with <code>followers: null</code>.

## `itemsList` (type: `array`):

Only for <b>list</b> mode. JSON array of RedNote notes (<code>note\_id</code>, <code>title</code>, <code>author\_user\_id</code>, <code>author\_name</code>, <code>like\_count</code> …) and / or profiles (<code>user\_id</code>, <code>name</code>, <code>bio</code>, <code>follower\_count</code> …, optionally with their <code>notes</code>) — either source's field names work. Any plan, no source cost: fill the README's list template from a Pugongying / Qiangua export or your own spreadsheet.

## `discoveryInput` (type: `object`):

Only for <b>actor</b> mode: fields merged into every search call of the source Actor as-is (see its input schema). The live search runs that Store Actor on your Apify plan — if your plan cannot run Store Actors, paste your own rows in <b>list</b> mode (any plan); <b>dataset</b> only for a dataset you already have from another account or tool.

## `sourceConcurrency` (type: `integer`):

How many source runs (searches, profile lookups) run in parallel on your account.

## `discoveryTimeoutSecs` (type: `integer`):

Each source run stops after this many seconds; what it returned by then is used.

## `maxToProcess` (type: `integer`):

Upper bound on how many profiled creators are scored in one run (controls run time). Default = 3 × max qualified.

## Actor input object example

```json
{
  "preset": "custom",
  "nicheKeywords": [
    "camping gear"
  ],
  "brandBrief": "Nordtrail — a Swedish outdoor brand launching a 1.2 kg ultralight tent (¥1,899) on Tmall Global; we want campers and hikers in their 20s–30s for product seeding and honest reviews.",
  "maxQualified": 50,
  "maxDiscoveryChargeUsd": 1,
  "enableAi": true,
  "minScore": 50,
  "minFollowers": 1000,
  "maxFollowers": 500000,
  "tiers": [],
  "minEngagementRate": 0,
  "locations": [],
  "accountTypes": [
    "creator"
  ],
  "requireBusinessContact": false,
  "excludeUserIds": [],
  "targetFlags": [],
  "searchTerms": [],
  "localiseKeywords": true,
  "termsPerKeyword": 3,
  "topicUrls": [],
  "profileUrls": [],
  "notesPerKeyword": 30,
  "sortBy": "general",
  "noteType": "all",
  "publishedWithin": "half_year",
  "minMatchingNotes": 1,
  "minNoteLikes": 50,
  "maxProfilesToCheck": 25,
  "recentNotesPerCreator": 0,
  "includeOutreachDm": true,
  "sourceActor": "socialdatax",
  "llmProvider": "apify",
  "aiCandidateMultiplier": 2,
  "webhookBatchSize": 1,
  "alertMinFitScore": 0,
  "dedupeAcrossRuns": true,
  "dedupeStoreName": "xiaohongshu-kol-finder-ai-seen",
  "dedupeTtlDays": 0,
  "resetState": false,
  "historyDatasetName": "",
  "sourceMode": "list",
  "autoSwitchToLive": true,
  "lookupMissingProfiles": false,
  "itemsList": [
    {
      "user_id": "5f1a0c2e0000000001017a31",
      "name": "山野露营日记",
      "red_id": "shanye_camp",
      "profile_url": "https://www.xiaohongshu.com/user/profile/5f1a0c2e0000000001017a31",
      "bio": "北京｜周末露营er 🏕️ 装备测评 · 轻量化徒步 · camping gear\n合作📮 shanye.camp@163.com",
      "verified": false,
      "follower_count": 12840,
      "following_count": 312,
      "posted_note_count": 186,
      "received_like_count": 98200,
      "received_collect_count": 41300,
      "ip_location": "北京",
      "notes": [
        {
          "note_id": "66e2a1f0000000001e01a1b1",
          "title": "新手露营装备清单｜一次买对不踩坑",
          "content": "第一次露营别乱买！帐篷、睡袋、防潮垫、营地灯，按优先级排好了，预算2000以内也能舒服过夜。",
          "topic_tags": [
            "露营装备",
            "新手露营",
            "露营"
          ],
          "publish_time": "2026-09-12T10:21:00+08:00",
          "like_count": 1840,
          "collect_count": 2210,
          "comment_count": 136,
          "share_count": 402,
          "note_type": "normal",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66d19c3a000000001d02b2c2",
          "title": "1.5kg轻量帐篷实测：暴雨夜到底漏不漏",
          "content": "在怀柔下了一整夜暴雨，这顶1.5kg双人帐完全没进水，缺点是前厅偏小。",
          "topic_tags": [
            "帐篷",
            "露营好物",
            "轻量化"
          ],
          "publish_time": "2026-08-30T19:02:00+08:00",
          "like_count": 920,
          "collect_count": 640,
          "comment_count": 88,
          "share_count": 51,
          "note_type": "video",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66ac4410000000001c03c3d3",
          "title": "露营灯横评｜5款百元内哪款最亮",
          "content": "实测亮度、续航和色温，百元内这款最值。",
          "topic_tags": [
            "露营灯",
            "露营装备"
          ],
          "publish_time": "2026-08-02T08:40:00+08:00",
          "like_count": 610,
          "collect_count": 480,
          "comment_count": 45,
          "share_count": 33,
          "note_type": "normal",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "60b2d7f1000000000102c9e4",
      "name": "阿Ken的户外",
      "red_id": "ken_outdoor",
      "mcnAgency": "山海传媒 MCN (sample)",
      "profile_url": "https://www.xiaohongshu.com/user/profile/60b2d7f1000000000102c9e4",
      "bio": "上海 | 户外摄影 · 露营 · 自驾\n商务合作 vx: ken_outdoor_biz",
      "verified": false,
      "follower_count": 86300,
      "following_count": 540,
      "posted_note_count": 402,
      "received_like_count": 612000,
      "received_collect_count": 205000,
      "ip_location": "上海",
      "notes": [
        {
          "note_id": "66ed0b77000000001f04d4e4",
          "title": "海边露营一晚，这套装备值了",
          "content": "舟山海边扎营，风很大，分享一下抗风帐篷和地钉的选择。",
          "topic_tags": [
            "露营",
            "户外装备",
            "海边露营"
          ],
          "publish_time": "2026-09-20T17:45:00+08:00",
          "like_count": 5210,
          "collect_count": 3120,
          "comment_count": 402,
          "share_count": 610,
          "note_type": "video",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66c8e901000000001e05e5f5",
          "title": "露营好物分享｜提升幸福感的10件小物",
          "content": "折叠咖啡壶、充气枕、磁吸挂灯……每一件都用了半年以上。",
          "topic_tags": [
            "露营好物",
            "露营装备"
          ],
          "publish_time": "2026-08-24T12:10:00+08:00",
          "like_count": 3890,
          "collect_count": 4410,
          "comment_count": 210,
          "share_count": 388,
          "note_type": "normal",
          "query_keyword": "露营好物"
        }
      ]
    },
    {
      "user_id": "63f5a2c8000000000603a7b8",
      "name": "小鹿爱徒步",
      "profile_url": "https://www.xiaohongshu.com/user/profile/63f5a2c8000000000603a7b8",
      "bio": "成都 徒步小白 记录每一次出发 ⛰️",
      "verified": false,
      "follower_count": 3200,
      "following_count": 410,
      "posted_note_count": 58,
      "received_like_count": 21400,
      "received_collect_count": 9800,
      "ip_location": "四川",
      "notes": [
        {
          "note_id": "66e9f3c2000000001d06f6a6",
          "title": "第一次露营带什么？我的装备清单",
          "content": "四姑娘山露营两晚，列一下我带的东西和后悔没带的东西。",
          "topic_tags": [
            "露营装备",
            "徒步",
            "四姑娘山"
          ],
          "publish_time": "2026-09-16T21:30:00+08:00",
          "like_count": 320,
          "collect_count": 410,
          "comment_count": 52,
          "share_count": 19,
          "note_type": "normal",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "5e8c1d44000000000100b6c1",
      "name": "户外生活杂志",
      "profile_url": "https://www.xiaohongshu.com/user/profile/5e8c1d44000000000100b6c1",
      "bio": "户外生活杂志官方账号 | 媒体合作请私信",
      "verified": true,
      "follower_count": 45100,
      "following_count": 12,
      "posted_note_count": 930,
      "received_like_count": 88000,
      "received_collect_count": 30100,
      "ip_location": "北京",
      "notes": [
        {
          "note_id": "66e0aa15000000001c07a7b7",
          "title": "2026秋季露营装备趋势",
          "content": "今年秋天的露营装备关键词：轻量、模块化、户外风穿搭。",
          "topic_tags": [
            "露营装备",
            "趋势"
          ],
          "publish_time": "2026-09-08T09:00:00+08:00",
          "like_count": 450,
          "collect_count": 300,
          "comment_count": 20,
          "share_count": 12,
          "note_type": "normal",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "5c3e7a90000000000702d8e9",
      "name": "露营老炮儿",
      "profile_url": "https://www.xiaohongshu.com/user/profile/5c3e7a90000000000702d8e9",
      "bio": "十年露营 · 带你玩遍全国营地",
      "verified": true,
      "follower_count": 620000,
      "following_count": 88,
      "posted_note_count": 1210,
      "received_like_count": 5400000,
      "received_collect_count": 2100000,
      "ip_location": "广东",
      "notes": [
        {
          "note_id": "66e4c0d8000000001e08b8c8",
          "title": "全国十大宝藏营地合集",
          "content": "从莫干山到喀纳斯，这十个营地我都住过。",
          "topic_tags": [
            "露营",
            "营地推荐"
          ],
          "publish_time": "2026-09-14T20:00:00+08:00",
          "like_count": 18800,
          "collect_count": 22100,
          "comment_count": 960,
          "share_count": 3100,
          "note_type": "video",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "62a9b3e5000000001f01c4d5",
      "name": "周末野营Lily",
      "red_id": "lily_picnic",
      "profile_url": "https://www.xiaohongshu.com/user/profile/62a9b3e5000000001f01c4d5",
      "bio": "杭州 | 精致露营 · 野餐布置 🌿\n广告合作请邮件 lily.picnic@qq.com",
      "verified": false,
      "follower_count": 23800,
      "following_count": 690,
      "posted_note_count": 244,
      "received_like_count": 176000,
      "received_collect_count": 98400,
      "ip_location": "浙江",
      "notes": [
        {
          "note_id": "66ea17b4000000001f09c9d9",
          "title": "【品牌合作】这顶天幕太出片了",
          "content": "和品牌一起在安吉竹林露营，天幕搭好只要十分钟。#广告",
          "topic_tags": [
            "露营",
            "天幕",
            "精致露营"
          ],
          "publish_time": "2026-09-18T15:20:00+08:00",
          "like_count": 2100,
          "collect_count": 1800,
          "comment_count": 150,
          "share_count": 240,
          "note_type": "normal",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66d5e8a2000000001d10dae0",
          "title": "秋天露营穿搭+装备，一篇搞定",
          "content": "冲锋衣、抓绒、折叠椅和保温壶，秋天露营不冷的秘诀。",
          "topic_tags": [
            "露营装备",
            "露营穿搭"
          ],
          "publish_time": "2026-09-03T11:05:00+08:00",
          "like_count": 1300,
          "collect_count": 900,
          "comment_count": 70,
          "share_count": 96,
          "note_type": "normal",
          "query_keyword": "露营好物"
        }
      ]
    }
  ],
  "discoveryInput": {},
  "sourceConcurrency": 4,
  "discoveryTimeoutSecs": 600
}
```

# Actor output Schema

## `qualified` (type: `string`):

All qualified creators as JSON, best-scoring first.

## `sheet` (type: `string`):

The same creators as a spreadsheet.

## `runSummary` (type: `string`):

JSON record with the funnel (loaded -> filtered -> AI-assessed -> qualified), per-reason skip counts, charged events by type, free-tier creators used and remaining, whether a budget limit was reached, webhook delivery counts and the dedupe store size.

# 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 = {
    "nicheKeywords": [
        "camping gear"
    ],
    "brandBrief": "Nordtrail — a Swedish outdoor brand launching a 1.2 kg ultralight tent (¥1,899) on Tmall Global; we want campers and hikers in their 20s–30s for product seeding and honest reviews.",
    "maxDiscoveryChargeUsd": 1,
    "sourceMode": "list",
    "itemsList": [
        {
            "user_id": "5f1a0c2e0000000001017a31",
            "name": "山野露营日记",
            "red_id": "shanye_camp",
            "profile_url": "https://www.xiaohongshu.com/user/profile/5f1a0c2e0000000001017a31",
            "bio": "北京｜周末露营er 🏕️ 装备测评 · 轻量化徒步 · camping gear\n合作📮 shanye.camp@163.com",
            "verified": false,
            "follower_count": 12840,
            "following_count": 312,
            "posted_note_count": 186,
            "received_like_count": 98200,
            "received_collect_count": 41300,
            "ip_location": "北京",
            "notes": [
                {
                    "note_id": "66e2a1f0000000001e01a1b1",
                    "title": "新手露营装备清单｜一次买对不踩坑",
                    "content": "第一次露营别乱买！帐篷、睡袋、防潮垫、营地灯，按优先级排好了，预算2000以内也能舒服过夜。",
                    "topic_tags": [
                        "露营装备",
                        "新手露营",
                        "露营"
                    ],
                    "publish_time": "2026-09-12T10:21:00+08:00",
                    "like_count": 1840,
                    "collect_count": 2210,
                    "comment_count": 136,
                    "share_count": 402,
                    "note_type": "normal",
                    "query_keyword": "露营装备"
                },
                {
                    "note_id": "66d19c3a000000001d02b2c2",
                    "title": "1.5kg轻量帐篷实测：暴雨夜到底漏不漏",
                    "content": "在怀柔下了一整夜暴雨，这顶1.5kg双人帐完全没进水，缺点是前厅偏小。",
                    "topic_tags": [
                        "帐篷",
                        "露营好物",
                        "轻量化"
                    ],
                    "publish_time": "2026-08-30T19:02:00+08:00",
                    "like_count": 920,
                    "collect_count": 640,
                    "comment_count": 88,
                    "share_count": 51,
                    "note_type": "video",
                    "query_keyword": "露营装备"
                },
                {
                    "note_id": "66ac4410000000001c03c3d3",
                    "title": "露营灯横评｜5款百元内哪款最亮",
                    "content": "实测亮度、续航和色温，百元内这款最值。",
                    "topic_tags": [
                        "露营灯",
                        "露营装备"
                    ],
                    "publish_time": "2026-08-02T08:40:00+08:00",
                    "like_count": 610,
                    "collect_count": 480,
                    "comment_count": 45,
                    "share_count": 33,
                    "note_type": "normal",
                    "query_keyword": "露营装备"
                }
            ]
        },
        {
            "user_id": "60b2d7f1000000000102c9e4",
            "name": "阿Ken的户外",
            "red_id": "ken_outdoor",
            "mcnAgency": "山海传媒 MCN (sample)",
            "profile_url": "https://www.xiaohongshu.com/user/profile/60b2d7f1000000000102c9e4",
            "bio": "上海 | 户外摄影 · 露营 · 自驾\n商务合作 vx: ken_outdoor_biz",
            "verified": false,
            "follower_count": 86300,
            "following_count": 540,
            "posted_note_count": 402,
            "received_like_count": 612000,
            "received_collect_count": 205000,
            "ip_location": "上海",
            "notes": [
                {
                    "note_id": "66ed0b77000000001f04d4e4",
                    "title": "海边露营一晚，这套装备值了",
                    "content": "舟山海边扎营，风很大，分享一下抗风帐篷和地钉的选择。",
                    "topic_tags": [
                        "露营",
                        "户外装备",
                        "海边露营"
                    ],
                    "publish_time": "2026-09-20T17:45:00+08:00",
                    "like_count": 5210,
                    "collect_count": 3120,
                    "comment_count": 402,
                    "share_count": 610,
                    "note_type": "video",
                    "query_keyword": "露营装备"
                },
                {
                    "note_id": "66c8e901000000001e05e5f5",
                    "title": "露营好物分享｜提升幸福感的10件小物",
                    "content": "折叠咖啡壶、充气枕、磁吸挂灯……每一件都用了半年以上。",
                    "topic_tags": [
                        "露营好物",
                        "露营装备"
                    ],
                    "publish_time": "2026-08-24T12:10:00+08:00",
                    "like_count": 3890,
                    "collect_count": 4410,
                    "comment_count": 210,
                    "share_count": 388,
                    "note_type": "normal",
                    "query_keyword": "露营好物"
                }
            ]
        },
        {
            "user_id": "63f5a2c8000000000603a7b8",
            "name": "小鹿爱徒步",
            "profile_url": "https://www.xiaohongshu.com/user/profile/63f5a2c8000000000603a7b8",
            "bio": "成都 徒步小白 记录每一次出发 ⛰️",
            "verified": false,
            "follower_count": 3200,
            "following_count": 410,
            "posted_note_count": 58,
            "received_like_count": 21400,
            "received_collect_count": 9800,
            "ip_location": "四川",
            "notes": [
                {
                    "note_id": "66e9f3c2000000001d06f6a6",
                    "title": "第一次露营带什么？我的装备清单",
                    "content": "四姑娘山露营两晚，列一下我带的东西和后悔没带的东西。",
                    "topic_tags": [
                        "露营装备",
                        "徒步",
                        "四姑娘山"
                    ],
                    "publish_time": "2026-09-16T21:30:00+08:00",
                    "like_count": 320,
                    "collect_count": 410,
                    "comment_count": 52,
                    "share_count": 19,
                    "note_type": "normal",
                    "query_keyword": "露营装备"
                }
            ]
        },
        {
            "user_id": "5e8c1d44000000000100b6c1",
            "name": "户外生活杂志",
            "profile_url": "https://www.xiaohongshu.com/user/profile/5e8c1d44000000000100b6c1",
            "bio": "户外生活杂志官方账号 | 媒体合作请私信",
            "verified": true,
            "follower_count": 45100,
            "following_count": 12,
            "posted_note_count": 930,
            "received_like_count": 88000,
            "received_collect_count": 30100,
            "ip_location": "北京",
            "notes": [
                {
                    "note_id": "66e0aa15000000001c07a7b7",
                    "title": "2026秋季露营装备趋势",
                    "content": "今年秋天的露营装备关键词：轻量、模块化、户外风穿搭。",
                    "topic_tags": [
                        "露营装备",
                        "趋势"
                    ],
                    "publish_time": "2026-09-08T09:00:00+08:00",
                    "like_count": 450,
                    "collect_count": 300,
                    "comment_count": 20,
                    "share_count": 12,
                    "note_type": "normal",
                    "query_keyword": "露营装备"
                }
            ]
        },
        {
            "user_id": "5c3e7a90000000000702d8e9",
            "name": "露营老炮儿",
            "profile_url": "https://www.xiaohongshu.com/user/profile/5c3e7a90000000000702d8e9",
            "bio": "十年露营 · 带你玩遍全国营地",
            "verified": true,
            "follower_count": 620000,
            "following_count": 88,
            "posted_note_count": 1210,
            "received_like_count": 5400000,
            "received_collect_count": 2100000,
            "ip_location": "广东",
            "notes": [
                {
                    "note_id": "66e4c0d8000000001e08b8c8",
                    "title": "全国十大宝藏营地合集",
                    "content": "从莫干山到喀纳斯，这十个营地我都住过。",
                    "topic_tags": [
                        "露营",
                        "营地推荐"
                    ],
                    "publish_time": "2026-09-14T20:00:00+08:00",
                    "like_count": 18800,
                    "collect_count": 22100,
                    "comment_count": 960,
                    "share_count": 3100,
                    "note_type": "video",
                    "query_keyword": "露营装备"
                }
            ]
        },
        {
            "user_id": "62a9b3e5000000001f01c4d5",
            "name": "周末野营Lily",
            "red_id": "lily_picnic",
            "profile_url": "https://www.xiaohongshu.com/user/profile/62a9b3e5000000001f01c4d5",
            "bio": "杭州 | 精致露营 · 野餐布置 🌿\n广告合作请邮件 lily.picnic@qq.com",
            "verified": false,
            "follower_count": 23800,
            "following_count": 690,
            "posted_note_count": 244,
            "received_like_count": 176000,
            "received_collect_count": 98400,
            "ip_location": "浙江",
            "notes": [
                {
                    "note_id": "66ea17b4000000001f09c9d9",
                    "title": "【品牌合作】这顶天幕太出片了",
                    "content": "和品牌一起在安吉竹林露营，天幕搭好只要十分钟。#广告",
                    "topic_tags": [
                        "露营",
                        "天幕",
                        "精致露营"
                    ],
                    "publish_time": "2026-09-18T15:20:00+08:00",
                    "like_count": 2100,
                    "collect_count": 1800,
                    "comment_count": 150,
                    "share_count": 240,
                    "note_type": "normal",
                    "query_keyword": "露营装备"
                },
                {
                    "note_id": "66d5e8a2000000001d10dae0",
                    "title": "秋天露营穿搭+装备，一篇搞定",
                    "content": "冲锋衣、抓绒、折叠椅和保温壶，秋天露营不冷的秘诀。",
                    "topic_tags": [
                        "露营装备",
                        "露营穿搭"
                    ],
                    "publish_time": "2026-09-03T11:05:00+08:00",
                    "like_count": 1300,
                    "collect_count": 900,
                    "comment_count": 70,
                    "share_count": 96,
                    "note_type": "normal",
                    "query_keyword": "露营好物"
                }
            ]
        }
    ],
    "discoveryInput": {}
};

// Run the Actor and wait for it to finish
const run = await client.actor("rich_minds/xiaohongshu-kol-finder-ai").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 = {
    "nicheKeywords": ["camping gear"],
    "brandBrief": "Nordtrail — a Swedish outdoor brand launching a 1.2 kg ultralight tent (¥1,899) on Tmall Global; we want campers and hikers in their 20s–30s for product seeding and honest reviews.",
    "maxDiscoveryChargeUsd": 1,
    "sourceMode": "list",
    "itemsList": [
        {
            "user_id": "5f1a0c2e0000000001017a31",
            "name": "山野露营日记",
            "red_id": "shanye_camp",
            "profile_url": "https://www.xiaohongshu.com/user/profile/5f1a0c2e0000000001017a31",
            "bio": """北京｜周末露营er 🏕️ 装备测评 · 轻量化徒步 · camping gear
合作📮 shanye.camp@163.com""",
            "verified": False,
            "follower_count": 12840,
            "following_count": 312,
            "posted_note_count": 186,
            "received_like_count": 98200,
            "received_collect_count": 41300,
            "ip_location": "北京",
            "notes": [
                {
                    "note_id": "66e2a1f0000000001e01a1b1",
                    "title": "新手露营装备清单｜一次买对不踩坑",
                    "content": "第一次露营别乱买！帐篷、睡袋、防潮垫、营地灯，按优先级排好了，预算2000以内也能舒服过夜。",
                    "topic_tags": [
                        "露营装备",
                        "新手露营",
                        "露营",
                    ],
                    "publish_time": "2026-09-12T10:21:00+08:00",
                    "like_count": 1840,
                    "collect_count": 2210,
                    "comment_count": 136,
                    "share_count": 402,
                    "note_type": "normal",
                    "query_keyword": "露营装备",
                },
                {
                    "note_id": "66d19c3a000000001d02b2c2",
                    "title": "1.5kg轻量帐篷实测：暴雨夜到底漏不漏",
                    "content": "在怀柔下了一整夜暴雨，这顶1.5kg双人帐完全没进水，缺点是前厅偏小。",
                    "topic_tags": [
                        "帐篷",
                        "露营好物",
                        "轻量化",
                    ],
                    "publish_time": "2026-08-30T19:02:00+08:00",
                    "like_count": 920,
                    "collect_count": 640,
                    "comment_count": 88,
                    "share_count": 51,
                    "note_type": "video",
                    "query_keyword": "露营装备",
                },
                {
                    "note_id": "66ac4410000000001c03c3d3",
                    "title": "露营灯横评｜5款百元内哪款最亮",
                    "content": "实测亮度、续航和色温，百元内这款最值。",
                    "topic_tags": [
                        "露营灯",
                        "露营装备",
                    ],
                    "publish_time": "2026-08-02T08:40:00+08:00",
                    "like_count": 610,
                    "collect_count": 480,
                    "comment_count": 45,
                    "share_count": 33,
                    "note_type": "normal",
                    "query_keyword": "露营装备",
                },
            ],
        },
        {
            "user_id": "60b2d7f1000000000102c9e4",
            "name": "阿Ken的户外",
            "red_id": "ken_outdoor",
            "mcnAgency": "山海传媒 MCN (sample)",
            "profile_url": "https://www.xiaohongshu.com/user/profile/60b2d7f1000000000102c9e4",
            "bio": """上海 | 户外摄影 · 露营 · 自驾
商务合作 vx: ken_outdoor_biz""",
            "verified": False,
            "follower_count": 86300,
            "following_count": 540,
            "posted_note_count": 402,
            "received_like_count": 612000,
            "received_collect_count": 205000,
            "ip_location": "上海",
            "notes": [
                {
                    "note_id": "66ed0b77000000001f04d4e4",
                    "title": "海边露营一晚，这套装备值了",
                    "content": "舟山海边扎营，风很大，分享一下抗风帐篷和地钉的选择。",
                    "topic_tags": [
                        "露营",
                        "户外装备",
                        "海边露营",
                    ],
                    "publish_time": "2026-09-20T17:45:00+08:00",
                    "like_count": 5210,
                    "collect_count": 3120,
                    "comment_count": 402,
                    "share_count": 610,
                    "note_type": "video",
                    "query_keyword": "露营装备",
                },
                {
                    "note_id": "66c8e901000000001e05e5f5",
                    "title": "露营好物分享｜提升幸福感的10件小物",
                    "content": "折叠咖啡壶、充气枕、磁吸挂灯……每一件都用了半年以上。",
                    "topic_tags": [
                        "露营好物",
                        "露营装备",
                    ],
                    "publish_time": "2026-08-24T12:10:00+08:00",
                    "like_count": 3890,
                    "collect_count": 4410,
                    "comment_count": 210,
                    "share_count": 388,
                    "note_type": "normal",
                    "query_keyword": "露营好物",
                },
            ],
        },
        {
            "user_id": "63f5a2c8000000000603a7b8",
            "name": "小鹿爱徒步",
            "profile_url": "https://www.xiaohongshu.com/user/profile/63f5a2c8000000000603a7b8",
            "bio": "成都 徒步小白 记录每一次出发 ⛰️",
            "verified": False,
            "follower_count": 3200,
            "following_count": 410,
            "posted_note_count": 58,
            "received_like_count": 21400,
            "received_collect_count": 9800,
            "ip_location": "四川",
            "notes": [{
                    "note_id": "66e9f3c2000000001d06f6a6",
                    "title": "第一次露营带什么？我的装备清单",
                    "content": "四姑娘山露营两晚，列一下我带的东西和后悔没带的东西。",
                    "topic_tags": [
                        "露营装备",
                        "徒步",
                        "四姑娘山",
                    ],
                    "publish_time": "2026-09-16T21:30:00+08:00",
                    "like_count": 320,
                    "collect_count": 410,
                    "comment_count": 52,
                    "share_count": 19,
                    "note_type": "normal",
                    "query_keyword": "露营装备",
                }],
        },
        {
            "user_id": "5e8c1d44000000000100b6c1",
            "name": "户外生活杂志",
            "profile_url": "https://www.xiaohongshu.com/user/profile/5e8c1d44000000000100b6c1",
            "bio": "户外生活杂志官方账号 | 媒体合作请私信",
            "verified": True,
            "follower_count": 45100,
            "following_count": 12,
            "posted_note_count": 930,
            "received_like_count": 88000,
            "received_collect_count": 30100,
            "ip_location": "北京",
            "notes": [{
                    "note_id": "66e0aa15000000001c07a7b7",
                    "title": "2026秋季露营装备趋势",
                    "content": "今年秋天的露营装备关键词：轻量、模块化、户外风穿搭。",
                    "topic_tags": [
                        "露营装备",
                        "趋势",
                    ],
                    "publish_time": "2026-09-08T09:00:00+08:00",
                    "like_count": 450,
                    "collect_count": 300,
                    "comment_count": 20,
                    "share_count": 12,
                    "note_type": "normal",
                    "query_keyword": "露营装备",
                }],
        },
        {
            "user_id": "5c3e7a90000000000702d8e9",
            "name": "露营老炮儿",
            "profile_url": "https://www.xiaohongshu.com/user/profile/5c3e7a90000000000702d8e9",
            "bio": "十年露营 · 带你玩遍全国营地",
            "verified": True,
            "follower_count": 620000,
            "following_count": 88,
            "posted_note_count": 1210,
            "received_like_count": 5400000,
            "received_collect_count": 2100000,
            "ip_location": "广东",
            "notes": [{
                    "note_id": "66e4c0d8000000001e08b8c8",
                    "title": "全国十大宝藏营地合集",
                    "content": "从莫干山到喀纳斯，这十个营地我都住过。",
                    "topic_tags": [
                        "露营",
                        "营地推荐",
                    ],
                    "publish_time": "2026-09-14T20:00:00+08:00",
                    "like_count": 18800,
                    "collect_count": 22100,
                    "comment_count": 960,
                    "share_count": 3100,
                    "note_type": "video",
                    "query_keyword": "露营装备",
                }],
        },
        {
            "user_id": "62a9b3e5000000001f01c4d5",
            "name": "周末野营Lily",
            "red_id": "lily_picnic",
            "profile_url": "https://www.xiaohongshu.com/user/profile/62a9b3e5000000001f01c4d5",
            "bio": """杭州 | 精致露营 · 野餐布置 🌿
广告合作请邮件 lily.picnic@qq.com""",
            "verified": False,
            "follower_count": 23800,
            "following_count": 690,
            "posted_note_count": 244,
            "received_like_count": 176000,
            "received_collect_count": 98400,
            "ip_location": "浙江",
            "notes": [
                {
                    "note_id": "66ea17b4000000001f09c9d9",
                    "title": "【品牌合作】这顶天幕太出片了",
                    "content": "和品牌一起在安吉竹林露营，天幕搭好只要十分钟。#广告",
                    "topic_tags": [
                        "露营",
                        "天幕",
                        "精致露营",
                    ],
                    "publish_time": "2026-09-18T15:20:00+08:00",
                    "like_count": 2100,
                    "collect_count": 1800,
                    "comment_count": 150,
                    "share_count": 240,
                    "note_type": "normal",
                    "query_keyword": "露营装备",
                },
                {
                    "note_id": "66d5e8a2000000001d10dae0",
                    "title": "秋天露营穿搭+装备，一篇搞定",
                    "content": "冲锋衣、抓绒、折叠椅和保温壶，秋天露营不冷的秘诀。",
                    "topic_tags": [
                        "露营装备",
                        "露营穿搭",
                    ],
                    "publish_time": "2026-09-03T11:05:00+08:00",
                    "like_count": 1300,
                    "collect_count": 900,
                    "comment_count": 70,
                    "share_count": 96,
                    "note_type": "normal",
                    "query_keyword": "露营好物",
                },
            ],
        },
    ],
    "discoveryInput": {},
}

# Run the Actor and wait for it to finish
run = client.actor("rich_minds/xiaohongshu-kol-finder-ai").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 '{
  "nicheKeywords": [
    "camping gear"
  ],
  "brandBrief": "Nordtrail — a Swedish outdoor brand launching a 1.2 kg ultralight tent (¥1,899) on Tmall Global; we want campers and hikers in their 20s–30s for product seeding and honest reviews.",
  "maxDiscoveryChargeUsd": 1,
  "sourceMode": "list",
  "itemsList": [
    {
      "user_id": "5f1a0c2e0000000001017a31",
      "name": "山野露营日记",
      "red_id": "shanye_camp",
      "profile_url": "https://www.xiaohongshu.com/user/profile/5f1a0c2e0000000001017a31",
      "bio": "北京｜周末露营er 🏕️ 装备测评 · 轻量化徒步 · camping gear\\n合作📮 shanye.camp@163.com",
      "verified": false,
      "follower_count": 12840,
      "following_count": 312,
      "posted_note_count": 186,
      "received_like_count": 98200,
      "received_collect_count": 41300,
      "ip_location": "北京",
      "notes": [
        {
          "note_id": "66e2a1f0000000001e01a1b1",
          "title": "新手露营装备清单｜一次买对不踩坑",
          "content": "第一次露营别乱买！帐篷、睡袋、防潮垫、营地灯，按优先级排好了，预算2000以内也能舒服过夜。",
          "topic_tags": [
            "露营装备",
            "新手露营",
            "露营"
          ],
          "publish_time": "2026-09-12T10:21:00+08:00",
          "like_count": 1840,
          "collect_count": 2210,
          "comment_count": 136,
          "share_count": 402,
          "note_type": "normal",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66d19c3a000000001d02b2c2",
          "title": "1.5kg轻量帐篷实测：暴雨夜到底漏不漏",
          "content": "在怀柔下了一整夜暴雨，这顶1.5kg双人帐完全没进水，缺点是前厅偏小。",
          "topic_tags": [
            "帐篷",
            "露营好物",
            "轻量化"
          ],
          "publish_time": "2026-08-30T19:02:00+08:00",
          "like_count": 920,
          "collect_count": 640,
          "comment_count": 88,
          "share_count": 51,
          "note_type": "video",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66ac4410000000001c03c3d3",
          "title": "露营灯横评｜5款百元内哪款最亮",
          "content": "实测亮度、续航和色温，百元内这款最值。",
          "topic_tags": [
            "露营灯",
            "露营装备"
          ],
          "publish_time": "2026-08-02T08:40:00+08:00",
          "like_count": 610,
          "collect_count": 480,
          "comment_count": 45,
          "share_count": 33,
          "note_type": "normal",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "60b2d7f1000000000102c9e4",
      "name": "阿Ken的户外",
      "red_id": "ken_outdoor",
      "mcnAgency": "山海传媒 MCN (sample)",
      "profile_url": "https://www.xiaohongshu.com/user/profile/60b2d7f1000000000102c9e4",
      "bio": "上海 | 户外摄影 · 露营 · 自驾\\n商务合作 vx: ken_outdoor_biz",
      "verified": false,
      "follower_count": 86300,
      "following_count": 540,
      "posted_note_count": 402,
      "received_like_count": 612000,
      "received_collect_count": 205000,
      "ip_location": "上海",
      "notes": [
        {
          "note_id": "66ed0b77000000001f04d4e4",
          "title": "海边露营一晚，这套装备值了",
          "content": "舟山海边扎营，风很大，分享一下抗风帐篷和地钉的选择。",
          "topic_tags": [
            "露营",
            "户外装备",
            "海边露营"
          ],
          "publish_time": "2026-09-20T17:45:00+08:00",
          "like_count": 5210,
          "collect_count": 3120,
          "comment_count": 402,
          "share_count": 610,
          "note_type": "video",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66c8e901000000001e05e5f5",
          "title": "露营好物分享｜提升幸福感的10件小物",
          "content": "折叠咖啡壶、充气枕、磁吸挂灯……每一件都用了半年以上。",
          "topic_tags": [
            "露营好物",
            "露营装备"
          ],
          "publish_time": "2026-08-24T12:10:00+08:00",
          "like_count": 3890,
          "collect_count": 4410,
          "comment_count": 210,
          "share_count": 388,
          "note_type": "normal",
          "query_keyword": "露营好物"
        }
      ]
    },
    {
      "user_id": "63f5a2c8000000000603a7b8",
      "name": "小鹿爱徒步",
      "profile_url": "https://www.xiaohongshu.com/user/profile/63f5a2c8000000000603a7b8",
      "bio": "成都 徒步小白 记录每一次出发 ⛰️",
      "verified": false,
      "follower_count": 3200,
      "following_count": 410,
      "posted_note_count": 58,
      "received_like_count": 21400,
      "received_collect_count": 9800,
      "ip_location": "四川",
      "notes": [
        {
          "note_id": "66e9f3c2000000001d06f6a6",
          "title": "第一次露营带什么？我的装备清单",
          "content": "四姑娘山露营两晚，列一下我带的东西和后悔没带的东西。",
          "topic_tags": [
            "露营装备",
            "徒步",
            "四姑娘山"
          ],
          "publish_time": "2026-09-16T21:30:00+08:00",
          "like_count": 320,
          "collect_count": 410,
          "comment_count": 52,
          "share_count": 19,
          "note_type": "normal",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "5e8c1d44000000000100b6c1",
      "name": "户外生活杂志",
      "profile_url": "https://www.xiaohongshu.com/user/profile/5e8c1d44000000000100b6c1",
      "bio": "户外生活杂志官方账号 | 媒体合作请私信",
      "verified": true,
      "follower_count": 45100,
      "following_count": 12,
      "posted_note_count": 930,
      "received_like_count": 88000,
      "received_collect_count": 30100,
      "ip_location": "北京",
      "notes": [
        {
          "note_id": "66e0aa15000000001c07a7b7",
          "title": "2026秋季露营装备趋势",
          "content": "今年秋天的露营装备关键词：轻量、模块化、户外风穿搭。",
          "topic_tags": [
            "露营装备",
            "趋势"
          ],
          "publish_time": "2026-09-08T09:00:00+08:00",
          "like_count": 450,
          "collect_count": 300,
          "comment_count": 20,
          "share_count": 12,
          "note_type": "normal",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "5c3e7a90000000000702d8e9",
      "name": "露营老炮儿",
      "profile_url": "https://www.xiaohongshu.com/user/profile/5c3e7a90000000000702d8e9",
      "bio": "十年露营 · 带你玩遍全国营地",
      "verified": true,
      "follower_count": 620000,
      "following_count": 88,
      "posted_note_count": 1210,
      "received_like_count": 5400000,
      "received_collect_count": 2100000,
      "ip_location": "广东",
      "notes": [
        {
          "note_id": "66e4c0d8000000001e08b8c8",
          "title": "全国十大宝藏营地合集",
          "content": "从莫干山到喀纳斯，这十个营地我都住过。",
          "topic_tags": [
            "露营",
            "营地推荐"
          ],
          "publish_time": "2026-09-14T20:00:00+08:00",
          "like_count": 18800,
          "collect_count": 22100,
          "comment_count": 960,
          "share_count": 3100,
          "note_type": "video",
          "query_keyword": "露营装备"
        }
      ]
    },
    {
      "user_id": "62a9b3e5000000001f01c4d5",
      "name": "周末野营Lily",
      "red_id": "lily_picnic",
      "profile_url": "https://www.xiaohongshu.com/user/profile/62a9b3e5000000001f01c4d5",
      "bio": "杭州 | 精致露营 · 野餐布置 🌿\\n广告合作请邮件 lily.picnic@qq.com",
      "verified": false,
      "follower_count": 23800,
      "following_count": 690,
      "posted_note_count": 244,
      "received_like_count": 176000,
      "received_collect_count": 98400,
      "ip_location": "浙江",
      "notes": [
        {
          "note_id": "66ea17b4000000001f09c9d9",
          "title": "【品牌合作】这顶天幕太出片了",
          "content": "和品牌一起在安吉竹林露营，天幕搭好只要十分钟。#广告",
          "topic_tags": [
            "露营",
            "天幕",
            "精致露营"
          ],
          "publish_time": "2026-09-18T15:20:00+08:00",
          "like_count": 2100,
          "collect_count": 1800,
          "comment_count": 150,
          "share_count": 240,
          "note_type": "normal",
          "query_keyword": "露营装备"
        },
        {
          "note_id": "66d5e8a2000000001d10dae0",
          "title": "秋天露营穿搭+装备，一篇搞定",
          "content": "冲锋衣、抓绒、折叠椅和保温壶，秋天露营不冷的秘诀。",
          "topic_tags": [
            "露营装备",
            "露营穿搭"
          ],
          "publish_time": "2026-09-03T11:05:00+08:00",
          "like_count": 1300,
          "collect_count": 900,
          "comment_count": 70,
          "share_count": 96,
          "note_type": "normal",
          "query_keyword": "露营好物"
        }
      ]
    }
  ],
  "discoveryInput": {}
}' |
apify call rich_minds/xiaohongshu-kol-finder-ai --silent --output-dataset

```

## MCP server setup

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

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/DQsZGnBWn59kGYOny/builds/KaqK8rmrAFa8Xi8oW/openapi.json
