Xiaohongshu (RedNote) Scraper — Notes, Users & Search avatar

Xiaohongshu (RedNote) Scraper — Notes, Users & Search

Pricing

from $3.40 / 1,000 results

Go to Apify Store
Xiaohongshu (RedNote) Scraper — Notes, Users & Search

Xiaohongshu (RedNote) Scraper — Notes, Users & Search

Scrape Xiaohongshu and RedNote notes, creators and keyword discovery results. Export titles, images, videos, likes, saves, comments, creator IDs, avatars and public profile links for KOL discovery, social listening, competitor tracking, content research and China market intelligence.

Pricing

from $3.40 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

2

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

Extract public Xiaohongshu (xiaohongshu.com) / RedNote (小红书, XHS, Little Red Book) data into clean, structured datasets — no login, no coding. This Xiaohongshu scraper turns any keyword, hashtag, brand, or public note/profile link into structured rows of note titles, descriptions, high-res cover & gallery images, video stream URLs, likes, saves, comments, shares, hashtags, creator IDs, follower counts, and profile links. Use it to scrape Xiaohongshu notes and creators for KOL discovery, social listening, DTC brand tracking, and China market research.

Export every result to JSON, CSV, Excel, or API with 1,000+ results pagination unlocked.

Apify Actor


⚡ At a glance

FeatureDetails
Target PlatformXiaohongshu / RedNote (xiaohongshu.com) (小红书 / Little Red Book)
4 Collection Modes1. searchNotes (Content & Trends) · 2. searchUsers (Creator/KOL Leads) · 3. noteDetails (Public Note URLs) · 4. userProfiles (Public Profile URLs + Notes)
Core Note FieldsnoteId, title, description, noteType, noteUrl, coverUrl, imageUrls, videoUrl, likedCount, collectedCount, commentsCount, sharedCount, hashtags, postedAt, ipLocation
Creator / KOL FieldsuserId, userName, redId, bio, avatarUrl, profileUrl, verified, verificationType, followersCount, followingCount, likesAndCollectsCount, notesCount
Query LanguagesSimplified/Traditional Chinese (护肤, 穿搭, 旅行), English (skincare, fashion), Brand Names, and Hashtags
Pagination & ScaleMulti-round discovery & signed pagination (1,000+ results pagination unlocked, 0 = unlimited)
DeduplicationGlobal deduplication by recordType:noteId / recordType:userId across all keywords, channels, and URLs
Export FormatsJSON, CSV, Excel (XLSX), XML, HTML, and Apify REST API

📋 Table of contents


🔎 Why scrape Xiaohongshu (RedNote)?

Xiaohongshu — known globally as RedNote and in China as 小红书 (Little Red Book / XHS) — is the premier lifestyle, beauty, fashion, travel, and social-commerce discovery engine for over 300 million monthly active users. It is where consumer product reviews (种草 / "planting grass" recommendations), luxury and DTC brand perception, skincare routines, and travel itineraries are researched before buying on Tmall, JD, Douyin, or global e-commerce stores.

For global brands, influencer agencies, consumer analysts, and AI teams, Xiaohongshu data is an indispensable real-time pulse of Chinese and global Gen-Z/Millennial consumer demand. Yet collecting RedNote posts and creator profiles manually is slow and fragmented: numbers are abbreviated with Chinese units (1.2万, 3千), URLs carry dynamic security tokens (xsec_token), and infinite-scroll feeds mix overlapping cards.

This Xiaohongshu (RedNote) scraper automates the entire pipeline — normalizing engagement counts to clean integers, deduplicating notes and creators across multiple keywords, and delivering structured rows ready for Excel, BI dashboards, or NLP pipelines.

Common reasons teams scrape Xiaohongshu:

  • 🔥 KOL & Influencer Discovery (searchUsers / userProfiles) — identify rising beauty, fashion, food, travel, and lifestyle creators with normalized follower counts, verification status, RedNote IDs (redId), and engagement metrics.
  • 🛍️ Brand & Share-of-Voice Monitoring (searchNotes) — track how international and domestic brands are reviewed, recommended, or compared by real RedNote users.
  • 📊 Content & Viral Format Benchmarking — analyze which note titles, cover visuals, video streams, and hashtag combinations generate the highest likedCount and collectedCount.
  • 🌏 Cross-Border E-Commerce & Product Research — discover trending product ingredients, aesthetics, and consumer pain points before launching a campaign.
  • 🧠 AI, LLM & Multimodal Datasets — build clean corpora of public Chinese/English social posts paired with image/video CDN URLs and engagement signals.

