Rednote (Xiaohongshu) Posts Scraper avatar

Rednote (Xiaohongshu) Posts Scraper

Pricing

from $15.00 / 1,000 post scrapeds

Go to Apify Store
Rednote (Xiaohongshu) Posts Scraper

Rednote (Xiaohongshu) Posts Scraper

Scrape all posts from Rednote (Xiaohongshu) user profiles — titles, cover images, likes, post type. No login required. Pay per result.

Pricing

from $15.00 / 1,000 post scrapeds

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Rednote (Xiaohongshu) Posts Scraper — User Posts, Media & Engagement (2026)

Extract all posts from Rednote (Xiaohongshu / 小红书) user profiles — post titles, cover images, video/image type, like counts, note IDs, and user info. No login required. Browser-based extraction with anti-detection stealth. Guaranteed to work — backed by residential proxies and stealth browser automation.

Scrape posts from any Rednote user profile — titles, cover images, post type, likes, and metadata. Works on China's #1 lifestyle platform with 300M+ users. Stealth browser scraping, residential proxies, no login needed. Guaranteed to work or you don't pay.

 

ParseBird Rednote Suite   •  Xiaohongshu Data Extraction
Profile
Bio, followers & stats
Posts
➤ You are here

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Apify Actor: parsebird/rednote-posts-scraper — extracts posts from Rednote (Xiaohongshu / 小红书) user profiles. $0.015/profile ($15/1000). Call via ApifyClient: client.actor("parsebird/rednote-posts-scraper").call(run_input={"profileUrls": [{"url": "https://www.xiaohongshu.com/user/profile/639946a0000000002702b173"}], "maxItems": 20}). Inputs: profileUrls (array of {"url":"..."}, Xiaohongshu profile URLs, required), maxItems (integer, default 20, max posts per profile), proxyConfiguration (object, default residential). Output: dataset with profileUrl, postData (postUrl, type, displayTitle, user, interactInfo, cover, noteId, xsecToken), scrapedAt. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations

What does Rednote Posts Scraper do?

This Actor extracts all publicly visible posts from Rednote (Xiaohongshu / 小红书 / Little Red Book) user profile pages. You provide profile URLs — the scraper returns a list of posts with titles, cover images, engagement metrics, and metadata.

What you get for each post:

  • Post info — title, note ID, post URL, type (video/image)
  • User info — nickname, avatar URL, user ID
  • Engagement — like count, sticky status
  • Media — cover image URLs (preview + default), dimensions
  • Metadata — xsec token, profile URL, scrape timestamp

Guaranteed to work — unlike cheaper alternatives:

Most Rednote scrapers on the market are broken. They use datacenter proxies that get blocked instantly, or skip the stealth measures needed to bypass Xiaohongshu's aggressive anti-bot system. This scraper is different:

  • Residential proxies included — every request goes through real residential IPs, not datacenter IPs that Rednote blocks on sight
  • Stealth browser automation — rebrowser-playwright with fingerprint masking, not detectable as a bot
  • Multi-layer extraction — Vue state unwrapping and HTML source parsing ensure data is captured even when one method is blocked
  • Automatic retry with backoff — transient failures are handled without manual intervention
  • Actively maintained — we monitor Xiaohongshu's anti-bot changes and update the scraper accordingly

Input parameters

ParameterTypeRequiredDefaultDescription
profileUrlsarrayYesList of Xiaohongshu profile URLs to scrape posts from
maxItemsintegerNo20Maximum number of posts to scrape per profile (max 200)
proxyConfigurationobjectNoResidentialProxy settings — residential proxies included by default

Output example

{
"profileUrl": "https://www.xiaohongshu.com/user/profile/639946a0000000002702b173",
"postData": {
"postUrl": "https://www.xiaohongshu.com/explore/6789fdb1000000001c00d095?xsec_token=ABXpV9UyO95kLI6G51DaZsNZIBb3QfMn584SISV_F2QiE=&xsec_source=pc_user",
"type": "video",
"displayTitle": "只有穷人冬天的被窝才会噼里啪啦的",
"user": {
"nickName": "显眼包小涛",
"avatar": "https://sns-avatar-qc.xhscdn.com/avatar/63994933d9b187973501cb7a.jpg",
"userId": "639946a0000000002702b173",
"nickname": "显眼包小涛"
},
"interactInfo": {
"liked": false,
"likedCount": "8794",
"sticky": false
},
"cover": {
"width": 694,
"url": "",
"traceId": "",
"infoList": [
{
"imageScene": "WB_PRV",
"url": "http://sns-webpic-qc.xhscdn.com/202501180028/e8da355f0f66b93801735d44d2403f93/spectrum/1040g0k031coeec8616005osp8qg9tcbj7tkmhh8!nc_n_webp_prv_1"
},
{
"imageScene": "WB_DFT",
"url": "http://sns-webpic-qc.xhscdn.com/202501180028/9a9667b8e0ea82be10f388b8c279d9d4/spectrum/1040g0k031coeec8616005osp8qg9tcbj7tkmhh8!nc_n_webp_mw_1"
}
],
"urlPre": "http://sns-webpic-qc.xhscdn.com/202501180028/e8da355f0f66b93801735d44d2403f93/spectrum/1040g0k031coeec8616005osp8qg9tcbj7tkmhh8!nc_n_webp_prv_1",
"urlDefault": "http://sns-webpic-qc.xhscdn.com/202501180028/9a9667b8e0ea82be10f388b8c279d9d4/spectrum/1040g0k031coeec8616005osp8qg9tcbj7tkmhh8!nc_n_webp_mw_1",
"fileId": "",
"height": 925
},
"noteId": "6789fdb1000000001c00d095",
"xsecToken": "ABXpV9UyO95kLI6G51DaZsNZIBb3QfMn584SISV_F2QiE="
},
"scrapedAt": "2025-01-17T16:28:25.191Z"
}

