ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un rastreador de tendencias de comercio electrónico de TikTok
Tutorial

Cómo crear un rastreador de tendencias de comercio electrónico de TikTok

Cree un rastreador de tendencias de comercio electrónico de TikTok que monitoree productos virales y hashtags para dropshipping e investigación de DTC. Código Python y JS incluido.

Obtener clave API gratisDocumentacion API

La creación de un rastreador de tendencias de comercio electrónico de TikTok con una API le permite monitorear productos virales, hashtags de tendencias y nichos emergentes en tiempo real para que pueda obtener productos ganadores antes de que sus competidores los detecten. Este tutorial lo guiará a través de la búsqueda de contenido de TikTok relacionado con el comercio electrónico, la extracción de señales de productos a partir de hashtags y subtítulos, y la creación de un sistema de puntuación que clasifica las tendencias por velocidad y participación.

Requisitos previos

  • Clave API de Scavio con acceso a TikTok (250 créditos gratuitos al mes en scavio.dev)
  • Python 3.9+ o Node.js 18+
  • Comprensión básica de la investigación de productos de comercio electrónico

Guia paso a paso

Paso 1: Definir consultas de búsqueda de descubrimiento de productos

Cree una lista de consultas de búsqueda de TikTok que muestren productos virales. Utilice consultas estilo hashtag y palabras clave de categorías de productos que los dropshippers y las marcas DTC comúnmente monitorean. Incluya consultas de tendencias amplias y específicas de nichos.

Python
search_queries = [
    'tiktok made me buy it',
    'viral product 2026',
    'amazon finds must have',
    'small business check',
    'dropshipping winning product',
    'kitchen gadget viral',
    'skincare routine viral',
    'home organization hack',
]

Paso 2: Busque en TikTok contenido de tendencia

Consulte el punto final de búsqueda de Scavio TikTok para cada consulta de descubrimiento de producto. Recopile metadatos de video, incluidos recuentos de vistas, me gusta, acciones compartidas, hashtags y fechas de publicación. Estos datos sin procesar se convierten en su señal de tendencia.

Python
import requests

API_KEY = 'your_scavio_api_key'

def search_tiktok(query, count=20):
    resp = requests.post(
        'https://api.scavio.dev/api/v1/tiktok/search/videos',
        headers={'Authorization': f'Bearer {API_KEY}'},
        json={'query': query, 'count': count}
    )
    resp.raise_for_status()
    return resp.json().get('videos', [])

all_videos = []
for q in search_queries:
    videos = search_tiktok(q, count=20)
    for v in videos:
        v['search_query'] = q
    all_videos.extend(videos)

print(f'Collected {len(all_videos)} videos across {len(search_queries)} queries')

Paso 3: Extraer y clasificar hashtags por participación

Analice los hashtags de todos los videos recopilados y agregue métricas de participación por hashtag. Los hashtags que aparecen en varios videos de alta participación indican un producto o nicho de tendencia.

Python
from collections import defaultdict

hashtag_stats = defaultdict(lambda: {'total_views': 0, 'total_likes': 0, 'video_count': 0})

for v in all_videos:
    for tag in v.get('hashtags', []):
        tag_lower = tag.lower()
        hashtag_stats[tag_lower]['total_views'] += v.get('views', 0)
        hashtag_stats[tag_lower]['total_likes'] += v.get('likes', 0)
        hashtag_stats[tag_lower]['video_count'] += 1

# Rank by a composite score: views * sqrt(video_count)
import math

ranked = sorted(
    hashtag_stats.items(),
    key=lambda x: x[1]['total_views'] * math.sqrt(x[1]['video_count']),
    reverse=True
)

print('Top trending hashtags:')
for tag, stats in ranked[:15]:
    print(f'  #{tag}: {stats["total_views"]:,} views, {stats["video_count"]} videos')

Paso 4: Calificar y clasificar tendencias de productos

