RedNote Scraper - Xiaohongshu Notes & Engagement avatar

RedNote Scraper - Xiaohongshu Notes & Engagement

Pricing

from $0.90 / 1,000 note returneds

Go to Apify Store
RedNote Scraper - Xiaohongshu Notes & Engagement

RedNote Scraper - Xiaohongshu Notes & Engagement

Scrape public RedNote (Xiaohongshu) notes. RedNote writes 13,000 as 1.3万, because 万 means ten thousand. Rows here carry the real numbers. You get the description, author, likes, collects, comment count, shares, publish time and images. No login, no cookies. $0.90 per 1,000 notes.

Pricing

from $0.90 / 1,000 note returneds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

RedNote Scraper: public Xiaohongshu notes with real like and collect counts

Paste RedNote note links and get one row per note: title, full description with its hashtags, the author, likes, collects, comments, shares, publish time and the image URLs. Leave the links empty and it reads the public explore feed instead.

The catch is the link itself. A RedNote URL only resolves with the xsec_token it was shared with, so paste the whole thing, query string and all. Those tokens go stale, which is why a list saved last month comes back empty.

InputNote URLs with their share token, or nothing at all
OutputOne row per note
Ceiling200 notes per run
Account neededNone, no login and no cookies
Price$0.90 per 1,000 notes, flat on every plan

📕 What RedNote Scraper does

Two ways in.

Note URLs. Paste the full link, including ?xsec_token=.... Copy it from the share sheet or straight out of the address bar; a link stripped back to the note id will not open.

The explore feed. Leave Note URLs empty and it reads RedNote's public explore feed and returns what is on it. This is switched on by default, and it is also where fresh, working note tokens come from. The feed is different every time you look at it, so two runs an hour apart will not agree.

Counts come back as numbers. RedNote writes 13,000 as 1.3万, because 万 means ten thousand, and 250 million as 2.5亿. Rows here carry 13000 and 250000000. Where RedNote only publishes a bucket like 1千+, you get the floor of that bucket, 1000.

📥 What you give it

{
"noteUrls": [
"https://www.xiaohongshu.com/explore/6a72ba26000000003302db55?xsec_token=ABgKYGq72MJJJWO8OVQh3Mtv79Mx-v2eHs6IaBJtUp2Ow=&xsec_source=pc_feed"
],
"maxItems": 50
}
FieldDefaultWhat it is
noteUrlsemptyFull note links, one per line, each with its own xsec_token.
includeExploreFeedtrueRead the public explore feed. Leave it on when you have no links; it is also how working tokens are found.
maxItems20How many notes to return, 1 to 200. You are charged per note returned, so this is your spend cap.
proxyConfigurationleave it aloneOptional. Only fill this in if you want the run to go out through your own servers.

Run it with the URL box empty and Include explore feed left on, and it reads the feed and returns notes from it. Switch that off with no URLs and you get one labelled sample row instead.

📤 What you get back

A real note row from a recent run. The image URL is trimmed here.

{
"ok": true,
"noteId": "6a72ba26000000003302db55",
"url": "https://www.xiaohongshu.com/explore/6a72ba26000000003302db55?xsec_token=ABgKYGq72MJ...&xsec_source=pc_feed",
"title": "儿子吃过一次后…每天点名要吃它!",
"description": "#好视频扶持计划[话题]# #大人小孩都爱吃[话题]# #今天早餐长这样[话题]# #营养早餐[话题]# #美食教程[话题]# ...",
"authorName": "暖暖每日早餐",
"likedCount": 4274,
"collectedCount": 6529,
"commentCount": 47,
"shareCount": 1529,
"publishedAt": "2026-08-05T04:20:54.000Z",
"images": ["http://sns-webpic-qc.xhscdn.com/202609201505/3a69f8b522b8f7c8.../1040g008323fnaa4g...webp_3"],
"source": "xiaohongshu.com",
"scrapedAt": "2026-09-20T07:05:30.448Z"
}

The description on that row is a hashtag block, cut short here. Many RedNote notes are written that way, with the whole caption living in the tags.

