TikTok Transcript
Pricing
from $0.35 / transcript
TikTok Transcript
TikTok transcript API — pass any TikTok video URL and the response includes the spoken-word transcript with timestamps, the on-screen caption text, and an optional translation into any of 100+ languages. Works for short-form posts, longer videos, and embedded slideshow audio.
TikTok Transcript - Timestamped TikTok Speech-to-Text API
TikTok Transcript converts one public TikTok post into detected-language text, ordered timestamped segments, source metadata, and an optional translated transcript. It processes audible speech from the media; it does not promise to return TikTok caption tracks or existing subtitle files.
- Provide one public TikTok post URL containing playable video and audio; profile feeds and multi-post jobs are not accepted.
- The preflight resolves short or redirected links and confirms the TikTok extractor before the formal download starts.
- Each completed transcription becomes one 22-field Dataset item with post context, original speech, and ordered time ranges.
- Speech recognition reads audio, not burned-in captions, stickers, comments, or other on-screen text.
Run TikTok Transcript · Open the API page
Use a dialogue-heavy public post for the first run. Review creator names, slang, music-heavy passages, and translation before automating a larger editorial queue.
Why Choose This API
A narrow contract for one known TikTok post
Choose this Actor after a TikTok post has already been selected and its spoken content is the desired artifact. The small contract contains one URL and an optional language. Link redirects are followed during a silent platform check, but the resolved extractor must still be TikTok.
The result combines source context and spoken content in one record:
| Capability | What is returned |
|---|---|
| Spoken layer | Detected language, continuous text, and ordered start / end / text segments |
| Post identity | Caption/title, creator identifiers, duration, publish time, thumbnail, categories, and tags when TikTok exposes them |
| Public activity | Views, likes, shares, comments, and other supported counters in their current nullable form |
| Requested localization | One complete translated text and segment list on the original time windows |
It does not crawl a creator feed, process a hashtag page, capture LIVE content, read comments, perform OCR, label speakers, summarize a post, or return the media file. Source gaps retain the schema's documented null, zero, or empty representation.
The text is ASR output from the audio track. Trending sounds, background music, rapid cuts, overlapping voices, stylized pronunciation, and uncommon names can lower accuracy. Compare publication-critical wording with the original post.
Quick Start Guide
Run in Apify Console
- Open TikTok Transcript on Apify.
- Copy a specific public post address and paste it into Video URL.
- Select Translate only when one additional language is needed.
- Start the Actor, then inspect the single default-Dataset item after successful completion.
The input schema currently uses this public post as its example:
{"video_url": "https://www.tiktok.com/@openai/video/7368539099893927214","translate": "spanish"}
API and response samples reuse the same URL only to keep the guide coherent. Availability is volatile: TikTok or the creator can remove, restrict, or privatize a post, and region or login requirements can change. Substitute another public video with audible speech when necessary.
What success means
A successful transcript requires accessible media, an audio track, at least one detected speech interval, and a published Dataset record. Resolving a creator name or HTTP page alone does not meet the contract.
Input Parameters
Input configuration
| Input | Type | Required | Description |
|---|---|---|---|
video_url | string | Yes | One public TikTok video URL to download and transcribe. |
translate | string | No | One target language from the schema's 133 selectable values. Leave empty to skip translation. |
One run means one post. Creator profiles, hashtag/search pages, feeds, carousels without usable audio, LIVE pages, private items, uploads, cookies, credentials, and URL lists have no supported input field. Playlist-style expansion is disabled.
Canonical and redirected TikTok links proceed only when the current extractor exposes media. Valid syntax cannot overcome deletion, regional restrictions, login challenges, platform response changes, or an absent audio stream.
Translation runs after source speech has been assembled. Segment work may execute concurrently, then returns to source order. If any part exhausts all proxy attempts, the result omits translation and its event charge rather than disguising the source as translated text.
Output Data Schema
One 22-field Dataset item
Successful speech recognition publishes exactly one record. Its 22 fields are organized as follows:
| Group | Fields | Notes |
|---|---|---|
| Processing | processor, processed_at | Actor URL and processing timestamp |
| Identity | platform, title, description, thumbnail, published_at | Source-provided video identity |
| Author | author, author_id, author_url | Creator or uploader context when available |
| Media | duration, audio_title, audio_artist | Source-reported values; duration can be 0 when metadata is absent |
| Engagement | view_count, like_count, shares_count, dislike_count, comment_count | Nullable source metrics |
| Labels | categories, tags | Source classifications when exposed |
| Speech | transcript, translation | Timestamped source transcript and optional translated version |
Abbreviated schema example for the same TikTok-and-Spanish scenario:
{"processor": "https://apify.com/agentx/tiktok-transcript?fpr=aiagentapi","processed_at": "2026-07-21T13:40:00+00:00","platform": "TikTok","title": "Say hello to GPT-4o, our new flagship model","author": "openai","author_id": "OpenAI","author_url": "https://www.tiktok.com/@openai","duration": 82,"view_count": 5900000,"like_count": 483100,"categories": [],"tags": [],"transcript": {"language": "English","text": "Hey, how's it going? It's going great. How about you?","segments": [{"start": "00:00:00.890","end": "00:00:13.480","text": "Hey, how's it going? It's going great. How about you?"}]},"translation": {"language": "Spanish","text": "Hola, ¿cómo va todo? Va muy bien. ¿Y tú?","segments": [{"start": "00:00:00.890","end": "00:00:13.480","text": "Hola, ¿cómo va todo? Va muy bien. ¿Y tú?"}]}}
Counters and source strings below are illustrative and can drift. The Actor does not add the source MP4, a TikTok caption track, SRT/VTT, OCR text, speaker labels, word timing, confidence, a summary, or a rights determination.
Integration Examples
REST API
The synchronous endpoint returns Dataset items directly:
curl -L "https://api.apify.com/v2/actors/agentx~tiktok-transcript/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"video_url": "https://www.tiktok.com/@openai/video/7368539099893927214","translate": "spanish"}'
For long videos or workflows that must not hold one HTTP connection open, start an asynchronous run and retrieve its Dataset afterward. Apify documents that synchronous Dataset responses can time out after 300 seconds while the Actor run continues.
Python client
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("agentx/tiktok-transcript").call(run_input={"video_url": "https://www.tiktok.com/@openai/video/7368539099893927214","translate": "spanish",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["transcript"]["text"])
MCP for AI clients
Configure the Apify MCP server with the Actor-scoped tool URL:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=agentx/tiktok-transcript","headers": {"Authorization": "Bearer YOUR_APIFY_TOKEN"}}}}
Call agentx/tiktok-transcript with the same input fields. See the Apify MCP documentation and the generated Actor API page.
Pricing & Cost Calculator
TikTok Transcript is billed by event. The current repository metadata defines this build's tiers; online Store pricing may describe an older deployed version until publication catches up.
| Event | Current price |
|---|---|
| Actor start | $0.001 per charged start event; the 8192 MB run configuration charges eight start events |
| Actor usage | $0.00001 per usage unit; total depends on runtime resources |
| Transcript - Free | $0.28800 |
| Transcript - Bronze | $0.27840 |
| Transcript - Silver | $0.26880 |
| Transcript - Gold, Platinum, Diamond | $0.25920 |
| Translation - Free | $0.10000 |
| Translation - Bronze | $0.09667 |
| Translation - Silver | $0.09333 |
| Translation - Gold, Platinum, Diamond | $0.09000 |
At Free tier, one transcript on the fixed 8192 MB configuration has a fixed subtotal of $0.288 + (8 × $0.001) = $0.296, plus usage. A completed translation changes that subtotal to $0.288 + $0.10 + $0.008 = $0.396. Start and runtime usage can accrue on unsuccessful work.
Check the live pricing page before scheduling a large workload. Estimate with representative media because speech density, duration, network behavior, and translation length affect runtime.
Use Cases & Applications
Search and retrieval over one video
Store full text for post-level search, or index each segment to return a matching quote with its approximate interval. Retrieval embeddings and answers are intentionally left to the consuming application.
Editorial and research review
Social teams, journalists, researchers, and moderators can review spoken claims beside creator, publish time, description, and available engagement. Preserve the source URL and verify consequential language against the post.
Accessibility drafts and content repurposing
Time ranges can seed caption editing, creator notes, summaries, or localized copy, but they remain a machine-generated draft rather than a certified accessibility deliverable.
Multilingual review
One selected target produces a parallel review layer on the same intervals. Teams needing several languages must run one job per target and budget for each completed translation.
Automation boundaries
Use an authorized discovery workflow to choose posts first, then invoke this Actor on individual URLs. Extraction success is technical evidence only and does not confer reuse or publication permission.
FAQ
Does the Actor return TikTok's on-screen caption text?
No. The transcript represents audible speech generated through speech recognition. The Actor does not promise OCR of text rendered in the video or return a platform caption track.
Can it process photo posts, slideshows, or live streams?
Only a public post that resolves to downloadable media with an audio track can satisfy the contract. Photo-only posts, slideshows without downloadable audio, live streams, private posts, and removed posts are not promised.
Can it process an entire creator profile or feed?
No. The public input accepts one video URL, and multi-post processing is disabled. Use a discovery Actor first and submit individual video URLs in separate runs.
What happens if the video has no speech?
The run fails without a transcript Dataset item. Silent clips, music-only media, missing audio, or speech that cannot be detected do not satisfy the successful output contract.
Why are some metadata fields null?
TikTok or the extraction response did not expose them for that video. The schema intentionally permits nullable values instead of fabricating counts, dates, audio attribution, or author details.
Are timestamps word-accurate?
No. They are segment time ranges formatted as HH:MM:SS.mmm. They are useful for navigation and downstream processing but are not guaranteed word-level alignments.
How are long videos handled?
The runtime uses 8192 MB and 2 CPUs. Media above 3600 seconds enters a sequential 900-second core-block path with 15-second context on each boundary. TikTok posts are normally much shorter, but runtime and usage still follow actual media duration and speech density.
Is translation always charged when requested?
No. Translation is charged only when the complete translated structure is produced. If any segment ultimately fails, the output keeps translation empty and the translation event is not charged.
SEO Keywords & Search Terms
TikTok video to text, TikTok speech transcript, transcribe a TikTok URL, and timestamped TikTok text are discovery phrases for this single-post workflow. One public item enters and one normalized speech record leaves.
It is not marketed as a caption downloader, feed crawler, bulk endpoint, sound downloader, OCR service, summarizer, or guaranteed-verbatim transcript. Those labels would promise different behavior.
Call agentx/tiktok-transcript programmatically. After deployment, use the live Input, Output, Pricing, Reviews, and Issues tabs for host-controlled information rather than treating an older online snapshot as current local state.
Trust & Certifications
The evidence available in this repository is structural: a closed two-field input, a 22-field Dataset/view/display contract, explicit platform gating, complete-or-absent translation behavior, and documented long-media safeguards. It does not prove permanent access to an external post.
Ratings, user totals, monthly usage, and bookmarks are omitted because those figures belong to the online deployment and become stale independently of these files. Consult Apify directly after the new build is live.
No independent ASR accuracy certification, SLA, legal-transcript designation, privacy certification, or uptime guarantee is claimed. TikTok controls media access and the Actor produces machine-generated text that still needs review.
Legal & Compliance
Process only material you are entitled to use. Public playback does not remove copyright, privacy, publicity, contractual, or data-protection duties. The current TikTok Terms of Service prohibit automated scraping, crawling, exporting, or extraction unless TikTok approves it in writing. Treat authorization as a prerequisite, not an assumption created by a public URL.
The Actor returns source metadata and generated speech text. It does not grant a license to the video, verify ownership, determine fair use, provide legal advice, or certify the accuracy of quotations. Avoid submitting private credentials or confidential URLs because they are not part of the supported input contract.
If a source owner deletes or restricts a video, future runs can fail even when an older run succeeded. Retain the source URL and processing time when provenance matters.
Related Tools
Related AgentX Actors
- YouTube Transcript handles one public YouTube video.
- Video Transcript supports uploads and public URLs from many platforms.
Enrich with broader discovery
- All Video Scraper provides broader video metadata and media workflows.
- All Jobs Scraper supplies cross-platform job data for content or labor-market research.
- All Shopping Scraper supplies cross-market product data for commerce research.
Choose a discovery Actor when you do not yet have a specific video URL. Keep transcription runs one video at a time.
Support & Community
When reporting a problem, include the public video URL, run ID, expected result, observed error, and whether translation was enabled. Do not post private tokens or credentials.
The local schemas, implemented behavior, pricing metadata, and cited TikTok terms were reviewed on July 21, 2026. Example availability and all Store statistics remain volatile.