Douyin Transcript Scraper — Speech to Text, SRT & VTT
Pricing
Pay per event
Douyin Transcript Scraper — Speech to Text, SRT & VTT
Turn Douyin videos into transcripts: paste URLs, v.douyin.com share links, share text or video ids and get the spoken text, timestamped segments, SRT and WebVTT plus title, author, stats and duration. Works on videos without any subtitle track. Pay per video and per transcribed minute.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
5 hours ago
Last modified
Categories
Share
Paste Douyin links — full URLs, v.douyin.com short links, the whole share text copied from the app, or bare video ids — and get back what is actually said in each video: plain text, timestamped segments, SRT and WebVTT subtitles, plus the video's title, author, engagement stats and duration. No Douyin login, no cookies, nothing to configure.

What it does
- Takes any input shape. A full
douyin.com/video/…URL, a short share link, the entire share blob ("0.71 09/04 … 复制此链接,打开Dou音搜索…") — the actor finds the link inside it — or a 19-digit video id. Up to 200 per run, deduplicated. - Resolves each video and loads its metadata: title, author (nickname, uid), likes, comments, shares, favourites, duration, post date, cover and media links. Two independent data routes back this step, so one blocked lane does not fail your run.
- Transcribes the speech. Native caption tracks are used when the video has one; most Douyin videos don't, so the actor runs AI speech-to-text on the audio. Mandarin and dialects are handled; music-only and silent videos are detected and never billed a transcription minute.
- Returns every format from one pass: plain text, timestamped segments, SRT and WebVTT. Export JSON, CSV or Excel, or pull rows through the API.
Sample output
A real row (CCTV's coverage of the Gyirong port rescue):
{"input": "https://v.douyin.com/mi-Dvafw0HI/","awemeId": "7680748547309915428","url": "https://www.douyin.com/video/7680748547309915428","success": true,"title": "#媒体原创 大型机械已推进至西藏吉隆口岸受灾核心区,现场正加快搜寻失联人员的痕迹。#直击第一线","author": { "nickname": "央视网", "secUid": "MS4wLjABAAAA…" },"stats": { "likes": 15087, "comments": 79, "shares": 272, "collects": 1490 },"durationSeconds": 26,"transcriptSource": "speech-to-text","transcriptText": "我现在的位置在吉隆口岸受灾的核心区 这个红色标记 往前大概目测只有20米的距离…","transcript": [{ "text": "我现在的位置在吉隆口岸受灾的核心区", "startMs": 0, "endMs": 3520 }],"transcript_srt": "1\n00:00:00,000 --> 00:00:03,520\n我现在的位置在吉隆口岸受灾的核心区\n…","transcript_vtt": "WEBVTT\n\n00:00:00.000 --> 00:00:03.520\n…"}
Input
| Field | Type | Default | What it does |
|---|---|---|---|
videos | array | — | Video URLs, short links, share texts or ids — one per entry. |
transcriptFormats | array | text, segments, srt | Which renditions to include. All come from one transcription pass; picking more costs nothing extra. |
translateTo | string | — | Translate the transcript into this language (en, es, pt-BR…). Original is always retained; translated SRT/VTT keep the source timings. |
includeMetadata | boolean | true | Author, stats, cover and media links on every row. |
Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.005 | Per run, per GB of memory |
| Video processed | $0.001 | Each video delivered with its metadata |
| Transcription | $0.005 / started minute | Only when a transcript is delivered |
| Translation | $0.02 / started 1,000 source characters | Only when a translation is delivered — never when the video already speaks the target language |
A typical 1-minute Douyin video costs $0.006, or $0.026 with an English translation. A batch of 100 short videos ≈ $0.60–0.70. Videos that produce no transcript (deleted, silent, music-only) bill no transcription minutes, and failed lookups bill nothing at all.
Honest notes
- Transcription quality is speech-to-text quality. Clear speech transcribes well; heavy background music, crosstalk and strong dialects lower accuracy. Timestamps come from the recognizer and are accurate to the segment.
- Media URLs in the output expire. Douyin signs its CDN links for hours, not days — use them right away or re-run.
- Length limits: videos up to 30 minutes on a paid Apify plan, up to 5 minutes on the free plan.
- Music-only videos: voice detection drops them before transcription, so you pay the $0.001 result fee and zero minutes.
FAQ
Do I need a Douyin account or cookies? No. Only public videos are read, with no login anywhere in the pipeline.
Does it work outside China? Yes — that is the point. The actor runs from international infrastructure and needs no Chinese IP, SIM or app install.
Can I paste the share text directly from the Douyin app? Yes. Copy the share blob as-is; the actor extracts the link from the text. /note/ links work too.
Can I get the transcript in English? Set translateTo: "en" (or any language code). You get transcriptTranslated segments with the original timings — so the translated SRT/VTT drop straight onto the video — while the original-language transcript stays on the row. If the video already speaks your target language, nothing is translated and nothing is billed.
What language is the output? Whatever is spoken — the recognizer detects it. Most Douyin content is Mandarin. Pair the transcript with your own translation step if you need English.
Is this legal? The actor reads publicly available videos. You are responsible for using the data in compliance with the source platform's terms and your local regulations.
For AI agents & automation
Rows are flat JSON with stable field names (transcriptText, transcript, transcript_srt, transcriptTranslatedText), so the dataset drops straight into RAG pipelines, agent tools and MCP-compatible workflows: run the actor through the Apify API, read the dataset, feed the text to your model. Batch up to 200 videos per run and dedupe is automatic.
Related actors
- YouTube Transcript Scraper — same pipeline for YouTube, with Whisper fallback
- Instagram Transcripts — Reels and video transcripts
- TikTok scrapers — search, profiles, posts and comments
Support
Issues and feature requests via the actor's Issues tab — answered within a day.