Xiaohongshu 小红书 RedNote Scraper - Notes, Comments & Replies avatar

Xiaohongshu 小红书 RedNote Scraper - Notes, Comments & Replies

Pricing

from $3.80 / 1,000 results

Go to Apify Store
Xiaohongshu 小红书 RedNote Scraper - Notes, Comments & Replies

Xiaohongshu 小红书 RedNote Scraper - Notes, Comments & Replies

Scrape Xiaohongshu (小红书, RedNote, XHS, Little Red Book): search notes, topic feeds, note details, comments and replies, creator profiles, shop products and reviews. Commenters come with user ID, RED ID, avatar and IP location. No login or cookies needed. Export to JSON, CSV or Excel.

Pricing

from $3.80 / 1,000 results

Rating

0.0

(0)

Developer

Silkline

Silkline

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

3

Monthly active users

3 hours ago

Last modified

Share

Xiaohongshu Scraper collects public data from Xiaohongshu (小红书, also known as RedNote, XHS or Little Red Book) and returns clean, flat JSON. It covers keyword search, note details, public comments and replies, creator profiles with recent notes, shop product search, product reviews and notes under a topic. Comment items include each commenter's user ID, RED ID, nickname, avatar and IP location (IP属地) when the platform shows it. No Chinese-language skills, proxies, cookies or login are needed, and you can use it as a Xiaohongshu API: call it over HTTP or with the Apify Python or JavaScript client and get the same JSON back.

What is Xiaohongshu?

Xiaohongshu (小红书, xiaohongshu.com), called RedNote in English, is China's leading lifestyle and shopping-discovery community. Users publish notes (image or video posts with text and hashtags) about topics such as beauty, food, travel and fashion, and the platform also has a shop with products and buyer reviews. Every user has a RED ID, and the platform shows an IP location (province or country) on notes and comments.

What data can you get?

The Actor has seven modes. Each mode takes a different input and returns its own item type.

ModeGive itYou get
searcha keywordnotes: title (first line of the text when the note has none), description, author, likes, collects, comments, shares, cover, link
notenote links or IDsthe full note record, including hashtags and the IP location shown on the note (billed as a detail)
commentsnote links or IDscomment text, likes, reply count, time, plus each commenter's public profile: user ID, RED ID, nickname, avatar, IP location. includeReplies adds the first replies under each comment (off by default, billed like comments, long threads may be partial)
userprofile links or IDsprofile (nickname, user ID, RED ID, avatar, gender, bio, followers, notes, likes received) plus recent notes
productsa keywordshop products: title, price in yuan (plus approximate USD), original price, sales count, shop name and ID, image, link
reviewsproduct links or IDs (from mode products)buyer reviews: text, star rating, delivery and service ratings, likes, reply count, photos, highlight tags, bought option, date, plus the reviewer's public profile (user ID, nickname, avatar)
topictopic page links or IDsnotes posted under the topic, newest or most popular first as the platform ranks them, with the same fields as search notes

Every item has a type field: note (list item from search, creator lists or topics), noteDetail (from mode note), comment, user, product or review.

Notes (note and noteDetail)

FieldDescription
noteId24-character note ID
urlLink to the note
titleNote title; the first line of the text when the note has none
descriptionNote text
likes, collects, comments, sharesEngagement counts
authorName, authorId, authorRedIdAuthor nickname, user ID and RED ID
authorAvatar, authorUrlAuthor avatar image and profile link
authorVerifiedWhether the author is officially verified
authorIpLocationIP location shown on the note. Present on every note item; most reliable on noteDetail, sometimes set for notes from creator lists, usually null in search and topic results
publishedAtPublish time
noteTypeNote type, for example image or video
coverUrl, imageCountCover image and number of images
durationSecondsVideo length; empty for image notes
hashtagsTopic tags of the note

Comments (comment)

FieldDescription
textComment text
authorName, authorId, authorRedId, authorAvatarCommenter's nickname, user ID, RED ID and avatar
authorIpLocationIP location shown under the comment
likes, replyCountLikes and number of replies
publishedAtComment time
commentId, noteIdComment ID and the note it belongs to
parentCommentIdFor replies: the top-level comment they belong to; null on top-level comments

Creator profiles (user)