How to use via API — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("parsebird/rednote-posts-scraper").call(run_input={
"profileUrls": [
{"url": "https://www.xiaohongshu.com/user/profile/639946a0000000002702b173"},
],
"maxItems": 20,
})
for post in client.dataset(run["defaultDatasetId"]).iterate_items():
data = post.get("postData", {})
print(f"{data.get('displayTitle')} — {data.get('interactInfo', {}).get('likedCount')} likes")

How to use via API — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('parsebird/rednote-posts-scraper').call({
profileUrls: [
{ url: 'https://www.xiaohongshu.com/user/profile/639946a0000000002702b173' },
],
maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(post => {
const data = post.postData;
console.log(`${data?.displayTitle}${data?.interactInfo?.likedCount} likes (${data?.type})`);
});

How it works

  1. Input — You provide one or more Rednote (Xiaohongshu) user profile URLs
  2. Browser launch — A stealth Chromium browser launches with residential proxy and fingerprint masking
  3. Navigation — The browser visits each profile page, waiting for the Vue.js SPA to render
  4. Data extraction — Posts are extracted from window.__INITIAL_STATE__ with Vue reactive unwrapping and HTML source parsing fallback
  5. Anti-detection — Random delays, realistic browser fingerprints, and proxy rotation prevent blocking
  6. Output — Structured post data is pushed to the dataset in JSON format

Pricing

This Actor uses Pay-Per-Event pricing — you pay per post scraped. Residential proxy costs are included.

Price per postPrice per 1,000
$0.015$15.00

Typical costs:

  • 20 posts (1 profile): ~$0.30
  • 100 posts (5 profiles): ~$1.50
  • 1,000 posts: ~$15.00

Why this price? Every request uses premium residential proxy bandwidth to bypass Rednote's aggressive IP blocking. Cheaper scrapers skip this step and fail. Our price includes the proxy cost and guarantees reliable extraction.

Use cases

  • Influencer analysis — Analyze a creator's content strategy, posting frequency, and engagement patterns
  • Competitor monitoring — Track what content competitors are publishing and how it performs
  • Content research — Study trending content formats, titles, and visual styles on Rednote
  • Brand monitoring — Monitor mentions and content from brand ambassadors or partners
  • Academic research — Study social media content patterns and engagement dynamics

FAQ

Q: Does it require login? A: No. This scraper extracts publicly visible posts from user profiles without any login or authentication.

Q: How many posts can I get per profile? A: Typically 20-30 posts are visible on a user's profile page via SSR. The maxItems parameter limits how many are returned per profile.

Q: What data is included for each post? A: Post title, type (video/image), cover image URLs with dimensions, like count, note ID, xsec token, and user info (nickname, avatar, user ID).

Q: Why is it more expensive than other Rednote scrapers? A: Every request uses premium residential proxy bandwidth — the only reliable way to access Rednote data. Cheaper scrapers use datacenter proxies that get blocked instantly, resulting in failed runs.

Q: How fast is it? A: ~3-5 profiles per minute. Intentional delays (3-8 seconds) between profiles prevent blocking.

Q: What is Rednote / Xiaohongshu? A: Xiaohongshu (小红书), also known as Rednote or Little Red Book, is China's leading lifestyle and social commerce platform with 300M+ monthly active users.

Q: Is scraping Rednote legal? A: This Actor accesses only publicly visible content — the same data any browser user can see. No login or authentication is used. Consult legal counsel for your specific use case and jurisdiction.

Disclaimer

This Actor extracts publicly available data from Rednote (Xiaohongshu). It does not bypass any authentication or access private content. Users are responsible for ensuring their use of extracted data complies with applicable laws and Xiaohongshu's Terms of Service. This tool is provided as-is without guarantees of continuous availability, as website changes may affect functionality.