TikTok Product Trends Meet Ecommerce Intelligence
Detect product trends on TikTok before they hit Amazon and Google Shopping with cross-platform API.
Product trends surface on TikTok 2-6 weeks before they spike on Amazon and Google Shopping. Cross-platform API monitoring -- TikTok for early signals, Amazon for demand confirmation, Google Shopping for pricing intelligence -- lets e-commerce sellers move before competitors notice.
The Cross-Platform Signal Chain
TikTok is where trends start: a creator demo goes viral, comments flood with "where do I buy this," and within days the product sells out. Amazon search volume lags by 1-3 weeks. Google Shopping pricing adjusts as supply tightens. Monitoring all three platforms through one API gives you the full picture without juggling three vendor accounts.
Setup
import requests, os
from datetime import datetime
API_KEY = os.environ["SCAVIO_API_KEY"]
def tiktok_api(endpoint, payload):
return requests.post(
f"https://api.scavio.dev/api/v1/tiktok/{endpoint}",
headers={"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"},
json=payload
).json()["data"]
def search_api(platform, query, **kwargs):
return requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY,
"Content-Type": "application/json"},
json={"platform": platform, "query": query, **kwargs}
).json()["data"]Step 1: Detect TikTok Buzz
def tiktok_product_buzz(keyword, min_views=100000):
"""Search TikTok for product mentions and filter by virality."""
data = tiktok_api("search/videos",
{"keyword": keyword, "count": 20, "sort_type": "1"})
trending = []
for video in data.get("aweme_list", []):
views = video["statistics"]["play_count"]
if views >= min_views:
trending.append({
"desc": video["desc"][:120],
"views": views,
"likes": video["statistics"]["digg_count"],
"comments": video["statistics"]["comment_count"],
"shares": video["statistics"]["share_count"],
"author": video["author"]["unique_id"],
"created": datetime.fromtimestamp(
video["create_time"]).strftime("%Y-%m-%d"),
})
return sorted(trending, key=lambda x: x["views"], reverse=True)Step 2: Check Amazon Demand
def amazon_demand(product_query):
"""Check if the product is already selling on Amazon."""
results = search_api("amazon", product_query)
products = results.get("organic", [])[:5]
return [{
"title": p["title"][:80],
"price": p.get("price", "N/A"),
"rating": p.get("rating", "N/A"),
"reviews": p.get("reviews", 0),
"url": p["link"],
} for p in products]Step 3: Google Shopping Price Intelligence
def shopping_prices(product_query):
"""Get current Google Shopping prices for competitive analysis."""
results = search_api("google_shopping", product_query)
items = results.get("shopping", results.get("organic", []))[:8]
prices = []
for item in items:
price = item.get("price", "")
if price:
prices.append({
"title": item.get("title", "")[:60],
"price": price,
"source": item.get("source", ""),
})
return pricesCross-Platform Trend Report
def cross_platform_trend(keyword):
"""Full cross-platform product trend analysis."""
tiktok = tiktok_product_buzz(keyword) # 1 credit
amazon = amazon_demand(keyword) # 1 credit
shopping = shopping_prices(keyword) # 1 credit
early_stage = len(tiktok) >= 3 and len(amazon) == 0
print(f"{keyword}: TikTok={len(tiktok)} viral, "
f"Amazon={len(amazon)} listings, Shopping={len(shopping)} prices")
print(f" Stage: {'EARLY - source now' if early_stage else 'established'}")
return {
"keyword": keyword,
"tiktok_viral_count": len(tiktok),
"amazon_listings": len(amazon),
"shopping_prices": len(shopping),
"stage": "early" if early_stage else "established",
}
# 3 credits ($0.015) per keyword
trends = [cross_platform_trend(kw) for kw in
["portable neck fan 2026", "mushroom coffee", "desk treadmill"]]Daily Monitoring Pipeline
import json
WATCHLIST = ["ice roller skincare", "mini projector portable",
"standing desk pad", "protein water"]
def daily_scan():
early = [cross_platform_trend(kw) for kw in WATCHLIST]
early = [t for t in early if t["stage"] == "early"]
if early:
with open("early-trends.json", "w") as f:
json.dump(early, f, indent=2)
print(f"{len(early)} early-stage trends detected")
return early
# Cost: 4 keywords x 3 credits = 12/day = 360/month ($30 plan)Why One API Matters
Stitching together TikTok scraping (unreliable, rate-limited), Amazon Product API (requires affiliate account, 1 req/sec limit), and a Google Shopping scraper (breaks monthly) creates a brittle pipeline. Scavio wraps all three in one authenticated endpoint. One API key, one billing dashboard, one rate limit to manage. At $0.005/credit, monitoring 20 product keywords daily costs $3/month.