FieldDescription
nickname, userId, redIdName, user ID and RED ID
followers, following, noteCount, likesReceivedAudience and activity counts
bioProfile bio as published
avatarUrlAvatar image (largest available)
gendermale or female; null when not shown
verified, verifyContentVerification status and verification text
location, ipLocationLocation the user shows, and IP location on the profile
urlProfile link

Products (product)

FieldDescription
productId, title, urlProduct ID, name and link
price, originalPriceListed price and price before discount, in yuan
priceUsdApproximate price in US dollars as shown by the platform
soldTextSales count as shown, e.g. '113.3k+ sold'
shopName, shopId, shopType, shopAvatarSeller name, ID, seller type and shop avatar
inStockStock status
imageUrlProduct image

Reviews (review)

FieldDescription
textReview text
rating, logisticsRating, serviceRatingOverall, delivery and seller service ratings, 1-5
likes, replyCountLikes and replies on the review
imageUrlsPhotos attached to the review
reviewTagsHighlight tags, e.g. 'good grip'
buyerTagsBuyer badges, e.g. repeat purchase
variantsOption the buyer bought, e.g. 'Model: iPhone 17'
publishedAtTextDate as the platform shows it (no year)
authorName, authorId, authorAvatarReviewer's nickname, user ID and avatar
reviewId, productIdReview ID and product ID

Fields with no data are null; list fields (hashtags, imageUrls, reviewTags, buyerTags, variants) are [] when empty. The full field list is in the dataset schema.

How to use Xiaohongshu Scraper

  1. Open the Actor in Apify Console.
  2. Choose a Mode, for example "Search notes by keyword" or "Note comments".
  3. Enter a keyword (modes search and products) or paste links or 24-character IDs into the matching list (notes, creators, products or topics).
  4. Set Max results. In comments mode, tick Include replies if you want replies too.
  5. Optionally set a maximum cost per run in the run options, then click Start.
  6. Open the dataset when the run finishes. Use the Notes, Comments, Creators, Products or Product reviews view and export to JSON, CSV or Excel, or read it via the API.

Input

FieldTypeRequiredWhat it doesDefault
modestringRequiredWhat to scrape: search, note, comments, user, products, reviews or topicsearch
keywordstringOptionalSearch keyword for modes search and products. Chinese keywords return the best results咖啡
notesarray of stringsOptionalNote links or 24-character note IDs for modes note and comments. xhslink.com share links also worknone
usersarray of stringsOptionalProfile links or 24-character user IDs for mode usernone
productsarray of stringsOptionalProduct links or 24-character product IDs for mode reviews. Product IDs are returned by mode productsnone
topicsarray of stringsOptionalTopic page links or 24-character topic page IDs for mode topicnone
includeRepliesbooleanOptionalComments mode: also return the replies shown under each comment. Each reply is billed like a commentfalse
maxResultsintegerOptionalMaximum number of items in total for the run (1-5000). You are charged per item returned20

Search notes by keyword:

{ "mode": "search", "keyword": "咖啡", "maxResults": 40 }

Note details:

{ "mode": "note", "notes": ["https://www.xiaohongshu.com/explore/6aa72fd3000000002802c3f4"] }

Comments with replies:

{ "mode": "comments", "notes": ["6aa72fd3000000002802c3f4"], "includeReplies": true, "maxResults": 100 }

Creator profile and recent notes:

{ "mode": "user", "users": ["https://www.xiaohongshu.com/user/profile/63ebbadf00000000260055d5"], "maxResults": 30 }

Product search:

{ "mode": "products", "keyword": "手机壳", "maxResults": 40 }

Product reviews:

{ "mode": "reviews", "products": ["https://www.xiaohongshu.com/goods-detail/6a29427165e82f000132091b"], "maxResults": 60 }

Notes under a topic:

{ "mode": "topic", "topics": ["https://www.xiaohongshu.com/page/topics/5c1cc866febed9000184b7c1"], "maxResults": 40 }

Output example

The values below are illustrative samples.

Note item (search, creator list or topic). A noteDetail item from mode note has the same fields, and there authorIpLocation is usually filled:

{
"type": "note",
"noteId": "6aa72fd3000000002802c3f4",
"url": "https://www.xiaohongshu.com/explore/6aa72fd3000000002802c3f4",
"noteType": "image",
"title": "Example title",
"description": "Example description",
"authorName": "ExampleCreator",
"authorId": "63ebbadf00000000260055d5",
"authorRedId": "7494918398",
"authorAvatar": "https://sns-avatar-qc.xhscdn.com/avatar/example",
"authorIpLocation": null,
"authorVerified": false,
"authorUrl": "https://www.xiaohongshu.com/user/profile/63ebbadf00000000260055d5",
"publishedAt": "2026-09-14T10:00:51Z",
"likes": 1658,
"collects": 527,
"comments": 131,
"shares": 306,
"coverUrl": "https://example.com/cover.webp",
"imageCount": 9,
"durationSeconds": null,
"hashtags": []
}

Comment item (a reply would have parentCommentId set):

{
"type": "comment",
"noteId": "6aa72fd3000000002802c3f4",
"commentId": "6ab0c1e2000000001f00a3b7",
"parentCommentId": null,
"text": "Example comment text",
"likes": 42,
"replyCount": 3,
"publishedAt": "2026-09-15T08:21:10Z",
"authorName": "ExampleUser",
"authorId": "5f1a2b3c000000000101d2e4",
"authorRedId": "1234567890",
"authorAvatar": "https://sns-avatar-qc.xhscdn.com/avatar/example2",
"authorIpLocation": "Shanghai"
}

Creator profile item:

{
"type": "user",
"userId": "63ebbadf00000000260055d5",
"redId": "7494918398",
"nickname": "ExampleCreator",
"url": "https://www.xiaohongshu.com/user/profile/63ebbadf00000000260055d5",
"bio": "Example bio",
"avatarUrl": "https://sns-avatar-qc.xhscdn.com/avatar/example",
"gender": "female",
"ipLocation": null,
"location": null,
"verified": false,
"verifyContent": null,
"followers": 12800,
"following": 210,
"noteCount": 356,
"likesReceived": 98500
}

Product item:

{
"type": "product",
"productId": "6a29427165e82f000132091b",
"title": "Example phone case",
"price": 29.9,
"originalPrice": 39.9,
"priceUsd": 4.2,
"soldText": "113.3k+ sold",
"shopName": "Example Shop",
"shopId": "5e8f0a1b2c3d4e000123abcd",
"shopType": null,
"shopAvatar": "https://example.com/shop-avatar.jpg",
"inStock": true,
"imageUrl": "https://example.com/product.jpg",
"url": "https://www.xiaohongshu.com/goods-detail/6a29427165e82f000132091b"
}

Review item:

{
"type": "review",
"reviewId": "6a3b5c7d000000000e00f1a2",
"productId": "6a29427165e82f000132091b",
"text": "Example review text",
"rating": 5,
"logisticsRating": 5,
"serviceRating": 4,
"likes": 12,
"replyCount": 0,
"publishedAtText": "06-18",
"imageUrls": ["https://example.com/review-photo.jpg"],
"reviewTags": ["good grip"],
"buyerTags": ["repeat purchase"],
"variants": ["Model: iPhone 17"],
"authorName": "ExampleBuyer",
"authorId": "5d6e7f80000000000100a9b8",
"authorAvatar": "https://sns-avatar-qc.xhscdn.com/avatar/example3"
}

How much does it cost?

The Actor uses pay-per-event pricing: a small start fee per run plus a fee per item returned. Prices depend on your Apify plan tier.

EventWhat it coversBronzeSilverGold, Platinum, Diamond
Run startcharged once per run, when the first request to the data source succeeds$0.01$0.01$0.01
Resultone note from a search, creator list or topic, one comment or reply, one product or one review$0.0046$0.0042$0.0038
Detailone full note from mode note$0.0184$0.0166$0.015
Profileone creator profile$0.0184$0.0166$0.015

Worked examples:

  • 100 search notes or comments on Bronze: $0.01 + 100 x $0.0046 = about $0.47. On Gold or higher: $0.01 + 100 x $0.0038 = about $0.39.
  • 10 note details on Bronze: $0.01 + 10 x $0.0184 = about $0.19.

On the free Apify plan, every run returns a sample dataset: a real result of this Actor's prefilled input, captured on the date shown in the run status, so you can see exactly what the output looks like. Your own input is not used and nothing is charged. To run your own searches, use any paid Apify plan.

The run-start fee is charged once per run, when the first request to the data source succeeds, even if that request returns nothing and the run ends with few or no items. It is not charged when the data source fails from the start or rejects the IDs (for example, when every note or creator ID you give is invalid), or when the spending limit cannot cover it. Items are charged only when they are actually returned. Set a maximum cost per run in the run options and the Actor stops when it is reached.

