Xiaohongshu (RedNot) Comments Scraper avatar

Xiaohongshu (RedNot) Comments Scraper

Pricing

from $3.00 / 1,000 xiaohongshu comment scrapeds

Go to Apify Store
Xiaohongshu (RedNot) Comments Scraper

Xiaohongshu (RedNot) Comments Scraper

Extract Xiaohongshu (RedNote / 小红书) comment threads and nested replies from public note URLs or note IDs. Returns one flat row per comment or reply with commenter identity, text, likes, IP location, and timestamps. Cookieless; no Xiaohongshu login required.

Pricing

from $3.00 / 1,000 xiaohongshu comment scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Xiaohongshu Comments Scraper

Extract comment threads and nested replies from public Xiaohongshu (RedNote / 小红书 / Little Red Book) notes. Paste a note URL or 24-character note ID and get one flat dataset row per comment or reply: commenter name, profile URL, text, likes, IP 属地, and the timestamp Xiaohongshu shows. No Xiaohongshu login or cookies.

This Actor is built for brand-monitoring teams, China-market researchers, and AI agents that already have a note URL and need the public conversation under it. Use it for comment threads on a known note. For keyword discovery, start with the search sibling linked below.

Best fit for this Actor

  • You have public Xiaohongshu note URLs (explore, discovery/item, or profile/note) or xhslink.com share links and want the comment thread.
  • You need flat rows (one comment or reply per item) for spreadsheets, CRM, or an agent, including parentCommentId for replies.
  • Start with Xiaohongshu Search Scraper when you only have a keyword, then pass each note URL here to collect the comments.

Brand-monitoring workflow: from one viral note to a comment export

A social-listening analyst tracking an official Xiaohongshu governance announcement pastes the public explore URL (with xsec_token) into noteUrls, leaves includeReplies on, and sets maxComments to 50. The run returns commenter names, profile URLs, comment text, like counts, IP cities such as 上海 / 北京, and reply threading. They then schedule the same note URL weekly, compare new commentId values, and export the dataset to CSV for sentiment tagging.

Quick start input

{
"noteUrls": [
"https://www.xiaohongshu.com/explore/69afda73000000002800b3f2?xsec_token=ABS294BN1RIZ1_yaXpYLmp_VZQ_na4j9mhGzLPMICzCIU="
],
"maxComments": 5,
"includeReplies": true
}

maxComments is a run-wide cap that counts top-level comments and nested replies together so an agent can bound spend before calling.

Input reference

FieldTypeWhat it controls
noteUrlsarray (required)Explore, discovery/item, user/profile/{user}/{note}, xhslink.com, or bare 24-character note IDs. Prefer URLs that include xsec_token.
maxCommentsintegerCap on saved rows including replies. Default 50, automated-test prefill 5, max 2000.
includeRepliesbooleanSave nested replies as their own rows. Default true.
maxRepliesPerCommentintegerCap replies under one parent. Default 20. 0 takes every reply currently expanded on the public page.

What data you receive

Each dataset item is one public comment or nested reply.

FieldDescription
noteId, noteUrl, resolvedNoteUrl, noteTitleSource note
noteCommentCountTotal comments Xiaohongshu reports on the note
commentId, parentCommentId, isReply, threadDepth, replyToUserThreading
commentTextPublic comment body
commenterName, commenterUserId, commenterProfileUrl, commenterAvatarCommenter identity
likeCount, replyCount, ipLocationEngagement and IP 属地
createdAt, commentPosition, scrapedAt, providerTime, rank, provenance
{
"noteId": "69afda73000000002800b3f2",
"noteUrl": "https://www.xiaohongshu.com/explore/69afda73000000002800b3f2?xsec_token=ABS294BN1RIZ1_yaXpYLmp_VZQ_na4j9mhGzLPMICzCIU=",
"noteTitle": "关于打击AI托管运营账号的治理公告",
"commentId": "69b00725000000000c03176a",
"parentCommentId": null,
"isReply": false,
"threadDepth": 0,
"commentText": "哈哈,终于出手了!",
"commenterName": "peace",
"commenterUserId": "5ff81b730000000001002e21",
"commenterProfileUrl": "https://www.xiaohongshu.com/user/profile/5ff81b730000000001002e21",
"likeCount": 1000,
"ipLocation": "上海",
"createdAt": "03-10",
"commentPosition": 1,
"provider": "scrapfly"
}

