TikTok Transcript Scraper โ Text & Timestamps
Pricing
from $1.50 / 1,000 successful native transcripts
TikTok Transcript Scraper โ Text & Timestamps
Get clean TikTok transcript text and timestamped segments from public videos. Add video URLs or IDs, choose a language, and pay only when a transcript is returned.
Pricing
from $1.50 / 1,000 successful native transcripts
Rating
0.0
(0)
Developer
Chronometrica
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
๐ฌ What does TikTok Transcript Scraper do?
Paste public TikTok video URLs or numeric video IDs. Get clean transcript text and timestamped segments that are ready to use.
Use it for AI workflows, research, subtitling, content analysis, spreadsheets, and batch automation. Each input creates one clear result row. A successful transcript is charged once. Every other outcome stays visible and free.
The Actor uses public, logged-out TikTok video pages. It does not require an API key, account, cookies, or login from you.
With TikTok Transcript Scraper, you can:
- ๐ค Send clean, consistent transcript text straight into LLMs, RAG pipelines, agents, embeddings, and summaries.
- โฑ๏ธ Get timestamps for each transcript segment for clips, quotes, NLP, and re-subtitling.
- ๐ฆ Process up to 100 direct TikTok videos in one batch.
- ๐ Choose transcript languages in priority order without automatic translation.
- ๐ฆ See a clear row for every input, including no-caption, duplicate, invalid, unavailable, and blocked outcomes.
- ๐ธ Pay only when a non-empty transcript is returned.
โจ Why use this Actor?
Buyers use TikTok transcripts when they need text that is easy to reuse, not a
wall of unstructured output. The Actor returns a joined text field for quick
use and timestamped segments for precise work.
- Clean and consistent: one stable row shape for every submitted input.
- Ready for automation: use the Apify API, webhooks, schedules, Make, n8n, Zapier, or your own code.
- Clear language choice: provide preferred caption languages, or leave the list empty to use the first public caption track TikTok exposes.
- No surprise result charges: status rows are useful audit records, but only a successful native transcript is billable.
- Honest limits: the Actor reads public caption tracks. It does not invent text when TikTok has no public captions.
๐ฆ What data do I get?
Each dataset row represents one submitted TikTok video input.
| Data group | Fields |
|---|---|
| ๐ Input and video | inputIndex, inputUrl, videoId, videoUrl, authorHandle, durationSeconds |
| ๐ Transcript | languageCode, segments (startSeconds, endSeconds, text), text |
| ๐ฆ Result and billing | status, statusReason, isBillable, scrapedAt |
Successful rows contain non-empty text plus timestamped segments. If public
captions are unavailable, the transcript fields are empty or null, the row
explains why, and isBillable is false.
Fields are ordered from your input, to the resolved video, selected caption, transcript, result, and scrape time. This makes CSV and spreadsheet reviews follow the same path as the Actor.
โ๏ธ Can I use this Actor through an API?
Yes. Run TikTok Transcript Scraper in Apify Console or through:
- Apify API
- Python SDK
- Node.js SDK
- Webhooks
- Scheduled runs
- Make, n8n, Zapier, and other Apify integrations
That makes it a good fit for repeatable research, content pipelines, and batch workflows.
๐ต Pricing: successful native transcripts only
The Actor uses one Pay per Event event: Successful native transcript.
You are charged only when TikTok provides a non-empty public caption transcript. Rows for no public captions, duplicate inputs, invalid URLs, unavailable videos, or temporary public-source failures are returned without that event charge.
| Apify Store tier | Price per successful transcript | Price per 1,000 successful transcripts |
|---|---|---|
| No discount | $0.00300 | $3.00 |
| Bronze | $0.00250 | $2.50 |
| Silver | $0.00200 | $2.00 |
| Gold | $0.00150 | $1.50 |
| Platinum | $0.00150 | $1.50 |
| Diamond | $0.00150 | $1.50 |
Your run can use Apify's maximum-charge limit. Start with a small batch to check caption coverage for your video list.
๐ How do I use TikTok Transcript Scraper?
- Open TikTok Transcript Scraper in Apify Console.
- Paste one or more public TikTok video links or video IDs.
- Optionally choose a caption language from the dropdown.
- Click Start.
- Open Output to inspect the transcript rows and the run summary.
- Download JSON, JSONL, CSV, Excel, XML, RSS, or HTML, or send results to an integration.
Here is the exact first-run example used for the release smoke:
{"startUrls": ["https://www.tiktok.com/@hankgreen1/video/7047596209028074758"],"preferredLanguages": ["en"]}
โฌ๏ธ Input
| Option | What it controls |
|---|---|
startUrls | Add 1โ100 public TikTok video links, short links, or video IDs. Profile, search, and sound links return a free not-supported row. |
preferredLanguages | Optional. Choose common languages from the dropdown in the order you prefer. Leave this blank to use the first public caption. If unavailable, the video gets a free status. This setting never translates. |
For a batch, add more direct video URLs:
{"startUrls": ["https://www.tiktok.com/@hankgreen1/video/7047596209028074758","https://www.tiktok.com/@example/video/1234567890123456789"],"preferredLanguages": ["en", "es"]}
Use real public TikTok video links in your own runs. The second URL above only shows the accepted URL shape.
โฌ๏ธ Output sample
{"inputIndex": 0,"inputUrl": "https://www.tiktok.com/@hankgreen1/video/7047596209028074758","videoId": "7047596209028074758","videoUrl": "https://www.tiktok.com/@hankgreen1/video/7047596209028074758","authorHandle": "hankgreen1","durationSeconds": 21,"languageCode": "eng-US","text": "Example public-caption transcript text.","segments": [{"startSeconds": 0.044,"endSeconds": 0.704,"text": "Example public-caption segment"}],"status": "succeeded","statusReason": "TikTok provided a public caption track that was parsed successfully.","isBillable": true,"scrapedAt": "2026-07-14T00:00:00.000Z"}
๐ Run summary
The OUTPUT record summarizes the run with buyer-facing counts:
- inputs received and result rows written;
- billable transcripts and free result rows;
- duplicate inputs skipped;
- status counts, including no-public-caption outcomes.
Use the summary to check your whole batch before loading the transcript rows into a database or automation.
๐ฆ Result statuses and billing
| Status | What it means | Charged? |
|---|---|---|
succeeded | TikTok exposed a public caption track and the Actor parsed a non-empty transcript. | Yes |
no_public_captions | The public video resolved, but TikTok exposed no usable caption track. | No |
language_unavailable | TikTok exposed public captions, but none matched the requested language. | No |
duplicate_input | The same video was already included earlier in this run. | No |
not_tiktok, invalid_input, or unsupported_url | The input was not a supported TikTok video object. | No |
video_unavailable, not_public, blocked_or_challenged, or extraction/caption failure | The Actor could not return a defensible public transcript for this input. | No |
This makes a mixed batch easy to use: successful rows contain transcripts; other rows explain what happened without pretending an empty string is a transcript.
๐ Public-source boundary
TikTok Transcript Scraper reads existing public caption tracks from logged-out public TikTok video pages.
It does not:
- generate AI speech-to-text when TikTok has no public captions;
- download video or audio for customer transcription;
- use TikTok accounts, cookies, private sessions, or API keys;
- access private, login-only, deleted, or unavailable videos;
- solve challenges or bypass access controls;
- search TikTok, expand profiles, scrape comments, or collect private analytics.
For keyword, creator, or profile workflows, first use a discovery Actor and then send its direct TikTok video URLs to this Actor.
โ ๏ธ Limits and interpretation
Caption availability is live TikTok behavior. A public video can exist without a public caption track, and a caption track can change or disappear between runs. This Actor returns TikTok's public captions as exposed at run time; it does not promise that every public video has captions.
Use preferredLanguages when language matters. If no matching public caption
track is available, the row remains free and explains the result instead of
silently translating to another language.
โ FAQ
Does this Actor need a TikTok account, cookie, or API key?
No. It uses logged-out public TikTok video pages and public caption tracks.
Why did I get a row without a transcript?
The row is a clear result for your submitted input. TikTok may not expose a
public caption track, the input may be unsupported, or the public page may be
temporarily unavailable. Check status and statusReason. These rows are not
billed as successful native transcripts.
Does it translate captions?
No. It selects from public caption tracks TikTok exposes. Set
preferredLanguages to choose the language you want when it is available.
Can I run many links in one task?
Yes. Add up to 100 direct video inputs to startUrls. Each input gets one
result row, so batch automation can keep its input-to-output accounting.
Why can a small run take a little time to start?
Apify starts a container for the run. Once it starts, the Actor processes up to three videos at a time. Use batches when you have more than one video.
๐ Support
For help, include the run ID, one affected input, the expected result, the row you received, and whether the issue is missing text, wrong language, duplicate handling, status, cost, or runtime. This gives us enough information to check the public result without asking for your TikTok account or private data.
๐ Related social media scrapers
Combine this Actor with our other social media scrapers for discovery, performance tracking, comment research, and transcript collection.
TikTok
- TikTok Search Scraper โ find public TikTok videos, creators, and metrics by keyword.
- TikTok Metrics Scraper โ collect public video, profile, engagement, hashtag, and music data.
- TikTok Comments Scraper โ collect public comments, replies, authors, likes, and thread links.
- Facebook Metrics Scraper โ collect public post, Reel, video, and profile/page metrics.
- Facebook Comments Scraper โ collect public comments, replies, authors, dates, and reactions from known Facebook content.
- Instagram Metrics Scraper โ collect public post, Reel, carousel, profile, and collaboration metrics.
- Instagram Comments Scraper โ collect public comments, authors, dates, likes, and reply counts from posts and Reels.
YouTube
- YouTube Search Scraper โ find public videos, Shorts, channels, and metrics by keyword.
- YouTube Metrics Scraper โ collect public video, Short, channel, and engagement metrics.
- YouTube Comments Scraper โ collect public comments, replies, authors, likes, pins, and creator hearts.
- YouTube Transcript Scraper โ extract public captions as clean text, timestamps, SRT, VTT, or LLM-ready output.