compare
The link Firecrawl can't read
For Xiaohongshu and Douyin, Firecrawl and Jina Reader return the app-download shell, not the note. LinkDigest reads the note: caption, every image described and OCR'd, and a transcript for video. Dated comparison, sourced from their public docs.
Competitor rows from their public docs on 2026-09-12; tell us if something changed. Firecrawl and Jina Reader behaviour on Xiaohongshu and Douyin observed against real links; community skills chain Firecrawl → Jina → Playwright for these domains. Other rows: their public docs. LinkDigest rows are computed from the same constants as the pricing page and the coverage table. “—” means not stated in what we checked.
| Feature | LinkDigest | Firecrawl and Jina Reader |
|---|---|---|
| A Xiaohongshu or Douyin link | Yes — Xiaohongshu image and video notes; Douyin video and 图文 image notes. | Returns the app-download shell — a title and an empty <div id="app">. Community skills chain Firecrawl → Jina → Playwright to get past it. |
| OCR of note images | Yes — every image described and read for on-screen text; frames sampled from video. | Not applicable — the page they receive has no images in it. |
| Transcript (ASR) | Yes — native captions where a platform publishes them, otherwise SenseVoice ASR with timecodes. | — |
| Cookies or login from you | Xiaohongshu: no login, no cookies. Douyin runs on our session; you supply nothing. | — |
| degraded field | Yes — a `degraded` array names what did not read fully. | No — the shell comes back as a successful scrape. |
| Failed reads free | Yes — a digest that read nothing is not charged. | — |
| Cached links free | Yes — anything anyone already digested is free. | — |
| Price: a typical image note | 1 credit ≈ $0.018 ($9 for 500 credits a month) | — |
| Price: a 10-minute video | 21 credits ≈ $0.378 (2 per started minute, plus the base credit) | — |
Where Firecrawl and Jina Reader is better
- The open web. For an ordinary article or a docs site, a general-purpose reader is the right tool, and LinkDigest's web-page path is a plain readability pass, not a crawler.
- Crawling: sitemaps, link-following, whole-site extraction. LinkDigest reads one post per call.
- Breadth of output formats and integrations. LinkDigest returns one schema as Markdown or JSON.
Where LinkDigest is better
- Reading the note at all. A Xiaohongshu note fetched from a server, scripts stripped, is 264 characters of DOM. The content is in the images and the video, and a text scraper — however good — has nothing to scrape.
- Every image described and OCR'd: the 17-image example note came back with 381 on-screen text fragments and 13 key points.
- A transcript with timecodes for video notes and Douyin, from SenseVoice, which is markedly better on Mandarin than Whisper-class models.
- Saying so when it fails: the shell is never returned as a successful digest. A read that got nothing is marked `degraded`, not charged, and retried within the hour.
try the difference
One call, on a real link
curl -X POST https://linkdigest.dev/api/v1/digest \
-H "Authorization: Bearer ld_live_..." \
-H "Content-Type: application/json" \
-d '{"url": "https://xhslink.cn/o/...", "format": "markdown"}'