You can download the dataset as JSON, CSV, Excel, or HTML from the run's Output tab.

Public-data contract

  • Public comments. The Actor reads what Xiaohongshu renders on a public note page: commenter identity, text, likes, IP 属地, and nested replies that are already expanded.
  • Share URLs work best. Prefer explore/discovery URLs that include xsec_token, or xhslink.com share links. Xiaohongshu often serves an anti-bot bounce for bare note IDs and token-less links.
  • Visible thread. Rows come from the public comment panel after a bounded scroll. noteCommentCount tells you how large the thread is; maxComments caps what this run saves.
  • Timestamps stay as shown. Relative strings such as 4小时前 or 03-10 are stored as Xiaohongshu displays them. Empty optional fields are omitted.

Pricing

Pay per event (PPE) plus platform usage. Confirm the live prices on the Actor Pricing tab before a large run — the Pricing tab is the current source of truth.

EventWhat it bills
apify-actor-start$0.00005 when the run starts
comment-scraped$0.003 per saved comment or reply row

Example: 1 note, 20 comments (including replies) ≈ $0.00005 + (20 × $0.003) = $0.06005 in PPE, plus platform usage for the fetch. Set maxComments so an agent can forecast the ceiling.

How to run from the API

curl "https://api.apify.com/v2/acts/khadinakbar~xiaohongshu-comments-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"noteUrls":["https://www.xiaohongshu.com/explore/69afda73000000002800b3f2?xsec_token=ABS294BN1RIZ1_yaXpYLmp_VZQ_na4j9mhGzLPMICzCIU="],"maxComments":5,"includeReplies":true}'

Or with ApifyClient:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/xiaohongshu-comments-scraper').call({
noteUrls: [
'https://www.xiaohongshu.com/explore/69afda73000000002800b3f2?xsec_token=ABS294BN1RIZ1_yaXpYLmp_VZQ_na4j9mhGzLPMICzCIU=',
],
maxComments: 5,
includeReplies: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Agent prompt card

Scrape public Xiaohongshu (RedNote) comments for this note URL. Use khadinakbar/xiaohongshu-comments-scraper. Pass noteUrls as the full explore URL including xsec_token when you have it. Set maxComments to the spend ceiling (each row costs $0.003). Read OUTPUT.outcome and itemsPushed after the run: COMPLETE means the visible thread was saved, VALID_EMPTY means the note has no public comments, INVALID_INPUT means the URL was not a note, and UPSTREAM_FAILED means Xiaohongshu blocked the page. Return commenterName, commentText, ipLocation, isReply, parentCommentId, likeCount, and the source noteUrl. This is a read-only public-data scrape with no login side effects.

Best results

  • Provide a specific public note URL with xsec_token, or an xhslink.com share link, rather than a profile URL or a keyword.
  • Pair this Actor with Xiaohongshu Search Scraper when you need to discover notes first, then collect comments.
  • For TikTok comment threads instead of Xiaohongshu, use TikTok Comments Scraper.
  • Validate OUTPUT / RUN_SUMMARY plus dataset rows so you can confirm comments landed.
  • Keep maxComments tight on first runs so you can confirm the note is public before scaling.

This Actor is designed as a focused standalone workflow when you already have Xiaohongshu note URLs.

Builder's note

I built this as a comments-only sibling to the existing Xiaohongshu search Actor after I found that ScrapeCreators and SociaVault still have no Xiaohongshu comment routes (live OpenAPI probe) and that raw HTTP to xiaohongshu.com bounces with an anti-bot interstitial. In my testing, the public comment panel is in the rendered DOM (id="comment-…", data-user-id, IP 属地) even when __INITIAL_STATE__.comments.list stays empty. My goal was an MCP-ready flat row with parent/reply fields, matching the comment text people actually see on the note.

Use this Actor only on content you are authorized to collect. Respect Xiaohongshu's terms of service, applicable laws (including privacy rules in your jurisdiction), and the rights of commenters. This tool collects public page data and is not affiliated with, endorsed by, or connected to Xiaohongshu / Xingyin Information Technology (Shanghai) Co., Ltd. You are responsible for how you store and use the export.