TikTok Transcript API: Extract Captions from Any Video
Need the text from a TikTok video? Whether you're repurposing content, doing research, or building an app—getting TikTok transcripts manually is tedious.
A TikTok transcript API extracts the spoken words from any video automatically. Here's how it works and why it's useful.
What is a TikTok Transcript?
A TikTok transcript is the text version of everything said in a video. It includes:
- Spoken words - What the creator says
- Auto-captions - TikTok's automatic subtitles
- Timestamps - When each word/phrase appears
- Language detection - What language is spoken
Think of it as turning a video into a document you can read, search, and analyze.
Why Extract TikTok Transcripts?
Content Repurposing
Turn viral TikToks into blog posts, tweets, or LinkedIn content. Extract the transcript, clean it up, and you have a content outline.
Research & Analysis
Analyze what top creators are saying. Find common phrases, topics, and hooks that perform well.
Accessibility
Create captions for videos that don't have them. Make content accessible to deaf/hard-of-hearing viewers.
SEO & Discovery
Video text isn't searchable—but transcripts are. Use transcripts to understand what content ranks for certain topics.
AI & Automation
Feed transcripts into AI tools for summarization, translation, or content generation.
How to Get TikTok Transcripts
Option 1: Manual (Slow)
- Open the TikTok video
- Turn on captions (if available)
- Pause and type out each line
- Repeat for every video
Time required: 5-10 minutes per video
Option 2: TikTok Transcript API (Fast)
Make one API call, get the full transcript:
const response = await fetch(
'https://api.sociavault.com/v1/scrape/tiktok/transcript?url=https://tiktok.com/@user/video/123',
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const data = await response.json();
console.log(data.data.transcript);
Time required: 2-3 seconds
What You Get Back
{
"success": true,
"data": {
"video_id": "7234567890123456789",
"author": "creator_username",
"transcript": "Hey everyone, today I'm going to show you...",
"segments": [
{ "text": "Hey everyone", "start": 0.0, "end": 0.8 },
{ "text": "today I'm going to show you", "start": 0.8, "end": 2.1 }
],
"language": "en",
"duration": 45.5
}
}
Use Cases
1. Turn TikToks into Blog Posts
async function tiktokToBlog(videoUrl) {
// Get transcript
const transcript = await getTikTokTranscript(videoUrl);
// Get video info for context
const videoInfo = await getTikTokVideo(videoUrl);
return {
title: videoInfo.data.description.split('#')[0].trim(),
content: transcript.data.transcript,
views: videoInfo.data.play_count,
hashtags: videoInfo.data.hashtags
};
}
2. Find Viral Hooks
Analyze the first 3 seconds of top-performing videos:
async function analyzeHooks(videos) {
const hooks = [];
for (const videoUrl of videos) {
const transcript = await getTikTokTranscript(videoUrl);
// Get first segment (the hook)
const firstSegment = transcript.data.segments
.filter(s => s.start < 3)
.map(s => s.text)
.join(' ');
hooks.push(firstSegment);
}
return hooks;
}
3. Create Subtitles for Other Platforms
function transcriptToSRT(segments) {
return segments.map((seg, i) => {
const start = formatTime(seg.start);
const end = formatTime(seg.end);
return `${i + 1}\n${start} --> ${end}\n${seg.text}\n`;
}).join('\n');
}
// Output: Standard SRT subtitle format
4. Search Within Videos
Build a searchable database of video content:
async function buildSearchIndex(videos) {
const index = [];
for (const video of videos) {
const transcript = await getTikTokTranscript(video.url);
index.push({
videoId: video.id,
url: video.url,
text: transcript.data.transcript.toLowerCase(),
author: transcript.data.author
});
}
// Now you can search: index.filter(v => v.text.includes('keyword'))
return index;
}
Python Example
import requests
API_KEY = 'your_api_key'
def get_tiktok_transcript(video_url):
response = requests.get(
'https://api.sociavault.com/v1/scrape/tiktok/transcript',
params={'url': video_url},
headers={'Authorization': f'Bearer {API_KEY}'}
)
return response.json()
# Usage
transcript = get_tiktok_transcript('https://tiktok.com/@user/video/123')
print(transcript['data']['transcript'])
Limitations
- No audio = no transcript - Videos with only music won't have spoken text
- Accuracy varies - Heavy accents or background noise can affect quality
- Language support - Works best with major languages (English, Spanish, etc.)
Getting Started
- Sign up at sociavault.com
- Get 50 free credits to test
- Copy your API key
- Extract transcripts using the examples above
Frequently Asked Questions
Can I get transcripts from any TikTok video?
Yes, as long as the video is public and contains spoken words. Videos with only music or sound effects won't have meaningful transcripts.
How accurate are TikTok transcripts?
Accuracy is typically 90-95% for clear speech in supported languages. Background music, accents, or poor audio quality can reduce accuracy.
What languages are supported?
Major languages including English, Spanish, French, German, Portuguese, and more. The API detects the language automatically.
Can I get timestamps for each word?
Yes, the API returns segments with start and end timestamps, allowing you to sync text with specific moments in the video.
Is this the same as TikTok's auto-captions?
Similar, but our API works even if the creator didn't enable captions. We process the audio directly.
Related guides:
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.