Workflow

TikTok-to-Amazon Cross Monitor

Monitor TikTok viral products and cross-check Amazon listings. Detect trending products before they sell out on marketplaces.

Overview

This workflow monitors trending products on TikTok and cross-references them with Amazon listings to detect viral-to-marketplace opportunities. When a product starts trending on TikTok (based on hashtag volume and video engagement), the pipeline checks Amazon for the same product to see pricing, availability, and seller competition. Ecommerce teams use this to stock trending products before demand peaks on marketplaces.

Trigger

Daily cron schedule

Schedule

Runs daily

Workflow Steps

1

Scan TikTok trending hashtags

Query Scavio TikTok hashtag endpoint for product-related trending hashtags.

2

Identify product-related trends

Filter trends to find specific products or product categories with rising engagement.

3

Cross-reference on Amazon

Search Scavio Amazon for each trending product to check availability, pricing, and competition.

4

Score opportunity

Calculate an opportunity score based on TikTok trend strength vs Amazon competition level.

5

Output opportunity feed

Generate a ranked feed of product opportunities with TikTok and Amazon data.

Python Implementation

Python
import requests
import json
from datetime import datetime
from pathlib import Path

API_KEY = "your_scavio_api_key"
TIKTOK_URL = "https://api.scavio.dev/api/v1/tiktok"

def check_tiktok_trend(product: str) -> dict:
    res = requests.post(
        f"{TIKTOK_URL}/search/videos",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"query": product},
        timeout=15,
    )
    if not res.ok:
        return {"product": product, "tiktok_videos": 0, "tiktok_views": 0}
    videos = res.json().get("videos", [])
    return {
        "product": product,
        "tiktok_videos": len(videos),
        "tiktok_views": sum(v.get("play_count", 0) for v in videos),
    }

def check_amazon(product: str) -> dict:
    res = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "amazon", "query": product},
        timeout=15,
    )
    res.raise_for_status()
    results = res.json().get("organic", [])[:5]
    prices = [r.get("price") for r in results if r.get("price")]
    return {
        "amazon_listings": len(results),
        "price_range": f"${min(prices)}-${max(prices)}" if prices else "n/a",
    }

def run():
    date = datetime.utcnow().strftime("%Y-%m-%d")
    products = ["LED face mask", "portable blender", "cloud slides", "Stanley tumbler", "hair oil serum"]
    opportunities = []

    for product in products:
        tiktok = check_tiktok_trend(product)
        amazon = check_amazon(product)
        opportunities.append({**tiktok, **amazon})

    opportunities.sort(key=lambda x: x["tiktok_views"], reverse=True)
    Path(f"tiktok_amazon_{date}.json").write_text(json.dumps({"date": date, "opportunities": opportunities}, indent=2))
    for o in opportunities:
        print(f"  {o['product']}: {o['tiktok_views']:,} TikTok views, {o['amazon_listings']} Amazon listings ({o['price_range']})")

if __name__ == "__main__":
    run()

JavaScript Implementation

JavaScript
const API_KEY = "your_scavio_api_key";
const T = "https://api.scavio.dev/api/v1/tiktok";

async function checkTrend(product) {
  const tikRes = await fetch(`${T}/search/videos`, {
    method: "POST",
    headers: { Authorization: `Bearer ${API_KEY}`, "content-type": "application/json" },
    body: JSON.stringify({ query: product }),
  });
  const videos = tikRes.ok ? ((await tikRes.json()).videos ?? []) : [];
  const amzRes = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST",
    headers: { "x-api-key": API_KEY, "content-type": "application/json" },
    body: JSON.stringify({ platform: "amazon", query: product }),
  });
  const listings = ((await amzRes.json()).organic ?? []).slice(0, 5);
  return { product, tiktokVideos: videos.length, tiktokViews: videos.reduce((s, v) => s + (v.play_count ?? 0), 0), amazonListings: listings.length };
}

for (const p of ["LED face mask", "portable blender", "cloud slides"]) {
  const r = await checkTrend(p);
  console.log(`${r.product}: ${r.tiktokViews.toLocaleString()} TikTok views, ${r.amazonListings} Amazon listings`);
}

Platforms Used

TikTok

Trending video, creator, and product discovery

Amazon

Product search with prices, ratings, and reviews

Frequently Asked Questions

This workflow monitors trending products on TikTok and cross-references them with Amazon listings to detect viral-to-marketplace opportunities. When a product starts trending on TikTok (based on hashtag volume and video engagement), the pipeline checks Amazon for the same product to see pricing, availability, and seller competition. Ecommerce teams use this to stock trending products before demand peaks on marketplaces.

This workflow uses a daily cron schedule. Runs daily.

This workflow uses the following Scavio platforms: tiktok, amazon. 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.

TikTok-to-Amazon Cross Monitor

Monitor TikTok viral products and cross-check Amazon listings. Detect trending products before they sell out on marketplaces.