ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Flujos de trabajo
  3. TikTok Comment Sentiment Diario
Flujo de trabajo

TikTok Comment Sentiment Diario

Diario TikTok comentario sentiment monitoreo for menciones de marca. Rastrear positive, negative, y competidor menciones a traves de video comentarios.

Comenzar gratisDocumentacion API

Resumen

Este flujo de trabajo monitorea TikTok video comentarios diario for menciones de marca y sentiment senales. It searches for videos mentioning your marca, obtiene their comentarios, classifies menciones as positive, negative, o neutral, y rastrea competidor menciones. El salida es un diario sentiment informe ese replaces $500+/mo social listening herramientas.

Desencadenador

Cron programar (diario at 9:00 AM UTC)

Programación

Ejecuta diario at 9:00 AM UTC

Pasos del flujo de trabajo

1

Search for brand-related videos

Call Scavio TikTok search/videos to encontrar reciente videos mentioning your marca o producto.

2

Obtener comentarios for cada video

Call el video/comentarios endpoint for cada relevante video to obtener structured comentario datos.

3

Filtrar for menciones de marca

Scan comentario text for marca palabras clave, competidor names, y sentiment indicator words.

4

Clasificar sentiment

Use palabra clave coincidencia to clasificar cada mencion as positive, negative, o neutral basado on context words.

5

Generar diario sentiment informe

Compile mencion counts, sentiment breakdown, y notable comentarios en un informe diario.

Implementacion en Python

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

API_KEY = "your_scavio_api_key"
BASE_URL = "https://api.scavio.dev/api/v1/tiktok"
BRAND = "yourbrand"
COMPETITORS = ["competitor1", "competitor2"]
POSITIVE_WORDS = ["love", "amazing", "best", "great", "awesome", "perfect", "recommend"]
NEGATIVE_WORDS = ["hate", "worst", "terrible", "awful", "broken", "scam", "avoid", "disappointing"]

def search_videos(query: str) -> list[dict]:
    res = requests.post(
        f"{BASE_URL}/search/videos",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"query": query},
        timeout=15,
    )
    res.raise_for_status()
    return res.json().get("videos", [])

def get_comments(video_id: str) -> list[dict]:
    res = requests.post(
        f"{BASE_URL}/video/comments",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"video_id": video_id},
        timeout=15,
    )
    res.raise_for_status()
    return res.json().get("comments", [])

def classify_sentiment(text: str) -> str:
    lower = text.lower()
    pos = sum(1 for w in POSITIVE_WORDS if w in lower)
    neg = sum(1 for w in NEGATIVE_WORDS if w in lower)
    if pos > neg:
        return "positive"
    if neg > pos:
        return "negative"
    return "neutral"

def run():
    videos = search_videos(BRAND)
    mentions = {"positive": [], "negative": [], "neutral": [], "competitor": []}

    for video in videos[:20]:
        video_id = video.get("id", "")
        if not video_id:
            continue
        comments = get_comments(video_id)
        for comment in comments:
            text = comment.get("text", "")
            lower = text.lower()
            if BRAND.lower() in lower:
                sentiment = classify_sentiment(text)
                mentions[sentiment].append({
                    "text": text[:200],
                    "likes": comment.get("likes", 0),
                    "video_id": video_id,
                })
            for comp in COMPETITORS:
                if comp.lower() in lower:
                    mentions["competitor"].append({"text": text[:200], "competitor": comp, "video_id": video_id})

    date = datetime.utcnow().strftime("%Y-%m-%d")
    report = {
        "date": date,
        "videos_scanned": min(len(videos), 20),
        "positive": len(mentions["positive"]),
        "negative": len(mentions["negative"]),
        "neutral": len(mentions["neutral"]),
        "competitor_mentions": len(mentions["competitor"]),
        "top_positive": sorted(mentions["positive"], key=lambda x: x["likes"], reverse=True)[:5],
        "top_negative": sorted(mentions["negative"], key=lambda x: x["likes"], reverse=True)[:5],
    }
    Path(f"tiktok_sentiment_{date}.json").write_text(json.dumps(report, indent=2))
    print(f"Sentiment: +{report['positive']} / -{report['negative']} / ~{report['neutral']} | Competitor: {report['competitor_mentions']}")

if __name__ == "__main__":
    run()

Implementacion en JavaScript

JavaScript
const API_KEY = "your_scavio_api_key";
const BASE_URL = "https://api.scavio.dev/api/v1/tiktok";
const BRAND = "yourbrand";
const POSITIVE = ["love", "amazing", "best", "great", "awesome"];
const NEGATIVE = ["hate", "worst", "terrible", "awful", "broken"];

async function searchVideos(query) {
  const res = await fetch(`${BASE_URL}/search/videos`, { method: "POST", headers: { Authorization: `Bearer ${API_KEY}`, "content-type": "application/json" }, body: JSON.stringify({ query }) });
  return (await res.json()).videos ?? [];
}

async function getComments(videoId) {
  const res = await fetch(`${BASE_URL}/video/comments`, { method: "POST", headers: { Authorization: `Bearer ${API_KEY}`, "content-type": "application/json" }, body: JSON.stringify({ video_id: videoId }) });
  return (await res.json()).comments ?? [];
}

const videos = await searchVideos(BRAND);
let pos = 0, neg = 0, neu = 0;
for (const v of videos.slice(0, 20)) {
  const comments = await getComments(v.id ?? "");
  for (const c of comments) {
    const lower = (c.text ?? "").toLowerCase();
    if (!lower.includes(BRAND.toLowerCase())) continue;
    const p = POSITIVE.filter((w) => lower.includes(w)).length;
    const n = NEGATIVE.filter((w) => lower.includes(w)).length;
    if (p > n) pos++; else if (n > p) neg++; else neu++;
  }
}
console.log(`Sentiment: +${pos} / -${neg} / ~${neu}`);

Plataformas utilizadas

TikTok

Descubrimiento de videos, creadores y productos en tendencia

Preguntas frecuentes

Este flujo de trabajo monitorea TikTok video comentarios diario for menciones de marca y sentiment senales. It searches for videos mentioning your marca, obtiene their comentarios, classifies menciones as positive, negative, o neutral, y rastrea competidor menciones. El salida es un diario sentiment informe ese replaces $500+/mo social listening herramientas.

Este flujo de trabajo usa un cron programar (diario at 9:00 am utc). Ejecuta diario at 9:00 AM UTC.

Este flujo de trabajo usa las siguientes plataformas de Scavio: tiktok. Cada plataforma se llama a traves del mismo endpoint de API unificado.

Si. El plan gratuito de Scavio incluye 50 creditos al registrarte sin tarjeta de credito. Es suficiente para probar y validar este flujo de trabajo antes de escalarlo.

TikTok Comment Sentiment Diario

Diario TikTok comentario sentiment monitoreo for menciones de marca. Rastrear positive, negative, y competidor menciones a traves de video comentarios.

Obtener tu clave APILeer 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