Workflow

Weekly TikTok Product Trend Detection Workflow

Detect trending products on TikTok before they hit Amazon. Weekly workflow cross-references TikTok viral videos with Amazon and Google Shopping demand.

Overview

Product trends start on TikTok 2-4 weeks before demand appears on Amazon and Google Shopping. This weekly workflow searches TikTok for viral product videos, cross-references with Amazon product availability, and identifies supply-demand gaps. Total weekly cost: $5-10 depending on categories tracked.

Trigger

Weekly cron on Wednesday at 6 AM UTC.

Schedule

Weekly (Wednesday 6 AM UTC)

Workflow Steps

1

Search TikTok for Viral Product Content

Search TikTok for product-related hashtags and keywords in target categories. Filter for videos with high engagement relative to account size.

2

Extract Product Signals

From viral videos, extract product names, categories, and price points mentioned in descriptions.

3

Cross-Reference with Amazon

Search Amazon for each identified product trend. Check if products are already available, how many listings exist, and current pricing.

4

Check Google Shopping Demand

Search Google Shopping for the same products to gauge broader demand signals beyond Amazon.

5

Generate Trend Report

Rank trends by TikTok virality vs Amazon supply gap. Highlight products with high TikTok engagement but few Amazon listings.

Python Implementation

Python
import requests, os

API_KEY = os.environ["SCAVIO_API_KEY"]
TT_H = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
SEARCH_H = {"x-api-key": API_KEY, "Content-Type": "application/json"}

def detect_trends(category: str) -> list:
    # Search TikTok
    tt_resp = requests.post(
        "https://api.scavio.dev/api/v1/tiktok/search",
        headers=TT_H,
        json={"query": f"{category} must have 2026", "type": "video"},
        timeout=15,
    )
    tt_videos = tt_resp.json().get("videos", [])
    # Get top trending products from viral videos
    trends = []
    for v in sorted(tt_videos, key=lambda x: x.get("stats", {}).get("play_count", 0), reverse=True)[:10]:
        product_hint = v.get("desc", "")[:80]
        # Cross-reference with Amazon
        amz = requests.post(
            "https://api.scavio.dev/api/v1/search",
            headers=SEARCH_H,
            json={"query": product_hint, "platform": "amazon"},
            timeout=15,
        ).json()
        amazon_results = len(amz.get("organic_results", []))
        trends.append({
            "tiktok_desc": product_hint,
            "tiktok_plays": v.get("stats", {}).get("play_count", 0),
            "amazon_listings": amazon_results,
            "gap_score": v.get("stats", {}).get("play_count", 0) / max(amazon_results, 1),
        })
    return sorted(trends, key=lambda x: x["gap_score"], reverse=True)

trends = detect_trends("kitchen gadget")
for t in trends[:5]:
    print(f"Gap score: {t['gap_score']:.0f} | TikTok: {t['tiktok_plays']:,} plays | Amazon: {t['amazon_listings']} listings")

JavaScript Implementation

JavaScript
const TT_H = {'Authorization': 'Bearer ' + process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
const S_H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function detectTrends(category) {
  const tr = await fetch('https://api.scavio.dev/api/v1/tiktok/search', {method:'POST', headers:TT_H, body:JSON.stringify({query:category+' must have 2026', type:'video'})});
  const videos = ((await tr.json()).videos||[]).sort((a,b)=>(b.stats?.play_count||0)-(a.stats?.play_count||0)).slice(0,10);
  const trends = [];
  for (const v of videos) {
    const ar = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:S_H, body:JSON.stringify({query:(v.desc||'').slice(0,80), platform:'amazon'})});
    const amz = (await ar.json()).organic_results||[];
    trends.push({desc:(v.desc||'').slice(0,80), plays:v.stats?.play_count||0, amazonListings:amz.length, gap:(v.stats?.play_count||0)/Math.max(amz.length,1)});
  }
  return trends.sort((a,b)=>b.gap-a.gap);
}
const t = await detectTrends('kitchen gadget');
t.slice(0,5).forEach(t=>console.log('Gap:'+Math.round(t.gap)+' TikTok:'+t.plays+' Amazon:'+t.amazonListings));

Platforms Used

TikTok

Trending video, creator, and product discovery

Amazon

Product search with prices, ratings, and reviews

Google Shopping

Shopping results with multi-retailer pricing

Frequently Asked Questions

Product trends start on TikTok 2-4 weeks before demand appears on Amazon and Google Shopping. This weekly workflow searches TikTok for viral product videos, cross-references with Amazon product availability, and identifies supply-demand gaps. Total weekly cost: $5-10 depending on categories tracked.

This workflow uses a weekly cron on wednesday at 6 am utc.. Weekly (Wednesday 6 AM UTC).

This workflow uses the following Scavio platforms: tiktok, amazon, google-shopping. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

Weekly TikTok Product Trend Detection Workflow

Detect trending products on TikTok before they hit Amazon. Weekly workflow cross-references TikTok viral videos with Amazon and Google Shopping demand.