The Problem
Brands publishing on TikTok lack programmatic access to their content performance data. TikTok Studio shows metrics for individual videos, but there is no easy way to aggregate performance across all videos, track trends over time, or build custom dashboards that combine TikTok data with other marketing channels. Marketing teams end up exporting CSV files manually and pasting them into spreadsheets weekly.
The Scavio Solution
Build an automated dashboard that pulls TikTok video performance data through Scavio's TikTok API endpoints. Schedule daily fetches for all your videos, store the data in a database, and visualize trends in any BI tool. Track views, likes, comments, shares, and engagement rates programmatically without manual exports.
Before
Before: A social media manager spent 3 hours every Monday manually exporting TikTok analytics for 50 videos into a Google Sheet. Cross-referencing with other channels required another 2 hours. Monthly time cost: 20+ hours of analyst work.
After
After: A daily cron job fetches metrics for all 50 videos in under 5 minutes at $0.25/day ($7.50/mo). Data flows into a Looker dashboard alongside Instagram and YouTube metrics. The Monday reporting meeting now uses live data instead of week-old spreadsheets.
Who It Is For
Social media managers, brand marketers, and data teams who need programmatic TikTok analytics without manual exports. Agencies managing multiple TikTok accounts.
Key Benefits
- Automate TikTok performance tracking for 50+ videos at $7.50/mo
- Daily data refresh replaces weekly manual CSV exports
- Cross-platform dashboards combining TikTok with other channel data
- Custom alerting when videos exceed or miss engagement thresholds
- Save 20+ hours/mo of manual analytics export work
Python Example
import requests
import json
API_KEY = "your_scavio_api_key"
def get_video_stats(video_url: str) -> dict:
r = requests.post(
"https://api.scavio.dev/api/v1/tiktok/video",
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
json={"url": video_url},
timeout=15,
)
data = r.json()
return {
"url": video_url,
"views": data.get("play_count", 0),
"likes": data.get("digg_count", 0),
"comments": data.get("comment_count", 0),
"shares": data.get("share_count", 0),
}
video_urls = [
"https://www.tiktok.com/@brand/video/123456",
"https://www.tiktok.com/@brand/video/789012",
]
for url in video_urls:
stats = get_video_stats(url)
print(f"{stats["url"]}: {stats["views"]} views, {stats["likes"]} likes")JavaScript Example
const API_KEY = "your_scavio_api_key";
async function getVideoStats(videoUrl) {
const res = await fetch("https://api.scavio.dev/api/v1/tiktok/video", {
method: "POST",
headers: { "Authorization": `Bearer ${API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({ url: videoUrl }),
});
const data = await res.json();
return {
url: videoUrl,
views: data.play_count || 0,
likes: data.digg_count || 0,
comments: data.comment_count || 0,
shares: data.share_count || 0,
};
}
const urls = ["https://www.tiktok.com/@brand/video/123456", "https://www.tiktok.com/@brand/video/789012"];
for (const url of urls) {
const stats = await getVideoStats(url);
console.log(`${stats.url}: ${stats.views} views, ${stats.likes} likes`);
}Platforms Used
TikTok
Trending video, creator, and product discovery