Bulk TikTok Video Transcripts — Captions + AI avatar

Bulk TikTok Video Transcripts — Captions + AI

Pricing

from $6.00 / 1,000 caption transcripts

Go to Apify Store
Bulk TikTok Video Transcripts — Captions + AI

Bulk TikTok Video Transcripts — Captions + AI

Bulk TikTok video transcripts from any profile URL. Reads each video's own TikTok caption (free, instant) and optionally falls back to AI Whisper for no-caption clips. One row per video: metadata, engagement stats + full transcript. JSON/CSV, no login.

Pricing

from $6.00 / 1,000 caption transcripts

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

16

Monthly active users

2 days ago

Last modified

Share

Bulk TikTok Video Transcripts — Captions + AI Speech-to-Text

How it works

Paste a TikTok profile URL → get every video transcribed to text, in bulk. The actor reads each video's own TikTok caption track — free, instant, and accurate — and can optionally fall back to on-device AI speech-to-text (Whisper) for videos that have no caption. One clean row per video: full metadata + transcript. JSON or CSV.

No API keys, no login, no manual cookies. Captions come straight from TikTok's own data, so most talking videos transcribe for a fraction of a cent.

Why Use This Scraper?

  • Whole profile in one run — point it at a creator, get transcripts for all their videos. Not one-video-at-a-time.
  • Caption-first = cheap + accurate — uses TikTok's own caption track (its native speech-to-text) when present, so you pay ~$0.006/video, not AI-compute prices.
  • AI fallback when you need it — flip on whisperFallback to transcribe videos that have no caption (music clips, non-English audio) with on-device Whisper. Most competitors can only read captions.
  • Block-resistant discovery — videos are found via a real stealth browser that intercepts TikTok's own item_list requests, so there's no fragile signature/token juggling and no captcha walls.
  • You only pay for transcripts you get — videos with no caption (when AI is off) come back as metadata-only and are not charged.

Overview

Each input profile is expanded into one dataset row per video. A row always carries the video's metadata (id, author, description, duration, engagement stats, URL) and a transcriptSource telling you how it was transcribed:

  • caption — TikTok's own caption track was used (free path, the default).
  • whisper — no caption existed and you enabled AI fallback, so Whisper transcribed the audio.
  • none — no caption and AI fallback was off; the row is metadata-only (and not billed).

This is not a single-video tool and it is not a comments/followers scraper — it is built to turn an entire profile's spoken content into searchable text.

Supported Inputs

InputWhat you get
https://www.tiktok.com/@gordonramsayofficialEvery discoverable video on that profile, each transcribed
https://www.tiktok.com/@username (any handle)Same — works on large accounts (tested on millions-of-followers profiles)
Multiple profile URLsAll of them, processed in turn

Not supported: single video URLs, hashtag/sound/search pages, comments, followers, or live streams. Give it profile URLs.

Use Cases

AudienceWhat they pull
Content & trend researchersSearchable text of a creator's whole catalog — find topics, hooks, recurring phrases
Marketers & agenciesTranscribe competitor creators to mine messaging, CTAs, and product mentions
Lead generationSurface spoken contact info / offers across a profile's videos
Accessibility & repurposingCaptions/transcripts for re-subtitling, blogs, newsletters, show notes
AI / dataset buildersBulk speech-to-text corpora keyed to engagement stats
  1. Discover — each profile is opened in a stealth browser (Playwright + stealth). TikTok's own page fires its item_list requests with a valid in-browser token; the actor intercepts those while scrolling. No signing, no captcha. Retries with a fresh residential exit IP if a load comes back empty.
  2. Caption-first — for each video the actor reads TikTok's inline caption track (claInfo.captionInfos) and fetches the WebVTT inside the same browser session — free, instant, accurate.
  3. AI fallback (optional) — if a video has no caption and whisperFallback is on, the audio is pulled with yt-dlp and transcribed on-device with OpenAI Whisper. Off by default.
  4. Emit & bill — one row per video; you're charged only for videos that actually produced a transcript.

Input Configuration

FieldTypeRequiredNotes
startUrlsarrayOne or more TikTok profile URLs
maxItemsintegerMax videos to process per profile (default 10)
transcribebooleanAdd transcripts (default true). false = metadata only
whisperFallbackbooleanTranscribe no-caption videos with AI Whisper (default false)
whisperModelstringtiny (default) / base / small — only used when AI fallback is on
maxDurationSecintegerSkip no-caption videos longer than this for Whisper (default 120; 0 = no cap)
proxyobjectProxy for the stealth browser; residential strongly recommended

Example input

{
"startUrls": [
{ "url": "https://www.tiktok.com/@gordonramsayofficial" }
],
"maxItems": 25,
"transcribe": true,
"whisperFallback": false
}

Output Overview

One row per video. The transcript object holds the text plus its source and detected language; transcriptSource and captionAvailable let you filter quickly (e.g. keep only caption rows, or find which videos lack captions).

