RedNote Xiaohongshu Scraper: Little Red Book Notes
Pricing
from $3.92 / 1,000 notes
RedNote Xiaohongshu Scraper: Little Red Book Notes
Get RedNote (Xiaohongshu) feed notes or full notes from share links with likes, saves, tags, creator names, images and video URLs. About $0.0049 per note: 20 notes cost $0.098. No login. Choose full details for text and counts; keyword search and comment threads are unavailable.
Pricing
from $3.92 / 1,000 notes
Rating
0.0
(0)
Developer
mogged
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Security
Limited permissionsShare
For brand analysts, agencies and researchers collecting public RedNote feed notes or checking a known list of note links. About $0.0049 per delivered note: 20 notes cost $0.098, plus the $0.00005 platform start charge. Full details have no additional note fee. Paid Apify plans receive the tier discounts shown in Pricing.
Collect recommendation and lifestyle feeds, or supply current note share links for complete text, engagement and media. No Xiaohongshu account, exported account cookies or QR login is needed.
Scope: keyword search and comment threads are unavailable in this signed-out page route. Choose a channel or paste note links. The fast default returns clearly labelled feed previews. Turn on includeDetails for full note pages. A note supplied by link always requests full details. Both modes cost the same amount per delivered note, so choose full details when you need the additional fields.
What you get
| Field | Feed preview | Full note |
|---|---|---|
verdict | Plain description of the preview | Confirmation that the full public note was read |
type | note | note |
noteId, title | Public ID and title | Public ID and title |
text | null | Complete body supplied by the page |
noteType | Image or video, when supplied | Source note format |
likes | Feed like count | Note-page like count |
collects | null | Save count when shown |
commentsCount | null | Comment count when shown |
shares | null | Share count when shown |
tags | Empty list; tags were not read | Topic names on the note page |
authorId, authorNickname | Public creator ID and display name | Public creator ID and display name |
authorFollowers | Usually null | Filled only when a matching public profile was also read |
publishedAt | null | UTC publication time from the source |
ipLocation | Usually null | Coarse source location label when shown |
images | Available cover | Available gallery URLs |
videoUrl | null | Available playable stream URL |
url | Source note link with share token | Resolved public note link |
scrapedAt | Observation time in UTC | Observation time in UTC |
dataLevel | preview | full |
source | Input feed or link | Input feed or link |
countsMayBeRounded | Source count abbreviation flag | Source count abbreviation flag |
Missing values stay null; real zeros stay zero. An abbreviated count such as 1.2万 becomes 12,000 and is flagged as potentially rounded. Media are returned as links, not downloaded files.
The dataset also contains free NOTICE, creator and SUMMARY rows. Filter on type == "note" for note records only. A creator row contains public profile metadata and is not a billable note. The summary is also saved as the separate SUMMARY key-value record.
Three steps to your first result
- Keep
channelsat["recommend"],maxItemsat 20 andincludeDetailsoff for a quick public feed preview. - Start the Actor. Inspect the dataset's Overview view for titles, likes, creators and note links. The Content view groups text and media.
- For complete text, turn on
includeDetails, or paste selected note URLs intostartUrlsand clearchannels.
A measured run on 29 October 2026 returned 20 unique previews in 15.0 seconds. A separate full-details run returned 20 complete notes in 72.8 seconds. Runtime varies with source response time, redirects and retries. Full mode reads each individual note page. The release acceptance matrix returned the expected notes across 30 varied cloud inputs, and ten notes were checked against fresh public pages. A real reboot test confirmed no duplicate notes or second charges.
Inputs
| Input | Default | Meaning |
|---|---|---|
channels | Recommendation feed when no links or searches are supplied | Public lifestyle channels, listed below. Clear for link-only jobs. |
startUrls | Empty | Full note URLs, app share URLs, public creator profiles or desktop feed URLs. Use current note tokens. |
maxItems | 20 | Global maximum unique notes across all inputs, 0 to 1,000. Free rows do not use this limit. |
includeDetails | false | Read full pages for feed notes. Direct note links always request full details. |
noteType | all | all, image or video; filters the collected public sample. |
sort | general | Preserve source order, or save a separate sample sorted by popular or newest. |
proxyConfiguration | Automatic | Datacenter, a fresh session, then China residential after refusal. Custom settings are accepted. |
searchTerms | Empty | Compatibility input; signed-out keyword search returns a free notice. |
includeComments | false | Compatibility input; true returns a free explanation that threads are unavailable. |
maxCommentsPerNote | 20 | Reserved compatibility field; no comment extraction or fee is enabled. |
Channels: recommend, food, fashion, beauty, movies, career, relationships, home, gaming, travel, fitness.
Channels are source selections, not arbitrary keyword searches. Choosing food does not request every note mentioning food. Non-recommendation channels may serve older selections. Inspect publishedAt in full mode when recency matters.
Fast feed previews
{"channels": ["recommend"],"maxItems": 20,"includeDetails": false}
Complete notes from a channel
{"channels": ["food"],"maxItems": 10,"includeDetails": true,"noteType": "all"}
A known list of note links
Replace these placeholders with the real note ID and its matching current source token:
{"channels": [],"startUrls": ["https://www.xiaohongshu.com/explore/NOTE_ID?xsec_token=CURRENT_TOKEN&xsec_source=pc_feed"],"maxItems": 20}
Both /explore/<id> and /discovery/item/<id> are accepted, together with xhslink.com and xhslink.cn share hosts. A bare note ID does not provide a working token. Tokens come from the source and can expire; this Actor never invents them. An unavailable link produces a free notice and is not replaced with another note.
To collect videos, add "noteType": "video". Filters can reduce matches per page. A thematic feed with a fixed selection may have fewer notes than the maximum. Collection stops when enough unique notes have been found or the available sample is exhausted.
Reading and sorting results
Every note starts with verdict. dataLevel makes its depth explicit. Preview rows support discovery and triage; full rows support text analysis and engagement monitoring. Preview nulls do not mean zero saves, zero shares or an empty body.
The Summary reports notes, full notes, previews, comments, distinct creators, top tags, top creators, unavailable details, duplicate exclusions and spending-limit status. Tags are counted from full pages actually read. Preview-only runs have an empty top-tags list. Creator rankings describe the collected sample, not the whole platform.
sort: "popular" saves SORTED-NOTES by observed likes; "newest" sorts it by available publication time. The dataset retains serial delivery order for restart recovery. Sorting covers only the collected sample and does not apply platform search ranking or discover a historical catalogue. Use full details for meaningful publication dates.
Example from a live run
Selected fields from a full-note run on 29 October 2026. The actual row also contains the full body, creator, tags and media.
{"verdict": "Full public note retrieved.","type": "note","noteId": "6a978307000000002b0279b4","title": "冷色调就显得很高级实况图","noteType": "image","likes": 18000,"collects": 13000,"commentsCount": 56,"shares": 2584,"publishedAt": "2026-09-02T01:59:35Z","dataLevel": "full"}
Monitor notes every day
Save a task containing your current note URLs and schedule it in Apify Console. Each run reads fresh public pages. Join exports by noteId to compare likes, saves, comments and shares over time. The Actor does not calculate historical changes itself.
For discovery, schedule a recommendation-feed task. Its sample changes and can contain previously seen notes. Deduplication applies within one run, including across repeated links and channels. A later run is a new observation and can charge for the same note again. Maintain your own historical ID set if you need cross-run exclusion.
Webhooks can notify n8n, Make or Zapier when a run succeeds. Export JSON, JSONL, CSV or Excel, or load the dataset into a spreadsheet or database. Retain type and dataLevel downstream so notices and previews remain distinguishable from full notes.
Pricing and limits
| Delivered notes | List-price note charge |
|---|---|
| 1 | $0.0049 |
| 20 | $0.098 |
| 100 | $0.49 |
| 1,000 | $4.90 |
Add the $0.00005 minimum platform start charge. Bronze receives 5% off note charges, Silver 10%, and Gold and higher tiers 20%. The final charge is the plan price shown in Apify. Full details have no extra fee; previews are also delivered notes at the selected plan price.
Duplicates, unavailable notes, retries, creator metadata, notices, summaries and empty results have no note charge. There is no automatic fee for every dataset row. If a full-note request fails, its preview is not substituted or charged.
Use maxItems for a note limit and Apify's maximum run charge for a money ceiling. The Actor checks the remaining note budget before delivery and stops when another note cannot be charged. A restarted run recovers saved rows and reconciles acknowledged charges before continuing. Completed notes are not fetched, delivered or charged again merely because the container restarted.
API examples
Use your own Apify token in the environment. Python:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("moggedhq/rednote-xiaohongshu-scraper").call(run_input={"channels": ["recommend"], "maxItems": 20})notes = [row for row in client.dataset(run["defaultDatasetId"]).iterate_items()if row.get("type") == "note"]
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('moggedhq/rednote-xiaohongshu-scraper').call({channels: ['recommend'], maxItems: 20, includeDetails: false});const { items } = await client.dataset(run.defaultDatasetId).listItems();const notes = items.filter(row => row.type === 'note');
curl:
curl -X POST \'https://api.apify.com/v2/acts/moggedhq~rednote-xiaohongshu-scraper/run-sync-get-dataset-items' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"channels":["recommend"],"maxItems":20,"includeDetails":false}'
For larger full-detail jobs, start an asynchronous run and fetch its dataset after completion. A long synchronous request can time out while the Actor continues successfully.
Use with AI agents (MCP)
An agent connected to https://mcp.apify.com can use the same JSON input. Ask it to collect public feed notes or read complete current share URLs. For text analysis, request includeDetails: true. It should inspect dataLevel, SUMMARY and free notices before analysing results.
Example request: Collect ten full public notes from the food channel, retain source links and publication dates, and summarise the topics in the notes actually retrieved. Keyword search is outside this Actor's supported route. A successful run containing a search-unavailable notice is not a successful keyword extraction.
FAQ and honest limits
Keyword search? Unavailable signed out. The compatibility field gives a free notice. Use feed channels or note links.
Comment threads? Unavailable. Full notes can include comment counts, but no comment text, replies or commenter profiles are collected or charged.
Creator profiles? Public profile metadata is tried and returned free. The source can require a fresh profile link, limit access by IP or hide grid note IDs. Hidden IDs are not reconstructed; supply complete note share links for individual posts.
Permanent media? No. Source-signed image and video links expire. Download content you are permitted to retain promptly. A media link does not grant redistribution rights.
My account? The Actor accepts no account cookies or login tokens, performs no login and solves no CAPTCHA. It keeps only anonymous session information set by its own source visits.
Source refusals? A fresh session is tried and the automatic route can fall back to China residential. Persistent refusal becomes a free notice. Review the summary as well as run status.
RedNote, Xiaohongshu, XHS and Little Red Book refer to the source platform. This independent tool is not affiliated with or endorsed by it. Use public content in accordance with source terms and applicable rights.