The Problem
By the time a TikTok product goes viral, the margins are gone. Dropshippers and DTC brands need to spot trending products in the 48-72 hour window between early traction and mass awareness. Manual monitoring means scrolling TikTok for hours, watching view counts, and guessing which products have real momentum versus paid promotion. There is no structured data feed for product trends, and the official API provides nothing useful for product intelligence. Teams that spot trends early win; everyone else competes on price.
The Scavio Solution
Scavio's TikTok endpoint surfaces trending hashtags, video engagement metrics, and product mentions in structured JSON. You query product-related hashtags, track view velocity across days, and flag products whose engagement is accelerating. The data arrives normalized with view counts, engagement rates, and creator metrics, so you can build scoring models that separate organic virality from paid pushes. A daily cron job replaces hours of manual scrolling.
Before
Before Scavio, finding trending TikTok products meant manual scrolling, gut instinct, and arriving late to every trend after margins had already compressed.
After
After Scavio, a daily automated scan surfaces products with accelerating engagement. The team evaluates opportunities with data instead of guesses and moves before the competition notices.
Who It Is For
Dropshippers, DTC brand scouts, and ecommerce product researchers who need to identify trending products in the 48-72 hour window before mass awareness destroys margins.
Key Benefits
- Structured engagement data for TikTok product hashtags
- View velocity tracking reveals acceleration before virality
- Creator metrics help separate organic trends from paid promotion
- Daily automated scans replace hours of manual scrolling
- JSON output feeds directly into scoring and alerting pipelines
Python Example
import requests
from datetime import datetime
API_KEY = "your_scavio_api_key"
BASE_URL = "https://api.scavio.dev/api/v1/tiktok"
def scan_trending_products(hashtags: list[str]) -> list[dict]:
trending = []
for tag in hashtags:
res = requests.post(
f"{BASE_URL}/hashtag",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"hashtag": tag},
timeout=15,
)
res.raise_for_status()
data = res.json()
for video in data.get("videos", []):
views = video.get("views", 0)
likes = video.get("likes", 0)
engagement_rate = likes / views if views > 0 else 0
if views > 50000 and engagement_rate > 0.05:
trending.append({
"hashtag": tag,
"video_id": video.get("id"),
"views": views,
"likes": likes,
"engagement_rate": round(engagement_rate, 4),
"creator": video.get("creator", ""),
"detected": datetime.utcnow().isoformat(),
})
return sorted(trending, key=lambda x: x["engagement_rate"], reverse=True)
product_hashtags = ["tiktokmademebuyit", "amazonfind", "viralproduct", "dropshipping2026"]
results = scan_trending_products(product_hashtags)
for item in results[:10]:
print(f"{item['hashtag']} | {item['views']:,} views | {item['engagement_rate']:.1%} ER")JavaScript Example
const API_KEY = "your_scavio_api_key";
const BASE_URL = "https://api.scavio.dev/api/v1/tiktok";
async function scanTrendingProducts(hashtags) {
const trending = [];
for (const tag of hashtags) {
const res = await fetch(`${BASE_URL}/hashtag`, {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({ hashtag: tag }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
for (const video of data.videos ?? []) {
const views = video.views ?? 0;
const likes = video.likes ?? 0;
const engagementRate = views > 0 ? likes / views : 0;
if (views > 50000 && engagementRate > 0.05) {
trending.push({
hashtag: tag,
videoId: video.id,
views,
likes,
engagementRate: Math.round(engagementRate * 10000) / 10000,
creator: video.creator ?? "",
detected: new Date().toISOString(),
});
}
}
}
return trending.sort((a, b) => b.engagementRate - a.engagementRate);
}
const hashtags = ["tiktokmademebuyit", "amazonfind", "viralproduct", "dropshipping2026"];
const results = await scanTrendingProducts(hashtags);
for (const item of results.slice(0, 10)) {
console.log(`${item.hashtag} | ${item.views.toLocaleString()} views | ${(item.engagementRate * 100).toFixed(1)}% ER`);
}Platforms Used
TikTok
Trending video, creator, and product discovery