RedNote Xiaohongshu Scraper: Video Downloader & Notes
Pricing
from $4.00 / 1,000 notes
RedNote Xiaohongshu Scraper: Video Downloader & Notes
Scrape RedNote (Xiaohongshu, 小红书) notes, watermark-free videos, creator profiles and explore feeds without login: title, text, tags, images, video, engagement and author. Paste note or app share links.
Pricing
from $4.00 / 1,000 notes
Rating
0.0
(0)
Developer
Stan Van Rooy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
RedNote Xiaohongshu Scraper: Video Downloader & Note Scraper 📕
Free-plan sample: Apify Free accounts can collect up to 100 result rows total per run, shared across all inputs. Upgrade your Apify plan for larger runs. Normal Actor charges apply. The sample resets each run; it is not a daily or monthly quota.
小红书无水印视频下载与笔记采集:无需登录、无需 Cookie。粘贴笔记链接或 App 分享链接,下载高清视频、图片与完整笔记数据(标题、正文、话题标签、互动数据、作者信息);支持博主主页与发现页。
The RedNote Xiaohongshu Scraper extracts public note data, source video URLs, image galleries, and creator profiles from RedNote (Xiaohongshu, 小红书) with no customer login, no cookies, and no Chinese phone number required. Returns source video URLs for video notes and image URLs for supported notes. No customer account is required. Public access can still be challenged or unavailable. Paste note links, app share texts (xhslink.com), creator profile links, or scrape the trending explore feed, then click Start.
Supported notes return with title, full text, hashtags, all image URLs, source video URLs and durations for video notes, likes, collects, comments, shares, author details, and publish time. Built for creators researching video content, brands tracking Chinese consumer trends, influencer discovery, and competitor analysis.
💎 Scraper Capabilities and Features
| Feature | Verified Capability | Technical Notes |
|---|---|---|
| Account Requirements | None (100% Anonymous) | No customer Xiaohongshu account, cookies, or phone number required |
| Media Links | Source video & image URLs | Returns direct video URLs for video notes and image URLs for image galleries |
| Mobile App Share Links | Paste raw share text with emojis | Parses xhslink.com and xhslink.cn short links automatically |
| Explore Feed | 12 categories supported | Explore trending notes across Fashion, Cosmetics, Food, Travel, and more |
| Precision Filtering | Keywords, media type, dates, engagement | Filter by note type (image/video), likes, comments, and UTC publish date |
| Export Formats | JSON, CSV, and Excel | Download structured data via Apify Console or integrate with the REST API |
| Access Limitations | Public guest access | Public access can still be challenged, rate-limited, or unavailable |
🚀 How to scrape RedNote (Xiaohongshu)
- Add what you want, in any mix:
- Note links: copy a note link from xiaohongshu.com, or tap Share in the RedNote app and copy the link (
xhslink.com/...). Pasting the whole share text works too. - Profile links: a creator's profile link or profile share link.
- Explore feed: switch it on and pick categories to collect trending notes.
- Note links: copy a note link from xiaohongshu.com, or tap Share in the RedNote app and copy the link (
- Click Start.
- Download the results as JSON, CSV or Excel, or read them from the Apify API.
No RedNote account, no browser extension, no cookies to copy.
📊 What data do you get?
Per note (one row each)
- Note ID and a link that opens for anyone
- Type (image or video), title and full description text
- Hashtags / topics
- All image URLs, the cover image, and the video file URL and duration for video notes
- Likes, collects, comments and shares as numbers, plus the counts exactly as RedNote shows them (for example
6.9万) - Author: user ID, nickname, avatar and profile link
- Publish time and last update time (UTC)
- IP location label when RedNote shows one (for example
马来西亚)
Per profile (one row each)
- Nickname, RED ID, bio, gender, IP location, location and profession tags, avatar
- Exact totals: notes posted, likes received, collects received
- Followers, following and likes plus collects as RedNote shows them to logged-out visitors (rounded bands such as
1万+) - The latest notes on the profile page (about 30): title, type, likes, cover, publish time, pinned or not
📥 Input
| Field | Type | Notes |
|---|---|---|
noteUrls | array | Note links from xiaohongshu.com (with their xsec_token), app share links (xhslink.com, xhslink.cn) or whole share texts. |
profileUrls | array | Creator profile links or profile share links. |
includeExplore | boolean | Also read the public explore feed. Default false. |
exploreCategories | array | recommended (default), fashion, food, cosmetics, movies_tv, career, relationships, home, gaming, travel, fitness, video. |
maxExploreNotes | integer | Notes per explore category, 1 to 500. Default 30. |
noteType | string | Filter content type: all (default), image, or video. |
keywords | array | Keep retrieved notes containing these literal words or phrases. |
excludeKeywords | array | Exclude notes containing any of these words or phrases. |
keywordMatch | string | Require any (default) or all inclusion keywords to match. |
dateFrom, dateTo | string | UTC publication date window (YYYY-MM-DD). |
minLikes | integer | Filter for notes with at least this many likes. |
minComments | integer | Filter for notes with at least this many comments. |
knownNoteIds | array | Note IDs from earlier runs to skip before fetching details or charging, up to 10,000. |
maxExploreNotesScanned | integer | Safety ceiling on explore notes inspected per category (1 to 1,000). |
proxyConfiguration | object | Advanced. Apify Proxy by default, with residential IPs as a fallback. |
Explore feed example with video & engagement filters:
{"includeExplore": true,"exploreCategories": ["cosmetics", "fashion"],"noteType": "video","minLikes": 500,"dateFrom": "2026-08-01","maxExploreNotes": 50}
📤 Output
Example note row:
{"kind": "note","note_id": "6a8d0d0c000000002a025ca6","url": "https://www.xiaohongshu.com/explore/6a8d0d0c000000002a025ca6?xsec_token=...&xsec_source=pc_feed","note_type": "video","title": "现在看桑卓董真的好体面啊","description": "#我的前半生[话题]# #电视剧[话题]#","tags": ["我的前半生", "电视剧"],"images": ["http://sns-webpic-qc.xhscdn.com/..."],"image_count": 1,"cover_url": "http://sns-webpic-qc.xhscdn.com/...","video_url": "http://sns-video-zl.xhscdn.com/stream/...","video_duration_sec": 37,"likes": 69000,"collects": 1987,"comments": 950,"shares": 525,"counts_as_shown": {"likes": "6.9万", "collects": "1987", "comments": "950", "shares": "525"},"author": {"user_id": "5ba2ec80e1242f000195384a","nickname": "爆火情报局","avatar_url": "https://sns-avatar-qc.xhscdn.com/avatar/...","profile_url": "https://www.xiaohongshu.com/user/profile/5ba2ec80e1242f000195384a?xsec_token=..."},"published_at": "2026-08-29T02:53:32Z","updated_at": "2026-08-29T02:53:32Z","ip_location": null,"source": "explore:recommended","input_url": "https://www.xiaohongshu.com/explore","scraped_at": "2026-09-26T21:00:00Z"}
Links that do not open (a deleted or private note, a link without its token, a link that is not from RedNote) get a row with kind: "error" and a plain explanation, free of charge.
The dataset has two views: Notes and Profiles.
✨ Why this RedNote scraper
- No customer login. Reads public data visible to logged-out visitors on xiaohongshu.com. No customer account or cookies required. Public access can still be challenged or unavailable.
- Share links just work. Paste what the RedNote app gives you, even the full share text with emoji and Chinese around the link.
- Full note data, not previews. High-resolution image URLs, source video URLs for video notes, hashtags, and all four engagement counts (likes, collects, comments, shares) as numbers and as shown.
- Pay only for results. $5 per 1,000 notes, and you are never charged for a link that does not open.
💡 Use cases
- Brand and product research: collect what people post about a product, a category or a competitor you found on RedNote.
- Influencer discovery: pull creator profiles with their totals and latest notes to shortlist partners.
- Trend tracking: read the explore feed on a schedule and see what is trending.
- Content analysis: titles, hashtags and engagement for thousands of notes as a dataset.
- Archiving: keep a copy of notes and media links you need to reference.
🔌 RedNote API: run it from code
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("stanvanrooy6/rednote-xiaohongshu-scraper").call(run_input={"noteUrls": ["http://xhslink.com/o/32cITRQ8kgS"],"includeExplore": True,"exploreCategories": ["recommended"],"maxExploreNotes": 50,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["kind"], row.get("title"), row.get("likes"))
⚠️ Limits and good to know
- Large runs keep going. RedNote pauses a single connection after about 100 notes in a row. The Actor moves to a fresh connection before that and after any pause, so long runs continue. If RedNote keeps pausing, the run stops cleanly, keeps (and charges only) what it saved, and lists the links it did not reach as free
not_readrows. - Only public, logged-out content. Keyword search and comments on RedNote need a login, so this Actor does not offer them. It never logs in, never uses cookies from you and never solves captchas.
- Links need their token. RedNote only opens a note for logged-out visitors when the link carries its
xsec_token. Copy the full link from the site or use a share link from the app; a bare/explore/<id>link gets a free error row. - Profile note lists have no links. For logged-out visitors, RedNote hides the IDs of the notes on a profile page, so
latest_noteshas titles, likes, covers and dates but no note links. Follower counts are the rounded bands RedNote shows (1万+); notes posted, likes and collects are exact. - Explore categories can be older. Logged-out category feeds (food, travel and so on) can show notes that are months or years old. The recommended feed shows current notes.
- Media links. Image and video URLs are the ones RedNote serves at the time of the run. Download files soon after the run if you need them.
💰 Pricing
Pay per event, no subscription:
| Event | Price |
|---|---|
| Note | $0.005 ($5 per 1,000 notes) |
| Profile | $0.005 per profile row |
| Actor start | $0.002 per GB of memory (512 MB by default, so one start event) |
Error rows are free. Higher Apify plans pay less per event (Silver 10% off, Gold and up 20% off). You can cap the cost of any run with the maximum cost per run setting; the run stops cleanly when it is reached.
🎯 Example inputs
One note from a share text
{"noteUrls": ["【标题】 http://xhslink.com/o/32cITRQ8kgS 复制本条信息,打开【小红书】App查看精彩内容!"]}
Creator profiles
{"profileUrls": ["https://www.xiaohongshu.com/user/profile/5ba2ec80e1242f000195384a?xsec_token=..."]}
Trending notes in three categories
{"includeExplore": true, "exploreCategories": ["recommended", "fashion", "cosmetics"], "maxExploreNotes": 30}
❓ FAQ
Is RedNote the same as Xiaohongshu?
Yes. RedNote is the international name of Xiaohongshu (小红书, "Little Red Book"). This Actor works with links from xiaohongshu.com and the RedNote app's share links.
Do I need a RedNote account?
No. The Actor reads public pages the way a logged-out visitor sees them.
Can I scrape RedNote search results or comments?
Not with this Actor. RedNote asks for a login for search and comments, and this Actor does not log in.
Why did a note link give an error row?
The note may be deleted or private, or the link lost its xsec_token. Copy the link again from the site, or use the app's share link. Error rows are not charged.
How do I export RedNote data to Excel or CSV?
Open the run's dataset and choose Excel or CSV, or use the dataset API with format=csv or format=xlsx.
Is it legal to scrape RedNote?
The Actor collects publicly visible content only and no private data. You are responsible for how you use the data; respect the platform's terms, privacy law (including China's PIPL) and takedown requests.
Can you add a field or an option I need?
Yes, open an issue on the Issues tab with an example link.
🤝 Feedback and feature requests
Found a bug or need a field? Open an issue on the Issues tab with the link you used. Issues are answered quickly.
🔗 Related scrapers
- TikTok Transcript Scraper: transcripts, captions and subtitles of TikTok videos.
- TikTok Profile Scraper: TikTok profiles and their full post feed.
- TikTok Comments Scraper: comments and replies of TikTok videos.
- TikTok Search Scraper: TikTok videos by keyword.
Filter notes and skip previous results
Filter note links and explore results with noteType (all, image, video), inclusive UTC dateFrom / dateTo (YYYY-MM-DD), minLikes, and minComments. Engagement filters use the displayed counts, which RedNote may round. Notes with unknown dates or counts are excluded when the corresponding filter requires them. Profile rows and their embedded summaries are unchanged by note filters.
keywords matches literal words or phrases in the retrieved title, description and tags, case-insensitively. Set keywordMatch to any or all. excludeKeywords removes notes containing any excluded phrase. This is filtering of public notes already retrieved, not RedNote keyword search. It does not extract comment threads or full creator history.
Pass previous note_id values in knownNoteIds to skip up to 10,000 already collected notes before fetching their details or charging. The actor does not persist a monitoring collection automatically; your workflow supplies these IDs on each run.
maxExploreNotes is the maximum number of matching notes saved per category. The actor keeps looking past nonmatching notes. maxExploreNotesScanned bounds how many note pages it checks per category (1 to 1,000); when omitted, the budget is the greater of 100 or maxExploreNotes. Previously known notes do not spend this budget. Each category also has a limit of 30 feed refreshes, and stops when a refresh offers no new notes. The available feed, run budget and shared Free-plan cap can stop it earlier.
Only matching notes are charged. The Output tab includes a SUMMARY report with delivered, filtered, skipped and scanned counts plus each category's stopping reason. Exhausting a public feed does not mean the full history was collected. Profile rows explicitly report history_complete: false and notes_scope: "public_profile_page_summaries".
{"includeExplore": true,"exploreCategories": ["food"],"noteType": "video","minLikes": 100,"maxExploreNotes": 10,"maxExploreNotesScanned": 100,"knownNoteIds": []}