✨ What this Xiaohongshu scraper does

  • ✅ 4 All-in-One Collection Modes
    1. searchNotes (Search notes — content & trends): Collects public notes matching your keywords/topics.
    2. searchUsers (Search users — creator leads): Extracts unique creator profiles from keyword searches and discovery feeds.
    3. noteDetails (Note details — public links): Enriches specific public RedNote /explore/... or /discovery/item/... URLs.
    4. userProfiles (User profiles & notes — public links): Extracts creator profile metrics plus their publicly visible recent notes (includeUserNotes: true).
  • ✅ Chinese & English Keyword Support — accepts any combination of Chinese (护肤, 美妆, 穿搭, 美食, 旅行), English (skincare, fashion, travel), or brand keywords.
  • ✅ Normalized Numeric Engagement — automatically converts Chinese and English shorthand (6.6万, 4.2k, 1.5w) into clean integer values (66000, 4200, 15000) across likedCount, collectedCount, commentsCount, sharedCount, and followersCount.
  • ✅ Unlocked 1,000+ Multi-Channel Pagination — removes artificial 5,000-item and 30-round caps, automatically expanding across RedNote discovery channels when a single keyword's primary feed is exhausted on 1,000+ runs.
  • ✅ Media URL Extraction Without Heavy Downloads — captures coverUrl, imageUrls (gallery), and videoUrl (H.264/H.265 master streams) over HTTPS without downloading heavy media binaries.
  • ✅ Global Deduplication — deduplicates every record by recordType + unique noteId or userId, ensuring 0% duplicate rows across multi-keyword runs.

🎯 High-value use cases

1. Influencer Marketing & KOL Seeding Agencies

Run searchNotes or searchUsers across niche keywords (敏感肌护肤, 早C晚A, OOTD, 上海探店) to build a deduplicated roster of active creators (authorId, authorName, authorProfileUrl), then feed top-performing authorProfileUrl links into userProfiles mode to enrich followersCount, likesAndCollectsCount, redId, and bio.

2. Global Beauty, Luxury & Consumer Goods Brand Teams

Schedule weekly runs for your brand name and competitor brands to measure post volume, top-liked community reviews, regional IP distribution (ipLocation), and co-occurring hashtags.

3. Trend Forecasting & Social Commerce Analysts

Compare likedCount across categories (cosmetics, fashion, food, travel, fitness) to spot breakout lifestyle trends and visual aesthetics early.


📥 Input configuration

No field is required. Running with the default prefill (operation: "searchNotes", keywords: ["skincare"], maxItems: 50) completes in seconds on standard Apify proxies.

FieldTypeDefault / PrefillDescription
operationstring"searchNotes"Mode selector: "searchNotes", "searchUsers", "noteDetails", or "userProfiles".
keywordsarrayDefault: ["skincare", "travel", "fashion", "food"] (Prefill: ["skincare"])Keywords, brands, niches, or hashtags to search. Chinese keywords provide the deepest native coverage; English is also supported.
urlsarray[]Public Xiaohongshu note (/explore/..., /discovery/item/...) or profile (/user/profile/...) URLs. Used in noteDetails and userProfiles modes.
maxItemsintegerDefault: 500 (Prefill: 50)Maximum unique records to collect across all keywords or links (0 = no limit; supports 1,000+ results).
includeDescriptionbooleantrueInclude public note body text (description) when available.
includeMediabooleantrueInclude coverUrl, imageUrls, and videoUrl links without downloading binary files.
includeUserNotesbooleantrueIn userProfiles mode, also output the creator's publicly visible notes as user-note rows.
proxyConfigurationobject{ "useApifyProxy": true }Apify Proxy settings. Default Apify proxy works out of the box for discovery runs; residential proxy can be selected for heavy browser-fallback sessions.

Example 1 — Fast 50-note trend discovery (Prefill)

