{"slug": "linkdigest-turn-xiaohongshu-douyin-tiktok-youtube-and-x-links-into-text-your-can", "title": "LinkDigest: turn Xiaohongshu, Douyin, TikTok, YouTube and X links into text your agent can read", "summary": "A developer built LinkDigest, an API and MCP server that converts links from Xiaohongshu, Douyin, TikTok, YouTube and X into agent-readable text, extracting video transcripts, on-screen text, image descriptions and key points that plain HTML fetches discard. Measured runs show a 17-image Xiaohongshu note returning 381 on-screen text fragments and 13 key points in 119 seconds, while a cached YouTube talk returned 426 transcript segments in about a second. The service is listed in the official MCP registry as dev.linkdigest/linkdigest and offers three free digests before a $9 monthly plan for 500 credits.", "body_md": "*I build [LinkDigest](https://linkdigest.dev/?ref=devto). Every number below is from a measured run recorded in the project log; nothing is projected.*\n\nAgents are good at reading and bad at opening. Give Claude Code, Cursor, or a Dify workflow a link from Xiaohongshu, Douyin, TikTok, YouTube or X and the usual tool — fetch the URL, parse the HTML — returns one of three things: an app-download shell, a login wall, or a page whose body is 264 characters of navigation because the post itself lives in a JSON blob or in a video. The agent reports \"nothing useful here\" and it is telling the truth about the HTML.\n\nThe substance of these posts is not text. It is speech in a video, words printed on images, screenshots of code, a recipe laid out in a photo. A plain fetch throws all of that away, and a share link from the app carries a token that expires in a few weeks, so even the HTML you do get is different depending on which link and which user-agent you used.\n\nLinkDigest does the reading on its own servers and hands back text. One call:\n\n```\ncurl -X POST https://linkdigest.dev/api/v1/digest \\\n  -H \"Authorization: Bearer $LINKDIGEST_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://www.youtube.com/watch?v=CEvIs9y1uog\", \"format\": \"json\"}'\n```\n\nreturns the post's transcript with timecodes, every fragment of on-screen text, a description and OCR of each image, the caption and metadata, and a list of key points — as JSON, or as Markdown if you ask for it. Long media answers in two steps: a `202` with a job id, then the digest when it is done.\n\nMeasured, not estimated:\n\n| post | what came back | time | \n|---|---|---|\n| a 17-image Xiaohongshu note | 17 images described and read, 381 on-screen text fragments, 13 key points | 119 s | \n| a Xiaohongshu video note | ASR transcript, 56 on-screen text fragments, 12 key points | ~4 min | \n| a YouTube talk (native captions) | 426 transcript segments, 190 on-screen text fragments | ~1 s cached | \n| a two-photo X post | both photos described, 3 text fragments | ~20 s | \n\n```\nclaude mcp add --transport http linkdigest https://linkdigest.dev/mcp \\\n  --header \"Authorization: Bearer $LINKDIGEST_KEY\"\n```\n\nOne tool, `digest_url(url, format)`. The tool description tells the model exactly when to reach for it and which platforms are out, so an agent does not confidently hand you a failure. It is in the official MCP registry as `dev.linkdigest/linkdigest`, on Apify as three Actors, and submitted to the Dify marketplace.\n\nThis is the part I would want to know before pasting a key:\n\n`degraded` field. A digest that read nothing is free.\nThree digests free, no card. Then $9 a month for 500 credits — a typical post is 1 credit, video 2 per started minute, and links anyone has already digested are free forever. [https://linkdigest.dev/pricing](https://linkdigest.dev/pricing?ref=devto)\n\nI kept pasting Xiaohongshu and Douyin links into agents and watching them fail, and the failures were silent — a confident summary of a login page. Two of the bugs I hit while building this are written up separately: [share links have two domains and one of them fails silently](https://linkdigest.dev/blog/xiaohongshu-share-links-have-two-domains?ref=devto), and [what it actually takes to read a Xiaohongshu post from a server](https://linkdigest.dev/blog/reading-xiaohongshu-from-a-server?ref=devto).\n\nIf you try it and something reads thin, reply here — I fix these the same day.", "url": "https://wpnews.pro/news/linkdigest-turn-xiaohongshu-douyin-tiktok-youtube-and-x-links-into-text-your-can", "canonical_source": "https://dev.to/programming_withjackche/linkdigest-turn-xiaohongshu-douyin-tiktok-youtube-and-x-links-into-text-your-agent-can-read-ip", "published_at": "2026-09-12 02:42:47+00:00", "updated_at": "2026-09-12 03:26:42.134341+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["LinkDigest", "Xiaohongshu", "Douyin", "TikTok", "YouTube", "X", "Claude Code", "Cursor"], "alternates": {"html": "https://wpnews.pro/news/linkdigest-turn-xiaohongshu-douyin-tiktok-youtube-and-x-links-into-text-your-can", "markdown": "https://wpnews.pro/news/linkdigest-turn-xiaohongshu-douyin-tiktok-youtube-and-x-links-into-text-your-can.md", "text": "https://wpnews.pro/news/linkdigest-turn-xiaohongshu-douyin-tiktok-youtube-and-x-links-into-text-your-can.txt", "jsonld": "https://wpnews.pro/news/linkdigest-turn-xiaohongshu-douyin-tiktok-youtube-and-x-links-into-text-your-can.jsonld"}}