FieldWhat it is
noteIdRedNote's own id. It is the key to join on between runs.
title, descriptionThe headline and the caption, exactly as posted, hashtags included.
likedCount, collectedCountLikes and saves as real integers. A collect is RedNote's save-for-later, and on this platform it often runs ahead of likes.
commentCount, shareCountThe counters on the note. null when RedNote does not publish one.
publishedAtISO timestamp. null when the note does not carry a usable one.
imagesUp to 20 image URLs. The files themselves stay on RedNote's servers.
urlThe exact link that was fetched, token included, so you can reopen it.

🧾 Reading the output

Three kinds of row can land in your dataset.

RowHow to spot it
A noteok is true and it has a noteId
The sample rowIt carries _sample
A diagnosticIt carries _diagnostic and an errorCode

Diagnostic rows and the sample row are never charged.

CodeWhat it means
NOT_FOUNDThat note is gone, private, or the link arrived without a working token. The row carries a hint saying which.
NO_RESULTSThe explore feed came back with nothing to read.
BLOCKEDRedNote would not serve that page. Worth one re-run, since the feed changes constantly.
NETWORKRedNote was unreachable.

▶️ How to run it

  1. Open RedNote Scraper and click Try for free.
  2. Paste your note links into Note URLs, each one complete with its ?xsec_token= part.
  3. Set Maximum notes to what you actually want.
  4. Click Start.
  5. Download the dataset as JSON, CSV or Excel, or read it from the Apify API.

To see what the feed is showing right now, skip step 2 and leave Include explore feed on.

💰 How much does it cost?

$0.90 per 1,000 notes. Flat on every Apify plan, no volume tiers.

One row is one note. The sample row and every diagnostic row are not charged, so a link that will not open produces no note row to pay for.

Worth knowing: with Include explore feed left on, a run with no URLs is not an idle run. It reads the feed and returns real notes, and those are charged like any other.

💡 What people use it for

  • Tracking how a product or a brand is being talked about on RedNote, with real numbers instead of 1.3万.
  • Watching what the explore feed pushes over a week, on a schedule.
  • Pulling the hashtag block out of description to see which tags a niche actually uses.
  • Comparing collects against likes, which on RedNote says more about saving intent than a like does.
  • Grabbing image URLs from a set of notes for a mood board or a competitor sweep.

🚧 What it does not do

  • No keyword search. You give it links, or you take what the explore feed offers. There is no search box to query.
  • No comment text. You get commentCount, not what anyone wrote underneath.
  • Links go stale. The xsec_token on a shared URL expires, and an expired link comes back as NOT_FOUND. Re-copy the link rather than re-running the old one.
  • Public notes only. A private or deleted note returns a diagnostic row.
  • An entry that is not a note link is skipped quietly. A profile link or a shortened link produces no row and no warning, so check the count if you get fewer rows than you pasted.
  • The explore feed is not a search result. It is whatever RedNote is showing, and it changes between runs. Do not expect two runs to overlap.
  • 200 notes per run. Split a bigger job across runs.
  • Bucket counts lose precision. 1千+ becomes 1000, which is the floor of the bucket, not the real figure.

🧭 Which Chinese platform scraper do you need?

If you wantUse
Notes and their engagement on RedNoteThis one
The account behind a note, with followers and recent postsRedNote Profile Scraper
What is trending on Douyin right nowDouyin Hot Search Scraper
Videos, creators and stats on BilibiliBilibili Scraper

❓ Questions people ask

Do I need a RedNote account or a cookie? No. Nothing to log into and nothing to paste.

Why did my saved links return nothing? The token in the URL expired. Copy the links again from RedNote and re-run.

Where do I get links if I have none? Leave the URL box empty. The explore feed returns notes with working links attached, and you can feed those back in.

What is a collect? RedNote's save-for-later. It is a stronger signal than a like on this platform, and collectedCount often runs higher than likedCount.

Can I run it on a schedule? Yes. noteId is stable, so a daily run plus a join on that field gives you an engagement history per note.

Is scraping RedNote legal? These are public notes. Apify's write-up on scraping and the law is a good place to start, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send one of the note links and the run ID. The errorCode and its hint on the diagnostic row usually name the problem on their own.