{
"operation": "searchNotes",
"keywords": ["skincare"],
"maxItems": 50,
"includeDescription": true,
"includeMedia": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Example 2 — 1,000+ multi-keyword China beauty & lifestyle dataset

{
"operation": "searchNotes",
"keywords": ["护肤", "美妆", "穿搭", "美食", "旅行"],
"maxItems": 1200,
"includeDescription": true,
"includeMedia": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Example 3 — KOL / Creator lead generation (searchUsers)

{
"operation": "searchUsers",
"keywords": ["护肤博主", "穿搭博主", "skincare"],
"maxItems": 500,
"proxyConfiguration": { "useApifyProxy": true }
}

📤 Output samples & field reference

Every dataset item includes a recordType field (note-search, user-search, note-detail, user-profile, or user-note).

Sample 1 — Note Record (note-search / note-detail)

{
"recordType": "note-search",
"noteId": "642418be0000000027029297",
"title": "放弃网妆感❌ 3招教你妆变脸,速成原生感美女",
"description": "Morning and evening routine for natural glass skin...",
"noteType": "normal",
"noteUrl": "https://www.xiaohongshu.com/explore/642418be0000000027029297?xsec_token=AB12CD34&xsec_source=pc_search",
"coverUrl": "https://sns-webpic-qc.xhscdn.com/20261102/1000g00828rp1pvofo00g49ogvlvr5bmel7mahvo!nc_n_nwebp_prv_1",
"imageUrls": [
"https://sns-webpic-qc.xhscdn.com/20261102/1000g00828rp1pvofo00g49ogvlvr5bmel7mahvo!nc_n_nwebp_prv_1"
],
"likedCount": 66000,
"collectedCount": 14200,
"commentsCount": 890,
"sharedCount": 310,
"authorId": "599bffb25e87e739ff08aece",
"authorName": "全国知名小雪糕",
"authorRedId": "257152115",
"authorAvatarUrl": "https://sns-avatar-qc.xhscdn.com/avatar/5fad5f8ffc3db500016ead27.jpg",
"authorVerified": true,
"authorProfileUrl": "https://www.xiaohongshu.com/user/profile/599bffb25e87e739ff08aece",
"hashtags": ["护肤", "新手化妆"],
"postedAt": "2026-10-18T08:15:00.000Z",
"ipLocation": "Shanghai",
"xsecToken": "AB12CD34",
"source": "discovery:护肤",
"scrapedAt": "2026-11-10T02:30:00.000Z"
}

Sample 2 — Creator / KOL Record (user-search / user-profile)

{
"recordType": "user-search",
"userId": "5ee58a2e000000000100057e",
"userName": "Beauty Journal",
"redId": "257152115",
"bio": "Skincare formulator & ingredient reviews",
"avatarUrl": "https://sns-avatar-qc.xhscdn.com/avatar/5ee58a2e000000000100057e.jpg",
"profileUrl": "https://www.xiaohongshu.com/user/profile/5ee58a2e000000000100057e",
"verified": true,
"verificationType": 1,
"followersCount": 128400,
"followingCount": 315,
"likesAndCollectsCount": 982000,
"notesCount": 246,
"ipLocation": "Shanghai",
"source": "search:skincare",
"scrapedAt": "2026-11-10T02:30:00.000Z"
}

🗂️ Field reference & coverage tables

📝 Note Fields (note-search, note-detail, user-note)
FieldTypeCoverageDescription
recordTypestring🟢 High (100%)Row discriminator: "note-search", "note-detail", or "user-note".
noteIdstring🟢 High (100%)Unique 24-character hex RedNote note ID.
titlestring🟢 High (100%)Public note headline / display title.
noteUrlstring🟢 High (100%)Canonical note URL on xiaohongshu.com/explore/... (with xsec_token when present).
coverUrlstring🟢 High (100%)HTTPS URL of the note's primary cover image.
likedCountnumber🟢 High (100%)Total likes normalized to an integer (e.g., 6.6万 → 66000).
authorId / authorNamestring🟢 High (100%)Creator's 24-character user ID and display nickname.
authorAvatarUrl / authorProfileUrlstring🟢 High (100%)Creator's avatar URL (HTTPS) and canonical /user/profile/... URL.
descriptionstring🟡 ConditionalFull note body text (populated when includeDescription: true and exposed by the detail/signed surface).
noteTypestring🟡 ConditionalContent format ("normal" for image carousels, "video" for video notes).
imageUrls / videoUrlarray / string🟡 ConditionalArray of gallery image URLs and master video stream URL (when includeMedia: true on enriched surfaces).
collectedCount / commentsCount / sharedCountnumber🟡 ConditionalSaves, comments, and shares normalized to integers (populated on signed search & detail surfaces).
authorRedId / authorVerifiedstring / boolean🟡 ConditionalCreator's public red_id handle and official verification badge flag.
hashtags / postedAt / ipLocationarray / string🟡 ConditionalAttached topic tags, ISO 8601 publish date, and regional IP location badge.
xsecToken / source / scrapedAtstring🟢 High (100%)Security token, origin query (discovery:... or search:...), and ISO timestamp.
👤 Creator / KOL Fields (user-search, user-profile)
FieldTypeCoverageDescription
recordTypestring🟢 High (100%)"user-search" or "user-profile".
userId / userNamestring🟢 High (100%)Unique creator ID and display name.
avatarUrl / profileUrlstring🟢 High (100%)Creator avatar image URL and canonical profile link.
redId / biostring🟡 ConditionalPublic RedNote ID (red_id) and profile biography text (populated on signed/profile surfaces).
verified / verificationTypeboolean / number🟡 ConditionalOfficial KOL/brand verification status and category code.
followersCount / followingCountnumber🟡 ConditionalFollower and following counts normalized to integers.
likesAndCollectsCount / notesCountnumber🟡 ConditionalTotal cumulative likes + saves received and total published notes count.
ipLocation / source / scrapedAtstring🟢 High (100%)Creator IP region (when shown), source query/URL, and ISO extraction timestamp.

🔁 Pagination & 1,000+ scale

The Xiaohongshu (RedNote) Scraper uses a multi-layered pagination architecture with all hard clamps removed so you can scale to 1,000+ unique records:

  1. Parallel Lightweight Discovery Rounds (Primary Fast Path) — fans out 3 concurrent HTTP discovery requests per batch (~60–80 cards per round) for your keyword's matched channel (cosmetics, fashion, food, travel, fitness, recommend). For large runs (maxItems > 200), if a single keyword's primary channel stops yielding new cards before maxItems is reached, the scraper automatically rotates across all 10 RedNote discovery channels so even a 1-keyword run can reach 1,000+ unique records in under a minute.
  2. Signed Browser Search & Homefeed Fallbacks — if additional records are needed, the actor launches an isolated Chromium context with image/font/tracker blocking and paginates signed search pages (20 items/page, dynamic maxSearchPages) and category homefeeds (40 items/round).
  3. Strict Global Deduplication — every note and user is keyed by recordType + ID in a global Set, guaranteeing 0% duplicate rows across all rounds, channels, and keywords.

⚙️ How to use (Console & API)

In Apify Console

  1. Open Xiaohongshu (RedNote) Scraper in Apify Console.
  2. Select 1. What do you want to collect? (Search notes, Search users, Note details, or User profiles & notes).
  3. Enter one or more terms in 2. Search keywords (or paste links into Public note or profile links).
  4. Set 3. Maximum results (50 for a quick test, 500–1000+ for deep discovery, or 0 for unlimited).
  5. Click Start and export your dataset as JSON, CSV, Excel, XML, or HTML.

Via Apify API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"operation": "searchNotes",
"keywords": ["护肤", "skincare", "美妆"],
"maxItems": 1000,
"includeDescription": true,
"includeMedia": true,
}
run = client.actor("haketa/xiaohongshu-rednote-scraper").call(run_input=run_input)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"[{row['recordType']}] {row.get('title') or row.get('userName')} — ❤️ {row.get('likedCount')}")

💡 Pro tips for RedNote KOL & market research

  • Combine Chinese & English Keywords — pass both native Chinese terms (e.g., 防晒, 精华, 露营) and English brand names in keywords for maximum breadth.
  • Two-Step KOL Enrichment Workflow — first run searchNotes or searchUsers with maxItems: 500 to discover active creators (authorProfileUrl / profileUrl) at ultra-low cost; then filter your top candidates and pass their profileUrl links into userProfiles mode to extract full biographies and note histories.
  • Archive Media URLs Promptly — RedNote CDN links (xhscdn.com) include time-sensitive signatures. If you need cover images for vision models or pitch decks, download or process them shortly after the run completes.

⚠️ Honest limitations

  • Publicly Accessible Surface Scope — RedNote restricts certain deep search filters and full comment threads to logged-in mobile app accounts. Because this actor runs 100% cookieless and login-free to protect user safety, discovery-feed runs populate the 12 core note/author fields at 100% coverage, while extended fields (collectedCount, commentsCount, hashtags, followersCount) are populated conditionally when exposed by the public/signed surface.
  • CDN Link Expiration — coverUrl, imageUrls, and videoUrl point directly to RedNote's CDN and may expire after several days.

❓ FAQ

Do I need a Xiaohongshu / RedNote account or cookies?

No. The scraper operates entirely on publicly accessible RedNote endpoints and pages without requiring any login, phone number, or session cookies.

How many notes or creators can I extract per run?

You can collect 1,000+ unique notes or creators in a single run. Set maxItems: 1000 (or 0 for unlimited) and provide one or multiple keywords.

How fast is a typical run?

On the lightweight HTTP discovery path, collecting 50–300 unique notes takes ~5–20 seconds, and 1,000+ notes takes ~45–90 seconds using standard Apify datacenter proxies.

Why are likedCount and followersCount always clean numbers instead of "1.2万"?

The scraper includes a built-in numeric parser that converts Chinese (万 = 10,000, 千 = 1,000) and English (w, k, m) abbreviations into exact integers so you can sort and aggregate immediately in Excel or SQL.

What export formats and integrations are supported?

Download your data in JSON, CSV, Excel (XLSX), XML, or HTML, or connect via the Apify REST API, Python/JS SDKs, Make, Zapier, n8n, Google Sheets, and webhooks.

Can I enrich specific public note or profile URLs directly?

Yes. Choose "operation": "noteDetails" or "operation": "userProfiles" and paste your public Xiaohongshu /explore/..., /discovery/item/..., or /user/profile/... links into the urls input array. In userProfiles mode, keeping includeUserNotes: true also extracts the creator's publicly visible notes as separate user-note rows.

Via Apify API (JavaScript / Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('haketa/xiaohongshu-rednote-scraper').call({
operation: 'searchNotes',
keywords: ['护肤', '穿搭'],
maxItems: 500,
includeDescription: true,
includeMedia: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Extracted ${items.length} unique RedNote records.`);

🔌 Integrations & China social-listening workflows

IntegrationSocial Intelligence Workflow
Google Sheets & AirtableBuild collaborative KOL seeding trackers with creator names, profile URLs, avatar previews, and note engagement metrics.
Make / Zapier / n8nAutomate weekly brand-mention digests and push high-engagement RedNote posts (likedCount > 10000) to Slack, Notion, or Lark/Feishu.
BigQuery / SnowflakeSchedule recurring multi-keyword runs (maxItems: 1000+) to track share-of-voice, trending hashtags, and regional IP distribution across China.
AI / LLM PipelinesStream structured note titles, descriptions, and image URLs into sentiment classification, translation, and trend-summarization agents.

Build a complete Asian & global social intelligence stack with our other scrapers:


📋 Changelog

v1.2 (2026-11) — Unlocked 1,000+ Pagination & Multi-Channel Discovery Expansion

  • Removed maxItems & Page Clamps: Removed the Math.min(5000, ...) input clamp, the round <= 30 HTTP discovery cap, and the Math.min(50, ...) search page clamp in src/main.js, allowing maxItems: 1000+ (and 0 = unlimited) to scale freely.
  • Multi-Channel 1,000+ Expansion: Added automatic fallback rotation across all 10 RedNote explore channels (cosmetics, fashion, food, travel, fitness, career, household_product, gaming, books, recommend) when maxItems > 200, ensuring even single-keyword runs easily exceed 1,000+ unique records.
  • Memory Right-Sizing: Upgraded default actor memory from 512 MB to 1024 MB for smoother execution when browser fallback paths are triggered.
  • Documentation Upgrade: Expanded README with ⚡ At a glance summary, emoji-grouped field coverage tables, 2-step KOL workflow tips, and changelog.

v1.1 (2026-10) — Lightweight HTTP Discovery & Chinese Number Normalization

  • Added parallel server-rendered HTTP discovery engine with Cheerio parsing for sub-20s execution on datacenter proxies.
  • Standardized 万/千/w/k/m engagement string conversion to integers.

v1.0 (2026-08) — Initial Release

  • Initial release supporting searchNotes, searchUsers, noteDetails, and userProfiles modes.
⌂ 换网址