Xiaohongshu (RedNote) Comments Scraper - Reply Threads avatar

Xiaohongshu (RedNote) Comments Scraper - Reply Threads

Pricing

from $4.99 / 1,000 comments

Go to Apify Store
Xiaohongshu (RedNote) Comments Scraper - Reply Threads

Xiaohongshu (RedNote) Comments Scraper - Reply Threads

Extract every Xiaohongshu (RedNote) comment with nested reply threads, author profile, avatar URL, IP city, like counts, attached pictures, and @-mentions. Paste note URLs or 24-character note IDs. 30+ fields per comment, export to JSON, CSV, or Excel.

Pricing

from $4.99 / 1,000 comments

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 hours ago

Last modified

Share

RedNote (Xiaohongshu) Comments Scraper | Nested Replies, Author Profiles, IP City (2026)

30+ fields per comment, every upstream field preserved — author profile with avatar URL, IP city, like counts, attached pictures, @-mentions, and the full nested reply tree under every comment on any Xiaohongshu (小红书) note.

RedNote Comments Scraper

Zen Studio · Chinese-platform suite   •  RedNote (小红书), Douyin (抖音), Xigua (西瓜视频)
 RedNote Comments
➤ You are here
 RedNote Search
500 notes / 30s, 24 fields
 Douyin Search
Keyword + filters, 60+ fields
 Douyin Transcripts
50+ languages, .srt + MP4
 Xigua Search
Keyword + comments + MP4

Copy to your AI assistant

