Xiaohongshu (RedNote) API: note text, image OCR, comments and video transcripts
Short answer: Xiaohongshu (RedNote, 小红书) has no public API for reading notes — its open platforms serve shops, mini-programs and advertisers. To get a note into code or an LLM you read its public share page. LinkDigest does that as one call: send a note link (or the whole share text the app copies) and get back the caption, every image described and its text read, the transcript of a video note, the top comments and the like/collect/comment counts, as JSON or Markdown, with no Xiaohongshu account and no cookies.
Disclosure: LinkDigest is the author's own service.
What comes back
| Field | What it holds |
|---|---|
title, caption, tags, author, posted_at |
The note as posted |
images[] |
Each image described in words, and the text written on it (OCR) — on Xiaohongshu that text is usually the content |
transcript[] |
For a video note: {t, text} segments, t in seconds |
ocr_text / on_screen[] |
Text burned into the video frames, with times |
comments[] |
The top comments the share page shows, with like counts |
stats |
Likes, collects, comments, shares as of the read |
key_points + key_point_support |
Short points, each backed by a quote checked word for word against the note |
coverage |
What was read and what was not (images, seconds, comments) |
One call
curl -X POST https://linkdigest.dev/api/v1/digest \
-H "Authorization: Bearer ld_live_..." \
-H "Content-Type: application/json" \
-d '{"url": "https://www.xiaohongshu.com/discovery/item/...?xsec_token=...", "format": "json"}'
import requests
r = requests.post(
"https://linkdigest.dev/api/v1/digest",
headers={"Authorization": "Bearer ld_live_..."},
json={"url": "http://xhslink.com/a/...", "format": "json"},
).json()
for img in r["images"]:
print(img["ocr"])
Short links (xhslink.com, xhslink.cn), rednote.com and the pasted share text all work. Video notes may return a job id first; collect it with GET /api/v1/digest/{job_id}. For agents, the same read is the digest_url tool of the MCP server at https://linkdigest.dev/mcp (Claude Code, Cursor, Cherry Studio).
More than one note
- Search a topic:
POST /api/v1/search(orsearch_links) finds public notes the web has indexed — not the in-app search — anddigest: truereads them. - Compare a batch: up to 20 links in
compare_links, or a batch withsynthesis: true, return one page: shared themes, hooks, formats, reader concerns, each with its source. - Consumer insight:
insight: trueadds audience, claims, objections, purchase intent, products and prices, and readers' questions, each with a checked quote.
Limits, said plainly
- Use the share link. Xiaohongshu shows a "page not found" screen to a bare note address without its
xsec_tokenas often as not; the link the app's Share button copies carries it. - Some notes are not served at all. Xiaohongshu answers some notes with "当前笔记暂时无法浏览" (this note can't be viewed right now) to every web reader; those are refused and not charged.
- Comments: the top comments on the share page, not the full thread.
- Private and deleted notes cannot be read.
Price
10 free credits on sign-up, no card. A note with up to six images is 1 credit; links anyone has read before are free, and reads that fail are free. Packs are one-time: 50 credits for $1.50 or ¥9.9 by Alipay. More: Xiaohongshu coverage · why ChatGPT can't open these links · the two share-link domains. Details: pricing · docs · Chinese social media API.