LinkDigest ·

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 (or search_links) finds public notes the web has indexed — not the in-app search — and digest: true reads them.
  • Compare a batch: up to 20 links in compare_links, or a batch with synthesis: true, return one page: shared themes, hooks, formats, reader concerns, each with its source.
  • Consumer insight: insight: true adds 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_token as 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.


This is the write-up behind LinkDigest, which does the above as a hosted service — with an MCP server for Claude Code and Cursor, a REST API, and 10 free credits to try it.