Tutorial

How to Track TikTok Trending Products

Find trending TikTok products for dropshipping using Google + YouTube SERP indexing. No TikTok API key or CAPTCHA dance required.

TikTok Shop and viral product videos are the biggest dropshipping channel of 2026, but TikTok blocks direct scrapers aggressively. Google and YouTube index TikTok videos cooperatively, which means you can find trending products via SERP without touching TikTok's API. This tutorial shows how to build a daily TikTok trending-product tracker.

Prerequisites

  • Python 3.8+
  • A Scavio API key
  • A target product category (e.g. 'kitchen gadgets')

Walkthrough

Step 1: Search Google for TikTok videos

Use a site operator to find TikTok videos in your category.

Python
import requests, os
API_KEY = os.environ['SCAVIO_API_KEY']

def tiktok_videos(category):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': f'site:tiktok.com {category} viral', 'num_results': 30})
    return r.json().get('organic_results', [])

Step 2: Cross-reference on YouTube

YouTube often mirrors TikTok trends. Search for product review videos.

Python
def youtube_reviews(category):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'youtube', 'query': f'{category} tiktok viral review', 'published_after': '1w'})
    return r.json().get('videos', [])[:10]

Step 3: Extract product names

Use the video titles and descriptions to extract product names.

Python
def extract_products(items):
    product_mentions = []
    for item in items:
        text = (item.get('title', '') + ' ' + item.get('description', '')).lower()
        product_mentions.append(text)
    return product_mentions

Step 4: Validate on Amazon

Search each product on Amazon to confirm it is sellable.

Python
def amazon_validate(product):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'amazon', 'query': product, 'marketplace': 'US'})
    return r.json().get('products', [])[:3]

Step 5: Build a daily trending list

Run the full pipeline on a schedule and save to CSV.

Python
import csv
from datetime import date

def run():
    category = 'kitchen gadgets'
    videos = tiktok_videos(category) + youtube_reviews(category)
    with open(f'trends_{date.today()}.csv', 'w') as f:
        w = csv.writer(f)
        w.writerow(['date', 'title', 'url', 'source'])
        for v in videos:
            w.writerow([date.today(), v.get('title'), v.get('link') or v.get('url'), 'tiktok' if 'tiktok' in (v.get('link') or v.get('url') or '') else 'youtube'])

Python Example

Python
import os, requests, csv
from datetime import date

API_KEY = os.environ['SCAVIO_API_KEY']

def scavio_search(body):
    r = requests.post('https://api.scavio.dev/api/v1/search', headers={'x-api-key': API_KEY}, json=body)
    return r.json()

def run(category):
    tiktok = scavio_search({'query': f'site:tiktok.com {category} viral'}).get('organic_results', [])
    youtube = scavio_search({'platform': 'youtube', 'query': f'{category} tiktok viral review'}).get('videos', [])
    all_items = tiktok + youtube
    for item in all_items[:10]:
        product = item.get('title', '')[:60]
        amazon = scavio_search({'platform': 'amazon', 'query': product, 'marketplace': 'US'}).get('products', [])
        if amazon:
            print(f'{product} -> ${amazon[0].get("price", "N/A")} on Amazon')

run('kitchen gadgets')

JavaScript Example

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
async function scavio(body) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify(body)
  });
  return r.json();
}
const category = 'kitchen gadgets';
const tiktok = (await scavio({ query: `site:tiktok.com ${category} viral` })).organic_results || [];
const youtube = (await scavio({ platform: 'youtube', query: `${category} tiktok viral review` })).videos || [];
for (const item of [...tiktok, ...youtube].slice(0, 10)) {
  const amazon = (await scavio({ platform: 'amazon', query: item.title?.slice(0, 60), marketplace: 'US' })).products || [];
  if (amazon[0]) console.log(`${item.title} -> $${amazon[0].price}`);
}

Expected Output

JSON
A daily-refreshed list of trending TikTok products with cross-references on YouTube and validated Amazon prices. Dropshippers can identify winners before they saturate.

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Python 3.8+. A Scavio API key. A target product category (e.g. 'kitchen gadgets'). A Scavio API key gives you 500 free credits per month.

Yes. The free tier includes 500 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Find trending TikTok products for dropshipping using Google + YouTube SERP indexing. No TikTok API key or CAPTCHA dance required.