The Problem
Marketing teams discover TikTok trends after they peak, missing the window for timely content. Manual hashtag browsing cannot scale across hundreds of potential trend candidates.
The Scavio Solution
Poll TikTok hashtag info endpoint daily for a watchlist of hashtags. Track view count growth rate. Alert when a hashtag's daily growth exceeds a threshold (e.g., 5% day-over-day). Cost: $0.10/day for 20 hashtags.
Before
Before automated tracking, a social media manager discovered the #deinfluencing trend 2 weeks after it started trending. Their content launched after competitors had already captured the initial wave.
After
After setting up daily hashtag polling, the same team monitors 50 candidate hashtags at $0.25/day. They detect a 12% daily growth rate on a niche hashtag, publish content within 48 hours, and capture early-mover advantage.
Who It Is For
Social media managers, content strategists, trend researchers, and marketing teams that create time-sensitive TikTok content.
Key Benefits
- Detect trends 1-2 weeks before they peak
- Monitor 50 hashtags daily for $0.25/day
- Growth rate alerts replace manual browsing
- Historical data shows trend lifecycle patterns
- Cross-reference with Google Trends via same API
Python Example
import requests, os, json
from datetime import date
H = {'Authorization': f'Bearer {os.environ["SCAVIO_API_KEY"]}', 'Content-Type': 'application/json'}
def check_trends(hashtags, history_file='trends.json'):
try:
with open(history_file) as f: history = json.load(f)
except FileNotFoundError: history = {}
alerts = []
for tag in hashtags:
data = requests.post('https://api.scavio.dev/api/v1/tiktok/hashtag',
headers=H, json={'hashtag': tag}).json()['data']
views = data['stats']['view_count']
prev = history.get(tag, {}).get('views', views)
growth = (views - prev) / max(prev, 1) * 100
if growth > 5:
alerts.append({'tag': tag, 'growth': round(growth, 1), 'views': views})
history[tag] = {'views': views, 'date': date.today().isoformat()}
with open(history_file, 'w') as f: json.dump(history, f)
return alerts
alerts = check_trends(['smallbusiness', 'sidehustle', 'techtok'])
for a in alerts: print(f'TRENDING: #{a["tag"]} +{a["growth"]}%')JavaScript Example
const H = {'Authorization': `Bearer ${process.env.SCAVIO_API_KEY}`, 'Content-Type': 'application/json'};
const fs = require('fs');
async function checkTrends(hashtags) {
let history = {};
try { history = JSON.parse(fs.readFileSync('trends.json')); } catch {}
const alerts = [];
for (const tag of hashtags) {
const r = await fetch('https://api.scavio.dev/api/v1/tiktok/hashtag', {
method: 'POST', headers: H, body: JSON.stringify({hashtag: tag})
}).then(r => r.json());
const views = r.data.stats.view_count;
const prev = history[tag]?.views || views;
const growth = (views - prev) / (prev || 1) * 100;
if (growth > 5) alerts.push({tag, growth: growth.toFixed(1), views});
history[tag] = {views, date: new Date().toISOString().split('T')[0]};
}
fs.writeFileSync('trends.json', JSON.stringify(history));
return alerts;
}
checkTrends(['smallbusiness', 'techtok']).then(a => a.forEach(x => console.log(`#${x.tag}: +${x.growth}%`)));Platforms Used
TikTok
Trending video, creator, and product discovery