Asigne una puntuación de tendencia a cada grupo de hashtags en función de la velocidad de participación (vistas por video), la amplitud (cantidad de videos únicos) y la actualidad. Clasifique las tendencias como emergentes, máximas o saturadas según los umbrales de puntuación.

Python
def score_trend(stats):
    views_per_video = stats['total_views'] / max(stats['video_count'], 1)
    breadth = stats['video_count']
    score = (views_per_video / 1000) * math.sqrt(breadth)
    if score > 100 and breadth < 10:
        phase = 'emerging'
    elif score > 50:
        phase = 'peaking'
    else:
        phase = 'saturated'
    return {'score': round(score, 1), 'phase': phase, 'views_per_video': int(views_per_video)}

trends = []
for tag, stats in ranked[:30]:
    trend = score_trend(stats)
    trend['hashtag'] = tag
    trend['total_views'] = stats['total_views']
    trend['video_count'] = stats['video_count']
    trends.append(trend)

for t in trends[:10]:
    print(f'#{t["hashtag"]} | score: {t["score"]} | phase: {t["phase"]} | {t["views_per_video"]:,} views/vid')

Paso 5: Informe de tendencias de exportación

Guarde las tendencias puntuadas en un archivo JSON que pueda incorporar a su flujo de trabajo de investigación de productos, alertas de Slack o panel de control. Incluya los datos sin procesar para que pueda volver a calificar con diferentes umbrales más adelante.

Python
import json

report = {
    'scan_date': '2026-05-12',
    'total_videos_analyzed': len(all_videos),
    'unique_hashtags': len(hashtag_stats),
    'top_trends': trends,
}

with open('tiktok_ecommerce_trends.json', 'w') as f:
    json.dump(report, f, indent=2)

print(f'Exported {len(trends)} trends to tiktok_ecommerce_trends.json')

Ejemplo en Python

Python
import requests
import math
import json
from collections import defaultdict

API_KEY = 'your_scavio_api_key'

search_queries = [
    'tiktok made me buy it',
    'viral product 2026',
    'amazon finds must have',
    'dropshipping winning product',
]

def search_tiktok(query, count=20):
    resp = requests.post(
        'https://api.scavio.dev/api/v1/tiktok/search/videos',
        headers={'Authorization': f'Bearer {API_KEY}'},
        json={'query': query, 'count': count}
    )
    resp.raise_for_status()
    return resp.json().get('videos', [])

all_videos = []
for q in search_queries:
    videos = search_tiktok(q, count=20)
    for v in videos:
        v['search_query'] = q
    all_videos.extend(videos)

hashtag_stats = defaultdict(lambda: {'total_views': 0, 'total_likes': 0, 'video_count': 0})
for v in all_videos:
    for tag in v.get('hashtags', []):
        tag_lower = tag.lower()
        hashtag_stats[tag_lower]['total_views'] += v.get('views', 0)
        hashtag_stats[tag_lower]['total_likes'] += v.get('likes', 0)
        hashtag_stats[tag_lower]['video_count'] += 1

ranked = sorted(
    hashtag_stats.items(),
    key=lambda x: x[1]['total_views'] * math.sqrt(x[1]['video_count']),
    reverse=True
)

trends = []
for tag, stats in ranked[:30]:
    vpv = stats['total_views'] / max(stats['video_count'], 1)
    score = (vpv / 1000) * math.sqrt(stats['video_count'])
    phase = 'emerging' if score > 100 and stats['video_count'] < 10 else ('peaking' if score > 50 else 'saturated')
    trends.append({
        'hashtag': tag,
        'score': round(score, 1),
        'phase': phase,
        'total_views': stats['total_views'],
        'video_count': stats['video_count'],
    })

report = {
    'scan_date': '2026-05-12',
    'total_videos': len(all_videos),
    'top_trends': trends,
}

with open('tiktok_ecommerce_trends.json', 'w') as f:
    json.dump(report, f, indent=2)

