Xiaohongshu (RedNote) Scraper — Notes, Users & Search
Pricing
from $3.40 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Features
Share
📕 Xiaohongshu (RedNote) Scraper — Notes, Creators, Engagement & Search
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.
⚡ At a glance
| Feature | Details |
|---|---|
| Target Platform | Xiaohongshu / RedNote (xiaohongshu.com) (小红书 / Little Red Book) |
| 4 Collection Modes | 1. searchNotes (Content & Trends) · 2. searchUsers (Creator/KOL Leads) · 3. noteDetails (Public Note URLs) · 4. userProfiles (Public Profile URLs + Notes) |
| Core Note Fields | noteId, title, description, noteType, noteUrl, coverUrl, imageUrls, videoUrl, likedCount, collectedCount, commentsCount, sharedCount, hashtags, postedAt, ipLocation |
| Creator / KOL Fields | userId, userName, redId, bio, avatarUrl, profileUrl, verified, verificationType, followersCount, followingCount, likesAndCollectsCount, notesCount |
| Query Languages | Simplified/Traditional Chinese (护肤, 穿搭, 旅行), English (skincare, fashion), Brand Names, and Hashtags |
| Pagination & Scale | Multi-round discovery & signed pagination (1,000+ results pagination unlocked, 0 = unlimited) |
| Deduplication | Global deduplication by recordType:noteId / recordType:userId across all keywords, channels, and URLs |
| Export Formats | JSON, CSV, Excel (XLSX), XML, HTML, and Apify REST API |
📋 Table of contents
- Why scrape Xiaohongshu (RedNote)?
- What this Xiaohongshu scraper does
- High-value use cases
- Input configuration
- Output samples & field reference
- Pagination & 1,000+ scale
- How to use (Console & API)
- Pro tips for RedNote KOL & market research
- Honest limitations
- FAQ
- Related scrapers
- Changelog
🔎 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
likedCountandcollectedCount. - 🌏 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
searchNotes(Search notes — content & trends): Collects public notes matching your keywords/topics.searchUsers(Search users — creator leads): Extracts unique creator profiles from keyword searches and discovery feeds.noteDetails(Note details — public links): Enriches specific public RedNote/explore/...or/discovery/item/...URLs.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) acrosslikedCount,collectedCount,commentsCount,sharedCount, andfollowersCount. - ✅ 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), andvideoUrl(H.264/H.265 master streams) over HTTPS without downloading heavy media binaries. - ✅ Global Deduplication — deduplicates every record by
recordType+ uniquenoteIdoruserId, 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.
| Field | Type | Default / Prefill | Description |
|---|---|---|---|
operation | string | "searchNotes" | Mode selector: "searchNotes", "searchUsers", "noteDetails", or "userProfiles". |
keywords | array | Default: ["skincare", "travel", "fashion", "food"] (Prefill: ["skincare"]) | Keywords, brands, niches, or hashtags to search. Chinese keywords provide the deepest native coverage; English is also supported. |
urls | array | [] | Public Xiaohongshu note (/explore/..., /discovery/item/...) or profile (/user/profile/...) URLs. Used in noteDetails and userProfiles modes. |
maxItems | integer | Default: 500 (Prefill: 50) | Maximum unique records to collect across all keywords or links (0 = no limit; supports 1,000+ results). |
includeDescription | boolean | true | Include public note body text (description) when available. |
includeMedia | boolean | true | Include coverUrl, imageUrls, and videoUrl links without downloading binary files. |
includeUserNotes | boolean | true | In userProfiles mode, also output the creator's publicly visible notes as user-note rows. |
proxyConfiguration | object | { "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)
| Field | Type | Coverage | Description |
|---|---|---|---|
recordType | string | 🟢 High (100%) | Row discriminator: "note-search", "note-detail", or "user-note". |
noteId | string | 🟢 High (100%) | Unique 24-character hex RedNote note ID. |
title | string | 🟢 High (100%) | Public note headline / display title. |
noteUrl | string | 🟢 High (100%) | Canonical note URL on xiaohongshu.com/explore/... (with xsec_token when present). |
coverUrl | string | 🟢 High (100%) | HTTPS URL of the note's primary cover image. |
likedCount | number | 🟢 High (100%) | Total likes normalized to an integer (e.g., 6.6万 → 66000). |
authorId / authorName | string | 🟢 High (100%) | Creator's 24-character user ID and display nickname. |
authorAvatarUrl / authorProfileUrl | string | 🟢 High (100%) | Creator's avatar URL (HTTPS) and canonical /user/profile/... URL. |
description | string | 🟡 Conditional | Full note body text (populated when includeDescription: true and exposed by the detail/signed surface). |
noteType | string | 🟡 Conditional | Content format ("normal" for image carousels, "video" for video notes). |
imageUrls / videoUrl | array / string | 🟡 Conditional | Array of gallery image URLs and master video stream URL (when includeMedia: true on enriched surfaces). |
collectedCount / commentsCount / sharedCount | number | 🟡 Conditional | Saves, comments, and shares normalized to integers (populated on signed search & detail surfaces). |
authorRedId / authorVerified | string / boolean | 🟡 Conditional | Creator's public red_id handle and official verification badge flag. |
hashtags / postedAt / ipLocation | array / string | 🟡 Conditional | Attached topic tags, ISO 8601 publish date, and regional IP location badge. |
xsecToken / source / scrapedAt | string | 🟢 High (100%) | Security token, origin query (discovery:... or search:...), and ISO timestamp. |
👤 Creator / KOL Fields (user-search, user-profile)
| Field | Type | Coverage | Description |
|---|---|---|---|
recordType | string | 🟢 High (100%) | "user-search" or "user-profile". |
userId / userName | string | 🟢 High (100%) | Unique creator ID and display name. |
avatarUrl / profileUrl | string | 🟢 High (100%) | Creator avatar image URL and canonical profile link. |
redId / bio | string | 🟡 Conditional | Public RedNote ID (red_id) and profile biography text (populated on signed/profile surfaces). |
verified / verificationType | boolean / number | 🟡 Conditional | Official KOL/brand verification status and category code. |
followersCount / followingCount | number | 🟡 Conditional | Follower and following counts normalized to integers. |
likesAndCollectsCount / notesCount | number | 🟡 Conditional | Total cumulative likes + saves received and total published notes count. |
ipLocation / source / scrapedAt | string | 🟢 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:
- Parallel Lightweight Discovery Rounds (Primary Fast Path) — fans out 3 concurrent HTTP discovery requests per batch (
~60–80cards 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 beforemaxItemsis 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. - 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, dynamicmaxSearchPages) and category homefeeds (40 items/round). - Strict Global Deduplication — every note and user is keyed by
recordType+ ID in a globalSet, guaranteeing 0% duplicate rows across all rounds, channels, and keywords.
⚙️ How to use (Console & API)
In Apify Console
- Open Xiaohongshu (RedNote) Scraper in Apify Console.
- Select 1. What do you want to collect? (
Search notes,Search users,Note details, orUser profiles & notes). - Enter one or more terms in 2. Search keywords (or paste links into Public note or profile links).
- Set 3. Maximum results (
50for a quick test,500–1000+for deep discovery, or0for unlimited). - Click Start and export your dataset as JSON, CSV, Excel, XML, or HTML.
Via Apify API (Python)
from apify_client import ApifyClientclient = 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 inkeywordsfor maximum breadth. - Two-Step KOL Enrichment Workflow — first run
searchNotesorsearchUserswithmaxItems: 500to discover active creators (authorProfileUrl/profileUrl) at ultra-low cost; then filter your top candidates and pass theirprofileUrllinks intouserProfilesmode 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, andvideoUrlpoint 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
| Integration | Social Intelligence Workflow |
|---|---|
| Google Sheets & Airtable | Build collaborative KOL seeding trackers with creator names, profile URLs, avatar previews, and note engagement metrics. |
| Make / Zapier / n8n | Automate weekly brand-mention digests and push high-engagement RedNote posts (likedCount > 10000) to Slack, Notion, or Lark/Feishu. |
| BigQuery / Snowflake | Schedule recurring multi-keyword runs (maxItems: 1000+) to track share-of-voice, trending hashtags, and regional IP distribution across China. |
| AI / LLM Pipelines | Stream structured note titles, descriptions, and image URLs into sentiment classification, translation, and trend-summarization agents. |
🔗 Related scrapers
Build a complete Asian & global social intelligence stack with our other scrapers:
- Bilibili Scraper — Videos, Creators & Danmaku
- WeChat Official Account Scraper
- YouTube Channel Contact Scraper
- YouTube Comments Scraper
- Patreon Creators Scraper
- Linktree Profile & Social Extractor
📋 Changelog
v1.2 (2026-11) — Unlocked 1,000+ Pagination & Multi-Channel Discovery Expansion
- Removed
maxItems& Page Clamps: Removed theMath.min(5000, ...)input clamp, theround <= 30HTTP discovery cap, and theMath.min(50, ...)search page clamp insrc/main.js, allowingmaxItems: 1000+(and0= 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) whenmaxItems > 200, ensuring even single-keyword runs easily exceed 1,000+ unique records. - Memory Right-Sizing: Upgraded default actor memory from
512 MBto1024 MBfor smoother execution when browser fallback paths are triggered. - Documentation Upgrade: Expanded README with
⚡ At a glancesummary, 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/mengagement string conversion to integers.
v1.0 (2026-08) — Initial Release
- Initial release supporting
searchNotes,searchUsers,noteDetails, anduserProfilesmodes.