Output Samples

transcriptSource: "caption" (the default, free path)

{
"id": "7341108653442829601",
"author": "gordonramsayofficial",
"createTime": 1709235062,
"desc": "Its curry in a hurry from #NextLevelKitchen !",
"durationSec": 87,
"stats": {
"playCount": 27300000,
"diggCount": 1900000,
"commentCount": 14900,
"shareCount": 102500,
"collectCount": 477800
},
"videoUrl": "https://www.tiktok.com/@gordonramsayofficial/video/7341108653442829601",
"transcriptSource": "caption",
"captionAvailable": true,
"transcript": {
"source": "caption",
"language": "en",
"text": "For my favourite dishes, butter chicken. Let's go get that chicken. Touch of salt, some pepper, fresh turmeric, cumin as well, ground coriander, cayenne…"
}
}

transcriptSource: "none" (no caption, AI fallback off — metadata only, not charged)

{
"id": "7229884545150061851",
"author": "gordonramsayofficial",
"durationSec": 88,
"videoUrl": "https://www.tiktok.com/@gordonramsayofficial/video/7229884545150061851",
"transcriptSource": "none",
"captionAvailable": false
}

Key Output Fields

Identity & link

  • id — video id
  • author — profile handle
  • videoUrl — canonical link
  • createTime — Unix seconds

Content

  • desc — caption/description text
  • durationSec — length in seconds

Engagement (stats)

  • playCount, diggCount (likes), commentCount, shareCount, collectCount

Transcript

  • transcriptSourcecaption | whisper | none
  • captionAvailable — was a TikTok caption used
  • transcript.text — the transcript
  • transcript.sourcecaption | whisper
  • transcript.language — detected language (e.g. en)

FAQ

Is this AI transcription or TikTok's captions? Both — caption-first. It uses TikTok's own caption track (its native speech-to-text) whenever a video has one, which is the default and the cheap path. Real AI (Whisper) only runs if you turn on whisperFallback for videos that have no caption.

Why are some videos returned with no transcript? Music clips, no-speech skits, and some ads have no TikTok caption. With AI fallback off (the default) those come back as transcriptSource: "none" — metadata only, and you are not charged for them.

How good are the transcripts? TikTok's captions are accurate on clear speech and even capture short non-English phrases. The optional Whisper fallback handles audio TikTok never captioned.

Does it need cookies or a login? No. Discovery runs in a stealth browser against public profile pages.

Why a residential proxy? TikTok rate-limits datacenter IPs. Paying runs are routed through a residential exit automatically; free runs can configure Apify Proxy.

How many videos can it do? It's built for bulk whole-profile runs. Caption extraction is fast; the AI Whisper fallback is CPU-heavy, so keep maxItems modest when whisperFallback is on.

Can I get only captioned videos? Yes — leave whisperFallback off and filter rows where transcriptSource === "caption".

Support

Found a bug or need a field added? Open an issue on the actor's Issues tab, or email muhamed.didovic@gmail.com. Include the input you ran and a run ID.

Additional Services

Need a custom TikTok or social pipeline — comments, followers, sound/hashtag feeds, scheduled monitoring, or delivery straight to a database/sheet? I build bespoke scrapers and enrichment flows. Reach out via the email above.

Explore More Scrapers

  • TikTok Search Suggestions — autocomplete/keyword expansion with popularity scoring
  • Instagram, YouTube & social profile scrapers — metadata + media at scale
  • Tours & Activities (GetYourGuide / Viator / Klook / Tiqets) — listings + reviews
  • Google Play / App Store — app metadata, reviews, ASO
  • Browse all actors on the memo23 Apify Store profile

⚠️ Disclaimer

This Actor accesses publicly available data on TikTok for legitimate research, market-intelligence, accessibility, and business-analysis purposes. Use of this Actor must comply with TikTok's Terms of Service and all applicable laws including data-protection regulations (GDPR, CCPA, etc.). The Actor's authors are not responsible for any misuse. Users must:

  • Respect rate limits and avoid overloading TikTok's infrastructure
  • Not use scraped data to violate user privacy or TikTok's terms
  • Use the data in compliance with applicable jurisdictions
  • Not republish scraped content in violation of copyright

TikTok is a trademark of ByteDance Ltd.; this Actor is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance. We do not store any scraped data; the Actor returns it directly to your Apify dataset for your authorized use.

SEO Keywords

tiktok scraper, tiktok transcript scraper, tiktok video transcription, tiktok captions scraper, tiktok subtitles export, tiktok speech to text, tiktok profile scraper, bulk tiktok transcripts, tiktok whisper transcription, tiktok video to text, tiktok content research, tiktok api alternative, tiktok data extraction, tiktok json export, tiktok csv export, social media transcription, video transcription api, creator content analysis, tiktok bulk export, no-code tiktok scraper