RedNote Scraper - Xiaohongshu Notes & Engagement
Pricing
from $0.90 / 1,000 note returneds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
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.
| Input | Note URLs with their share token, or nothing at all |
| Output | One row per note |
| Ceiling | 200 notes per run |
| Account needed | None, 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}
| Field | Default | What it is |
|---|---|---|
noteUrls | empty | Full note links, one per line, each with its own xsec_token. |
includeExploreFeed | true | Read the public explore feed. Leave it on when you have no links; it is also how working tokens are found. |
maxItems | 20 | How many notes to return, 1 to 200. You are charged per note returned, so this is your spend cap. |
proxyConfiguration | leave it alone | Optional. 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.
| Field | What it is |
|---|---|
noteId | RedNote's own id. It is the key to join on between runs. |
title, description | The headline and the caption, exactly as posted, hashtags included. |
likedCount, collectedCount | Likes and saves as real integers. A collect is RedNote's save-for-later, and on this platform it often runs ahead of likes. |
commentCount, shareCount | The counters on the note. null when RedNote does not publish one. |
publishedAt | ISO timestamp. null when the note does not carry a usable one. |
images | Up to 20 image URLs. The files themselves stay on RedNote's servers. |
url | The exact link that was fetched, token included, so you can reopen it. |
🧾 Reading the output
Three kinds of row can land in your dataset.
| Row | How to spot it |
|---|---|
| A note | ok is true and it has a noteId |
| The sample row | It carries _sample |
| A diagnostic | It carries _diagnostic and an errorCode |
Diagnostic rows and the sample row are never charged.
| Code | What it means |
|---|---|
NOT_FOUND | That note is gone, private, or the link arrived without a working token. The row carries a hint saying which. |
NO_RESULTS | The explore feed came back with nothing to read. |
BLOCKED | RedNote would not serve that page. Worth one re-run, since the feed changes constantly. |
NETWORK | RedNote was unreachable. |
▶️ How to run it
- Open RedNote Scraper and click Try for free.
- Paste your note links into Note URLs, each one complete with its
?xsec_token=part. - Set Maximum notes to what you actually want.
- Click Start.
- 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
descriptionto 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_tokenon a shared URL expires, and an expired link comes back asNOT_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千+becomes1000, which is the floor of the bucket, not the real figure.
🧭 Which Chinese platform scraper do you need?
| If you want | Use |
|---|---|
| Notes and their engagement on RedNote | This one |
| The account behind a note, with followers and recent posts | RedNote Profile Scraper |
| What is trending on Douyin right now | Douyin Hot Search Scraper |
| Videos, creators and stats on Bilibili | Bilibili 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.