Social URL to LLM Text — Xiaohongshu, Douyin, YouTube, X avatar

Social URL to LLM Text — Xiaohongshu, Douyin, YouTube, X

Pricing

from $20.00 / 1,000 link digesteds

Go to Apify Store
Social URL to LLM Text — Xiaohongshu, Douyin, YouTube, X

Social URL to LLM Text — Xiaohongshu, Douyin, YouTube, X

Turn a Xiaohongshu, Douyin, YouTube or X link into text an LLM can read: transcript, on-screen text, image descriptions, caption and metadata.

Pricing

from $20.00 / 1,000 link digesteds

Rating

5.0

(1)

Developer

Programming with Jack Chew

Programming with Jack Chew

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Social URL to LLM Text

Paste a Xiaohongshu, Douyin, YouTube or X link and get back text a language model can actually read: transcript, on-screen text, image descriptions, caption and metadata.

Official website: linkdigest.dev — powered by LinkDigest, which also offers this as an MCP server and a REST API.

The problem this solves

Fetching a social link yourself returns nothing useful. Share URLs are tokenised (xsec_token, app_code_link), the content lives in video and images rather than HTML, and the server sends an app-download shell or a login wall instead of the post. There is nothing in the page to parse.

$ curl -s 'https://xhslink.com/o/1WiQ1QI6Uc0' | grep -o '<title>.*</title>'
<title>小红书</title>

That is the whole page. No caption, no images, no text.

This Actor returns the post instead:

{
"platform": "douyin",
"author": "逸蒙的赛博空间",
"title": "这只丑萌AI竟然月售100万美金!",
"posted_at": "2026-08-27",
"key_points": [
"该AI产品名为 Tolen,主打「记住你」的核心功能",
"商业模式为订阅制,提供免费体验,付费解锁更长时间的聊天服务"
],
"transcript": [{ "t": 0, "text": "谁能想到,就这么一个丑萌小玩意儿…" }],
"transcript_source": "asr",
"images": [{ "description": "…", "ocr": "…" }],
"ocr_text": ["…"],
"credits": 7
}

Platforms

Every row below was checked against a real post, not a documentation page.

PlatformStatus
Xiaohongshu 小红书Works — including image notes, with every image described and OCR'd
Douyin 抖音Works — video transcribed
YouTubeWorks — native captions where available, ASR otherwise
XWorks
Web pages / articlesWorks
TikTokNot supported. TikTok blocks our servers' IP range
BilibiliNot supported. Returns HTTP 412 to our servers
Instagram, FacebookNot supported

The two unsupported rows are listed on purpose. Finding out after you have wired something in is worse than knowing now.

Input

FieldTypeNotes
urlsarray of stringsRequired. Share links work as-is.
formatjson or markdownjson gives separate fields; markdown gives one ready-to-paste document per link.
maxItemsintegerOptional ceiling so a long list cannot cost more than expected.

Output

One dataset item per link. In json mode:

platform, author, title, posted_at, caption, transcript ({t, text}), ocr_text, images ({description, ocr}), key_points, source_url, transcript_source (native_captions | asr | none), degraded, cached, credits.

A link that cannot be read still produces an item, carrying url and error. Nothing is silently dropped — a short dataset is the worst way to discover that three of your fifty links failed.

Pricing

EventPrice
digest-completed$0.02 per link successfully read
extra-credit$0.01 per credit beyond the first

Credits track the two things that actually cost money: images to describe and minutes of media to transcribe. One base credit covers a typical post and its first six images; each further six images adds one, and each minute of audio or video adds two.

ExamplePrice
A web article or short text post$0.02
A Xiaohongshu note with 17 images$0.04
A 2.5-minute Douyin video$0.08
A 19-minute YouTube video$0.40

A link that fails is never charged. Neither is a run that fails because of a problem on our side.

How long it takes

Real measurements, not estimates:

  • Already-digested link: about 1 second (anything anyone has run before is cached)
  • Xiaohongshu note with images: 1–2 minutes
  • YouTube video with captions: about 2.5 minutes

Links are processed four at a time.

Notes

  • The heavy work runs on our servers, not on Apify. That is deliberate: the platforms above refuse datacenter IP ranges, so fetching from inside a cloud Actor is exactly what does not work.
  • Chinese text is returned as-is, not translated.

Also available at linkdigest.dev

The same service runs at linkdigest.dev, where you can use it three other ways:

  • MCP server — inside Claude Code or Cursor, so an agent can read a link mid-conversation:
    claude mcp add --transport http linkdigest \
    https://linkdigest.dev/mcp \
    --header "Authorization: Bearer ld_live_..."
  • REST APIPOST https://linkdigest.dev/api/v1/digest
  • Web app — paste a link and read the result in the browser

Three digests free, no card. Questions or a link that should work but doesn't: linkdigest.dev.