zen-studio/rednote-comments-scraper on Apify. Pulls every top-level comment + nested reply on any Xiaohongshu (小红书) note with author profile, avatar URL, IP city, and full target_comment refs. Call ApifyClient("TOKEN").actor("zen-studio/rednote-comments-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. noteUrls accepts share URLs or bare 24-char hex note IDs. Full spec: GET https://api.apify.com/v2/acts/zen-studio~rednote-comments-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations

Key Features

  • 30+ fields per comment — author profile, avatar URL, public red_id handle, IP city, like counts, @-mentions, attached pictures, pinned tags, the entire target_comment reference for every reply
  • Nested reply threads — every top-level comment carries a replies[] array; cap thread depth with maxRepliesPerComment (set to 0 for the entire tree)
  • No headless browser, no proxy needed — paste note URLs or 24-character note IDs, hit Start
  • Three sort orderslatest, recommended, most_liked
  • Free tier — 5 lifetime runs, ~20 comments from the first note, no credit card

How to Scrape Xiaohongshu Comments

Basic — single note, default settings

{
"noteUrls": ["https://www.xiaohongshu.com/discovery/item/69db721a00000000220290a8"]
}

Multiple notes, capped budget

{
"noteUrls": [
"https://www.xiaohongshu.com/discovery/item/69db721a00000000220290a8",
"69dc63550000000015004853"
],
"maxCommentsPerNote": 200,
"maxRepliesPerComment": 10
}

Top-voted threads only, no replies

{
"noteUrls": ["69db721a00000000220290a8"],
"sortBy": "most_liked",
"includeReplies": false,
"maxCommentsPerNote": 50
}

Full thread tree for one viral comment

{
"noteUrls": ["69db721a00000000220290a8"],
"maxCommentsPerNote": 1,
"maxRepliesPerComment": 0
}

Input Parameters

ParameterTypeDefaultDescription
noteUrlsarrayrequiredOne or more Xiaohongshu note links or bare 24-character note IDs. Each note runs independently.
sortByenumlatestlatest, recommended, or most_liked
includeRepliesbooleantrueWhen true, every comment carries a nested replies[] array
maxRepliesPerCommentinteger5Replies to fetch under each top-level comment. 0 = unlimited
maxCommentsPerNoteinteger0Top-level comments per note. 0 = all

What Data Can You Extract from Xiaohongshu Comments?

Every dataset row is one top-level comment with its full reply thread nested inside.

Comment fields:

  • id, note_id, url_to_note, content, time
  • like_count, sub_comment_count, liked, ip_location
  • pictures (when the comment has attached images)
  • show_tags, show_tags_v2 (includes Pinned, Author liked labels)
  • at_users, hash_tags, media_source_type
  • sort_by, comment_index_in_note

Author profile (user):

  • userid, red_id (public XHS handle), nickname
  • images (avatar URL), ai_agent, level

Each nested reply (replies[]):

  • All the comment fields above (where applicable)
  • target_comment with the parent's id, status, and full user profile

Output Example

{
"id": "69dc63550000000015004853",
"note_id": "69db721a00000000220290a8",
"url_to_note": "https://www.xiaohongshu.com/discovery/item/69db721a00000000220290a8",
"content": "千万不要点进作者的主页,不然就出不来了[捂脸R][捂脸R]",
"time": 1776051029,
"ip_location": "Shanghai",
"like_count": 119,
"sub_comment_count": 11,
"liked": false,
"collected": false,
"user": {
"userid": "ae72f2a6105526a05fb17d369ee6e",
"red_id": "27209397831",
"nickname": "晚风轻吟",
"images": "https://sns-avatar-qc.xhscdn.com/avatar/1040g2jo31uu4q7413q005qca0u389c1cvfo51i0?imageView2/2/w/120/format/jpg",
"ai_agent": false,
"level": { "image": "" },
"current_user": "false",
"additional_tags": {}
},
"at_users": [],
"show_tags": [],
"show_tags_v2": [
{ "text": "Pinned", "type": "user_top", "pos": "cmt_bottom", "style_id": "red" }
],
"pictures": null,
"hash_tags": null,
"media_source_type": null,
"sub_comment_cursor": "{\"cursor\":\"69dc6a7d000000001500ab19\",\"index\":1}",
"replies": [
{
"id": "69dc6a7d000000001500ab19",
"content": "不信你的话,点进去第一反应就是咽了几口口水[暗中观察R]",
"time": 1776052862,
"ip_location": "Guangdong",
"like_count": 93,
"liked": false,
"user": {
"userid": "a651518b161bd8d20adb86abd4798",
"red_id": "4646143817",
"nickname": "八方来财",
"images": "https://sns-avatar-qc.xhscdn.com/avatar/1040g2jo31q83819h7u005pdi1p9kpa9hcpnh30g?imageView2/2/w/120/format/jpg",
"ai_agent": false
},
"target_comment": {
"id": "69dc63550000000015004853",
"status": 4,
"user": {
"userid": "ae72f2a6105526a05fb17d369ee6e",
"red_id": "27209397831",
"nickname": "晚风轻吟",
"images": "https://sns-avatar-qc.xhscdn.com/avatar/1040g2jo31uu4q7413q005qca0u389c1cvfo51i0?imageView2/2/w/120/format/jpg"
}
},
"at_users": [],
"show_tags": [],
"show_tags_v2": [
{ "text": "Author liked", "type": "author_liked" }
]
},
{
"id": "69dc736a000000001500a5a1",
"content": "果然 不关注都出不来[笑哭R]",
"time": 1776055146,
"ip_location": "Beijing",
"like_count": 2,
"user": {
"userid": "6539e3ce000000000d006d07",
"red_id": "4583774467",
"nickname": "熙熙大王",
"images": "https://sns-avatar-qc.xhscdn.com/avatar/1040g2jo31iojfqsd1a605p9psf738r870uj84a8?imageView2/2/w/120/format/jpg"
},
"target_comment": {
"id": "69dc63550000000015004853",
"user": { "userid": "698a0786000000002100b02c", "nickname": "晚风轻吟" }
},
"show_tags": ["author_liked"]
}
// ... 3 more replies
],
"sort_by": "latest",
"comment_index_in_note": 0,
"status": 4,
"score": 10000000,
"hidden": false,
"downvoted": false,
"share_strategy": 0,
"comment_type": 0,
"translation_strategy": 9,
"show_type": "common",
"relatable_to_note": false,
"biz_label": { "product_review": false, "group_invite": "false", "rich_text": "unknown" },
"track_id": "interaction-service.local",
"friend_liked_msg": "",
"sub_comments": [
// raw upstream `sub_comments` inline (mirrors the first entry of `replies`)
]
}

Advanced Usage

Cap cost on a viral note

{ "noteUrls": ["69db721a00000000220290a8"], "maxCommentsPerNote": 100, "maxRepliesPerComment": 3 }

Bulk-collect comments from a known set of notes

{
"noteUrls": [
"69db721a00000000220290a8",
"69dc63550000000015004853",
"69dcf76e000000003501618e"
],
"sortBy": "most_liked",
"maxCommentsPerNote": 50
}

IP-city sentiment study — top comments only

{ "noteUrls": ["69db721a00000000220290a8"], "sortBy": "most_liked", "includeReplies": false, "maxCommentsPerNote": 500 }

Pricing — Pay Per Event (PPE)

$5.99 per 1,000 comments. Each comment counts as one billable result — both top-level comments and nested replies.

EventPer callPer 1,000
Comment result (top-level or nested reply)$0.00599$5.99

Free tier: 5 lifetime runs, ~20 comments from the first note, replies off.

FAQ

Which note URL formats are accepted? Full share URLs (/discovery/item/<id> or /explore/<id>, with or without xsec_token query params) and bare 24-character hex IDs.

Why does my dataset have fewer rows than I expected? Each row is one top-level comment, with the full reply tree embedded inside its replies[] array. If you ran with maxCommentsPerNote: 50, you get up to 50 rows — but the total billed comments include every nested reply too.

What's IP location? Xiaohongshu attaches a coarse geographic label to each comment (province or city, e.g. Beijing, Shanghai, Guangdong). Roughly 70% of top-level comments and 50% of replies carry it.

Are author avatars included? Yes — user.images on every comment and reply is a direct CDN URL to the author's avatar.

Can I get the full reply tree under one comment? Yes. Set maxRepliesPerComment: 0 and target the comment by pinning its note (maxCommentsPerNote: 1) — the scraper paginates all replies until the upstream cursor exhausts.

What sort orders are supported? latest (newest first, the Xiaohongshu app default), recommended (curated relevance), most_liked (by like count).

Can I detect pinned comments? Yes — show_tags_v2 carries a { "type": "user_top", "text": "Pinned" } entry on the pinned comment.

Does the actor follow @-mentions? The at_users array on each comment lists the mentioned users with user_id and nickname. The scraper does not recursively fetch their profiles.

What happens if a note has comments disabled or is removed? You'll get zero comments for that note ID and the run continues with the next note.

How fresh is the data? Live from Xiaohongshu at run time — no cache.

Support

  • Bugs: Issues tab
  • Features: Issues tab

Extracts publicly available data. Users must comply with Xiaohongshu's terms and data protection regulations (GDPR, CCPA).


Pull every top-level comment and nested reply on any Xiaohongshu (小红书) note with author profile, avatar URL, IP city, like counts, and the full target_comment reference for each reply.