Tiktok Transcript Scraper avatar

Tiktok Transcript Scraper

Under maintenance

Pricing

from $4.99 / 1,000 results

Go to Apify Store
Tiktok Transcript Scraper

Tiktok Transcript Scraper

Under maintenance

๐ŸŽฅ Tiktok Transcript Scraper extracts accurate TikTok video transcripts fast. Perfect for content analysis, SEO insights, captions & research. ๐Ÿš€ Save time, boost workflows, and unlock speech-to-text data!

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeVanta

ScrapeVanta

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Share

Return a transcript of a TikTok video from the caption track it publishes - no API key, no transcription service.

What you get

  • Human-written subtitles told apart from machine ones, with the text as prose and as timed cues.
  • Real metadata: title, uploader, upload date, duration, and the view, like and comment counts the site publishes.
  • A per-URL result, so one bad link no longer ends the run.
  • Failed URLs are returned but never billed - see below.

Input

FieldTypeRequiredWhat it does
startUrlsarrayyesThe a transcript of a TikTok video to process. Accepts plain URLs or objects with a "url" key.
preferredLanguagesarraynoLanguage codes to fetch, for example en, es. Leave empty for every track the video has.
includeAutoCaptionsbooleannoMachine-generated captions. They are marked isAutomatic so they can be told apart from subtitles a human wrote.
proxyConfigurationobjectnoThe run rotates through a few IPs from this configuration when a site refuses one. TikTok refuses datacenter addresses outright, so a residential group matters here.

Which captions you actually get

Caption tracks come in three kinds and they are not equivalent:

  • Human-written subtitles - what the uploader supplied.
  • Speech-recognised captions - the site's transcription of the audio, in the language it is spoken in.
  • Machine translations - that recognised track put through translation.

They were previously returned as one undifferentiated list. Each track now says which it is. That matters for volume as well as accuracy: measured on one YouTube video, the full track list was 6,599 entries, because YouTube ships a translation for every language pair. The record carries a summary of what is available rather than thousands of rows, and by default fetches what the video really has - the human-written tracks plus the recognised speech - instead of every translation.

Consecutive repeated lines are collapsed, which is what rolling auto-captions produce, so the text reads as prose rather than as a stutter.

You are not charged for a URL that failed

Every previous version of this Actor pushed its error rows with charged_event_name="result" - the same paid event a successful result uses. A run over a hundred dead links cost exactly as much as a run over a hundred live ones.

Failures are still returned, because you need to know which URLs did not work, but they are not billed. Each one says what kind of failure it was and what to do about it:

failureKindWhat it means
ip-blockedThe site refused this run's IP. Enable a residential proxy.
geo-blockedNot available from that country. Set a proxy country.
login-requiredPrivate, or the site wants a signed-in session.
removedThe media no longer exists at that URL.
no-mediaA real page, but it carries no downloadable media.
age-restrictedGated behind an age check.
unsupportedNot a URL this Actor can resolve.
networkA transient failure. Running it again may work.

ip-blocked, geo-blocked and network are retried on a different IP before being reported. A removed video is not - it will still be removed.

Proxy

The run rotates through a few IPs from your proxy configuration and moves to a new one when a site refuses the current one. TikTok in particular refuses datacenter addresses outright - measured, a direct request returns "Your IP address is blocked from accessing this post" - so a residential group is worth setting for it.

What it cannot do

  • It does not sign in, so anything behind a login stays behind it.
  • It resolves what the site publishes. A site that changes its delivery can break resolution until the underlying extractor catches up.
  • Downloading media may be restricted by the source site's terms and by copyright. You are responsible for having the right to download and use what you fetch.