TikTok Video Info API: Extract Complete Video Details
Need detailed information about a specific TikTok video? The Video Info API returns comprehensive metadata, engagement metrics, and download URLs from any TikTok video URL.
What Data Can You Extract?
| Field | Description |
|---|---|
| Video ID | Unique identifier |
| Caption | Full description text |
| Hashtags | Array of hashtags used |
| Views | Total view count |
| Likes | Number of likes |
| Comments | Comment count |
| Shares | Share count |
| Downloads | Number of downloads |
| Duration | Video length in seconds |
| Create Time | When video was posted |
| Download URL | Direct video file link |
| Author Info | Creator profile data |
| Music | Audio track details |
Using the Video Info API
const response = await fetch(
'https://api.sociavault.com/v1/scrape/tiktok/video-info?url=https://www.tiktok.com/@user/video/7234567890123456789',
{
headers: { 'x-api-key': 'YOUR_API_KEY' }
}
);
const result = await response.json();
Parameters
| Parameter | Required | Description |
|---|---|---|
url | Yes | TikTok video URL |
get_transcript | No | Set true to include video transcript |
region | No | 2-letter country code (e.g., US, PH) |
trim | No | Set true for trimmed response |
Sample Response
{
"success": true,
"data": {
"aweme_detail": {
"aweme_id": "7234567890123456789",
"desc": "This took me 3 hours to film 😅 #fyp #viral",
"create_time": 1736344200,
"is_ad": false,
"author": {
"unique_id": "creator",
"nickname": "Content Creator",
"follower_count": 5200000,
"avatar_thumb": { "url_list": { "0": "https://..." } }
},
"statistics": {
"play_count": 15400000,
"digg_count": 2100000,
"comment_count": 45000,
"share_count": 89000,
"collect_count": 32000,
"download_count": 12000
},
"video": {
"duration": 45000,
"download_no_watermark_addr": {
"url_list": { "0": "https://..." }
}
},
"added_sound_music_info": {
"title": "Trending Sound",
"author": "Artist Name"
}
}
}
}
Note:
digg_countis TikTok's term for likes.durationis in milliseconds.
Use Cases
Video Performance Tracking
Monitor how a video performs over time:
async function trackVideoPerformance(videoUrl) {
const response = await fetch(
`https://api.sociavault.com/v1/scrape/tiktok/video-info?url=${encodeURIComponent(videoUrl)}`,
{ headers: { 'x-api-key': 'YOUR_API_KEY' } }
);
const result = await response.json();
const { statistics } = result.data.aweme_detail;
await saveMetrics({
videoId: result.data.aweme_detail.aweme_id,
views: statistics.play_count,
likes: statistics.digg_count,
engagementRate: (statistics.digg_count + statistics.comment_count) / statistics.play_count,
timestamp: new Date()
});
}
Calculate Engagement Rate
const { statistics } = result.data.aweme_detail;
const engagementRate = ((statistics.digg_count + statistics.comment_count + statistics.share_count) / statistics.play_count) * 100;
console.log(`Engagement rate: ${engagementRate.toFixed(2)}%`);
Compare Multiple Videos
Analyze performance across a creator's content:
const videoUrls = [
'https://www.tiktok.com/@user/video/1...',
'https://www.tiktok.com/@user/video/2...',
'https://www.tiktok.com/@user/video/3...'
];
const videoData = await Promise.all(
videoUrls.map(async url => {
const response = await fetch(
`https://api.sociavault.com/v1/scrape/tiktok/video-info?url=${encodeURIComponent(url)}`,
{ headers: { 'x-api-key': 'YOUR_API_KEY' } }
);
return response.json();
})
);
// Find best performing
const bestVideo = videoData.sort((a, b) =>
b.data.aweme_detail.statistics.play_count - a.data.aweme_detail.statistics.play_count
)[0];
console.log(`Top video: ${bestVideo.data.aweme_detail.aweme_id} with ${bestVideo.data.aweme_detail.statistics.play_count.toLocaleString()} views`);
Download Video Content
Use the download URL for content archival:
const downloadUrl = result.data.aweme_detail.video.download_no_watermark_addr.url_list["0"];
const videoResponse = await fetch(downloadUrl);
const videoBuffer = await videoResponse.arrayBuffer();
await fs.writeFile(`video_${result.data.aweme_detail.aweme_id}.mp4`, Buffer.from(videoBuffer));
Related Endpoints
- TikTok Videos Scraper - Get all videos from a profile
- TikTok Comments Scraper - Extract video comments
- TikTok Transcript - Get video speech-to-text
- TikTok Profile Scraper - Creator profile data
Frequently Asked Questions
Can I get info for any TikTok video?
Yes, the API works with any public TikTok video URL. Private videos cannot be accessed.
Do I need the full URL or just the video ID?
You can use either the full URL or just the video ID. The API handles both formats.
How current is the view count data?
Statistics are fetched in real-time, giving you counts that are current within minutes.
Can I download videos without watermark?
The standard download URL includes TikTok's watermark. Contact us for watermark-free download options.
What's the difference between Video Info and Videos Scraper?
Video Info gets details for a single video URL. Videos Scraper retrieves multiple videos from a profile. Use Video Info when you have specific video URLs to analyze.
Get Started
Sign up free and start extracting TikTok video data.
Documentation: /docs/api-reference/tiktok/video-info
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.