Use cases

  • Product and trend research: see what Chinese consumers search for, save and recommend in beauty, food, travel and fashion, using likes, collects and shares per note.
  • Influencer marketing: compare creators by followers, likesReceived and the engagement on their recent notes.
  • Brand monitoring: search notes that mention your brand, then pull the comments and replies, with the commenter's authorIpLocation where shown.
  • E-commerce research: compare shop products by price, originalPrice and soldText, then read buyer reviews with star, delivery and service ratings.
  • Topic tracking: follow the notes posted under a topic page to see what is new or popular.
  • AI and NLP datasets: collect Chinese consumer reviews and comments.

Integrations and API

Like any Apify Actor, you can start runs through the Apify API, run them on a schedule, trigger webhooks when a run finishes, and connect the results to integrations such as Zapier, Make and Google Sheets. It also works with AI agents through the Apify MCP server.

Python example with apify-client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("clover_folktale/xiaohongshu-scraper").call(run_input={
"mode": "comments",
"notes": ["6aa72fd3000000002802c3f4"],
"includeReplies": True,
"maxResults": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Another Python example: rednote_search.py.

Tips and limits

  • maxResults is the total number of items for the whole run, across all inputs. The run stops as soon as it is reached, or when the spending limit you set in the run options is used up.
  • Free plan. Every run on the free Apify plan returns a stored sample dataset (a real result of the prefilled input); your own input is not used and nothing is charged. Use any paid Apify plan to run your own searches.
  • xhslink.com share links are accepted as well as full links and 24-character IDs.
  • Chinese keywords return the best results in modes search and products.
  • With "includeReplies": true in comments mode, the replies the platform shows under each comment are returned right after their comment, with parentCommentId set. Replies are billed like comments and count toward maxResults; long reply threads may be partial.
  • Product and topic IDs: product IDs come from mode products (the productId field, also at the end of the url). A topic page ID is the 24-character ID in a topic page link, xiaohongshu.com/page/topics/
  • Hashtags come from the note's topic tags (parsed from the text in search and creator lists).
  • Video duration: durationSeconds is set for video notes in search and creator lists where available; the detail record may leave it empty for video notes. Image notes never have one.

Fields that are often empty:

  • IP location: Xiaohongshu doesn't return an IP location for every item. Comments on older notes often come back without one, and search and topic results usually don't include it. Notes from creator lists sometimes miss it (about 4 in 9 in our test). Mode note and comments mode are the reliable source.
  • User profile: bio and location are empty when the account has not filled them in (common for brand accounts); ipLocation is usually not returned for profiles.
  • Topic notes: authorRedId, authorIpLocation, authorVerified and durationSeconds are not returned by the topic feed and are null.
  • Products: soldText is empty for items without sales yet; originalPrice equals price or is missing when there is no discount.
  • Reviews: publishedAtText is the date as the platform shows it, without a year. text can be empty for rating-only reviews, and imageUrls is [] for reviews without photos.

FAQ

Do I need a Xiaohongshu account or cookies? No. No login, cookies, proxies or Chinese-language skills are needed.

Is it legal, and does it collect personal data? The Actor only returns publicly visible information. That includes the public profile of users who appear in the results (user ID, RED ID, avatar, IP location, gender and verification, as published on the platform). Private messages and anything not publicly visible are never collected. Bios are returned as published, including any business contact info the creator put there. You are responsible for using the data in line with applicable laws and Xiaohongshu's terms.

How fresh is the data? The data is collected when you start a run, so counts such as likes and followers reflect that moment. Schedule runs if you want to track changes over time.

Why is IP location or another field empty? The platform does not return every field for every item. In those cases the field is null (or [] for list fields): that's the platform's data, not a failed run. See the list under Tips and limits.

How many results can I get? Up to 5,000 items per run with maxResults.

Why is a note detail priced higher than a search result? A detail needs its own lookup per note, while list pages return many notes at once.

Can I schedule runs, use the API and export the data? Yes. Use the Apify API, schedules, webhooks and integrations, and export the dataset as JSON, CSV or Excel, or read it via API.

Something looks wrong or a field is empty. What should I do? Open an issue on the Actor page with the run link; the Actor is monitored daily and fixed quickly.

More tools from the same developer