print(f'Analyzed {len(all_videos)} videos, found {len(trends)} trends')
for t in trends[:5]:
    print(f'  #{t["hashtag"]} | score: {t["score"]} | {t["phase"]}')

Ejemplo en JavaScript

JavaScript
const fs = require('fs');

const API_KEY = 'your_scavio_api_key';

const searchQueries = [
  'tiktok made me buy it',
  'viral product 2026',
  'amazon finds must have',
  'dropshipping winning product',
];

async function searchTiktok(query, count = 20) {
  const resp = await fetch('https://api.scavio.dev/api/v1/tiktok/search/videos', {
    method: 'POST',
    headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, count }),
  });
  const data = await resp.json();
  return data.videos || [];
}

async function main() {
  const allVideos = [];
  for (const q of searchQueries) {
    const videos = await searchTiktok(q, 20);
    videos.forEach(v => { v.search_query = q; });
    allVideos.push(...videos);
  }

  const hashtagStats = {};
  for (const v of allVideos) {
    for (const tag of v.hashtags || []) {
      const t = tag.toLowerCase();
      if (!hashtagStats[t]) hashtagStats[t] = { totalViews: 0, totalLikes: 0, videoCount: 0 };
      hashtagStats[t].totalViews += v.views || 0;
      hashtagStats[t].totalLikes += v.likes || 0;
      hashtagStats[t].videoCount += 1;
    }
  }

  const ranked = Object.entries(hashtagStats)
    .sort((a, b) => b[1].totalViews * Math.sqrt(b[1].videoCount) - a[1].totalViews * Math.sqrt(a[1].videoCount))
    .slice(0, 30);

  const trends = ranked.map(([tag, stats]) => {
    const vpv = stats.totalViews / Math.max(stats.videoCount, 1);
    const score = (vpv / 1000) * Math.sqrt(stats.videoCount);
    const phase = score > 100 && stats.videoCount < 10 ? 'emerging' : score > 50 ? 'peaking' : 'saturated';
    return { hashtag: tag, score: Math.round(score * 10) / 10, phase, totalViews: stats.totalViews, videoCount: stats.videoCount };
  });

  const report = { scan_date: '2026-05-12', total_videos: allVideos.length, top_trends: trends };
  fs.writeFileSync('tiktok_ecommerce_trends.json', JSON.stringify(report, null, 2));
  console.log(`Analyzed ${allVideos.length} videos, found ${trends.length} trends`);
  trends.slice(0, 5).forEach(t => console.log(`  #${t.hashtag} | score: ${t.score} | ${t.phase}`));
}

main();

Salida esperada

JSON
Analyzed 80 videos, found 30 trends
  #tiktokmademebuyit | score: 245.3 | peaking
  #viralproduct | score: 189.7 | peaking
  #amazonfind | score: 134.2 | emerging
  #kitchengadget | score: 98.4 | peaking
  #dropshipping2026 | score: 76.1 | emerging

Tutoriales relacionados

  • Cómo examinar a los creadores de TikTok antes del patrocinio con una lista de verificación de API
  • Cómo analizar el sentimiento de los comentarios de TikTok con API + LLM
  • Cómo crear una canalización de generación de leads con la API de búsqueda

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Clave API de Scavio con acceso a TikTok (250 créditos gratuitos al mes en scavio.dev). Python 3.9+ o Node.js 18+. Comprensión básica de la investigación de productos de comercio electrónico. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de análisis de hashtags de TikTok (2026)

Read more
Best Of

Mejor API de investigación de productos de TikTok en 2026

Read more
Glossary

API no oficial de TikTok

Read more
Comparison

TikTok Proxy Scraping vs TikTok Third-Party API (Scavio, TikAPI)

Read more
Solution

Supervise su marca en TikTok sin precios empresariales

Read more
Use Case

Inteligencia de dropshipping de TikTok

Read more

Empieza a construir

Cree un rastreador de tendencias de comercio electrónico de TikTok que monitoree productos virales y hashtags para dropshipping e investigación de DTC. Código Python y JS incluido.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad