TikTok

TikTok Transcript Scraper

Get the transcript of public TikTok videos as plain text and timed segments, with its language, whether it is auto-generated, the other subtitle languages, the author and view, like, comment and share counts.

TikTok Transcript Scraper by Goldmine

What it extracts

Every field below comes from the Actor’s published dataset schema.

FieldDescriptionType
urlVideolink
authorUsernameAuthortext
descriptionCaptiontext
transcriptTranscripttext
languageLanguagetext
isAutoGeneratedAuto-generatedboolean
isTranslationTranslationboolean
availableLanguagesAvailable languagesarray
durationSecondsDuration (s)number
publishedAtPublisheddate
playCountViewsnumber
noteNotetext

Input parameters

Generated from the Actor’s input schema — the same fields the Apify console shows.

ParameterTypeRequiredDescription
startUrlsarrayRequiredTikTok videos to get transcripts for: video URLs such as https://www.tiktok.com/@user/video/1234567890, or share links such as https://vm.tiktok.com/ZM.../ and https://vt.tiktok.com/ZS.../. One transcript per video.
languagestringOptionalWhich subtitle track to return. "original" returns the language spoken in the video. A language code such as "en" or "es" returns that language when TikTok has it (often a machine translation) and falls back to the original otherwise. "all" returns the original in the main fields plus every track in "tracks".
includeVttbooleanOptionalAlso return the raw WebVTT subtitle file in the "vtt" field.
includeVideosWithoutTranscriptbooleanOptionalAlso save a result for videos that have no subtitles, with "transcript" set to null and a "note" saying why. These are charged like any other result. When off, such videos are only listed in the VIDEOS_WITHOUT_TRANSCRIPT record of the key-value store, free of charge.
proxyConfigurationobjectOptionalProxy settings. TikTok serves video pages without a proxy, so none is used by default. If videos come back blocked, switch to Apify datacenter proxies.

API access

Run this Actor from your own code over the Apify API.

Inputjson
{
  "startUrls": [
    {
      "url": "https://www.tiktok.com/@ethan_steele_/video/7484309187241987350"
    },
    {
      "url": "https://www.tiktok.com/@ale.vegana/video/7592801339265060103"
    }
  ]
}
REST — run and get resultsbash
curl -X POST \
  "https://api.apify.com/v2/acts/logical_scrapers~tiktok-transcript-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":[{"url":"https://www.tiktok.com/@ethan_steele_/video/7484309187241987350"},{"url":"https://www.tiktok.com/@ale.vegana/video/7592801339265060103"}]}'
JavaScript — apify-clientjavascript
import { ApifyClient } from 'apify-client'

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' })

const run = await client.actor('logical_scrapers~tiktok-transcript-scraper').call({
  "startUrls": [
    {
      "url": "https://www.tiktok.com/@ethan_steele_/video/7484309187241987350"
    },
    {
      "url": "https://www.tiktok.com/@ale.vegana/video/7592801339265060103"
    }
  ]
})

const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Python — apify-clientpython
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("logical_scrapers~tiktok-transcript-scraper").call(run_input={
    "startUrls": [
        {
            "url": "https://www.tiktok.com/@ethan_steele_/video/7484309187241987350",
        },
        {
            "url": "https://www.tiktok.com/@ale.vegana/video/7592801339265060103",
        },
    ],
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

Runs are executed on Apify. Create an API token in your Apify account, then call the Actor over REST or with the official client for your language. The same input object works in the Apify console, so you can test interactively before automating.

Pricing

Pay per event — you are charged for each successfully scraped result item.

Current rates are published on the Apify listing and can change, so they are not duplicated here. See pricing on Apify

Reliability

99.4% run success rate

Measured across all public Goldmine Actors on Apify, 2026-08-24. This is an account-level figure, not a per-Actor benchmark — per-Actor speed and completeness benchmarks are not yet published. Source.

Field and input tables are generated from this Actor's published schemas. Usage figures measured 2026-08-24 from the Apify listing.