Why ChatGPT and Claude can't open Xiaohongshu or Douyin links — and what works
Short answer: when an AI assistant "opens" a link, a server fetches the page for it. Xiaohongshu answers that kind of request with an "open the app" or login page, Douyin's web API refuses requests it did not sign itself, and a video's words are in its speech and on-screen text, which are not in the page at all. So the assistant either says it cannot open the link or guesses from the title. The fix is to turn the post into text first and hand that text to the AI.
Disclosure: LinkDigest, used below, is the author's own service.
What the assistant actually receives
| You paste | What a server fetch gets back | What is missing |
|---|---|---|
| A Xiaohongshu note (xiaohongshu.com, xhslink.com) | Often a shell page asking you to open the app, or a login page | The note's text, the words written on its images, the comments |
| A Douyin video (douyin.com, v.douyin.com) | Douyin's web API wants a signature its own app computes; a request from a server is refused (403) |
The spoken script, the on-screen text, the caption |
| Any short video | At best the title and a thumbnail | Everything said and shown in the video |
A WeChat article, long form (mp.weixin.qq.com/s?__biz=…) |
Sometimes a human-verification page | The article — the short form mp.weixin.qq.com/s/… usually reads |
None of this means your link is broken. The page simply is not served to a robot, and for video the content was never in the page.
Three ways that work
1. Paste the link, copy the text. Open linkdigest.dev (中文: linkdigest.dev/zh), paste a Xiaohongshu or Douyin link — or the whole share text the app copies — and you get the note's text, the text on every image, the video's transcript with times, the on-screen text and the top comments. Copy it into ChatGPT and ask for the summary, the rewrite or the breakdown you wanted. One read works without an account.
2. Let the assistant read it itself (MCP). In Claude Code, Cursor, Cherry Studio and other MCP clients, add LinkDigest once:
claude mcp add --transport http linkdigest https://linkdigest.dev/mcp \
--header "Authorization: Bearer ld_live_..."
From then on, paste a link in the chat and the assistant calls digest_url to read it before it answers. search_links finds posts by topic first, so "find ten Xiaohongshu notes about Penang cafés and compare them" is one request.
3. From your own code (REST).
curl -X POST https://linkdigest.dev/api/v1/digest \
-H "Authorization: Bearer ld_live_..." \
-H "Content-Type: application/json" \
-d '{"url": "https://v.douyin.com/XXXXXXX/"}'
It returns JSON: transcript with times, on-screen text, image OCR, caption, stats, key points — each with a quote checked word for word against the post — and a receipt of what was and was not read.
How it reads what a plain fetch cannot
- Xiaohongshu: the note's public share page, read in full — the text, every image described and its words read, the top comments the page itself carries. No Xiaohongshu account or cookie of yours is used. (Both share-link domains work — one of them fails silently in most tools.)
- Douyin: through the embed player Douyin publishes for other websites, the same surface an embedding site uses. When the player declines a particular video, the answer says so plainly, nothing is charged, and it names what still works (upload the saved file, or read the tab you are watching with the browser extension).
- Video: the audio is transcribed and the frames are read for on-screen text, so a recipe whose steps exist only as captions still comes back as steps.
FAQ
Is it my link? Almost never. If the post is public and plays in the app, the problem is the fetch, not the link.
Do I need a Xiaohongshu or Douyin account? No, and none is ever asked for. Private, deleted and login-only posts cannot be read, and a read that fails is not charged.
Does it work in Chinese? Yes — the output keeps the post's own language, and a translation can be added beside it.
Can I try it before signing up? Yes: one read from the box, no account. Signing up adds free credits with no card.
在中文里读这篇:为什么 ChatGPT、Claude 打不开小红书、抖音链接?