ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo construir una escucha social multiplataforma
Tutorial

Cómo construir una escucha social multiplataforma

Escuche menciones de marca en Reddit, TikTok, YouTube y Google desde una sola API. Seguimiento unificado de sentimiento y alcance.

Obtener clave API gratisDocumentacion API

Las herramientas de escucha social cobran entre 200 y 500 dólares al mes por el seguimiento multiplataforma. Este canal cubre menciones web de Reddit, TikTok, YouTube y Google desde una única API a $0,020 por escaneo. Unifica los formatos de menciones, califica el sentimiento, rastrea el alcance y genera un informe de escucha diario.

Requisitos previos

  • Python 3.8+
  • solicita biblioteca
  • Una clave API de Scavio de scavio.dev
  • Términos de marca y nombres de competidores

Guia paso a paso

Paso 1: Configurar una colección de menciones multiplataforma

Consulta cada plataforma en busca de menciones de marca utilizando el punto final API correcto.

Python
import os, requests, json
from datetime import datetime
from collections import Counter, defaultdict

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}
TH = {'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json'}

BRAND = 'Scavio'
COMPETITORS = ['Tavily', 'SerpAPI']

def collect_mentions(brand):
    mentions = []
    # Google web mentions
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': brand, 'country_code': 'us'}).json()
    for r in data.get('organic_results', [])[:5]:
        mentions.append({'platform': 'google', 'title': r.get('title', ''), 'text': r.get('snippet', ''), 'link': r.get('link', ''), 'reach': 0})
    # Reddit mentions
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': brand, 'platform': 'reddit', 'country_code': 'us'}).json()
    for r in data.get('organic_results', [])[:5]:
        mentions.append({'platform': 'reddit', 'title': r.get('title', ''), 'text': r.get('snippet', ''), 'link': r.get('link', ''), 'reach': 0})
    # YouTube mentions
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': brand, 'platform': 'youtube', 'country_code': 'us'}).json()
    for r in data.get('organic_results', [])[:5]:
        mentions.append({'platform': 'youtube', 'title': r.get('title', ''), 'text': r.get('snippet', ''), 'link': r.get('link', ''), 'reach': 0})
    # TikTok mentions
    data = requests.post('https://api.scavio.dev/api/v1/tiktok/search/videos',
        headers=TH, json={'query': brand}).json()
    for v in (data.get('videos', data.get('data', {}).get('videos', [])))[:5]:
        mentions.append({'platform': 'tiktok', 'title': v.get('desc', '')[:80], 'text': v.get('desc', ''), 'link': '', 'reach': v.get('stats', {}).get('playCount', 0)})
    return mentions

all_mentions = collect_mentions(BRAND)
by_platform = Counter(m['platform'] for m in all_mentions)
print(f'{BRAND}: {len(all_mentions)} total mentions')
for p, c in by_platform.most_common():
    print(f'  {p}: {c} mentions')
print(f'Cost: $0.020')

Paso 2: Unificar la puntuación de sentimiento en todas las plataformas

Aplique un análisis de sentimiento consistente a todos los tipos de menciones.

Python
POSITIVE = ['best', 'great', 'love', 'recommend', 'amazing', 'excellent', 'game changer', 'solid']
NEGATIVE = ['worst', 'terrible', 'avoid', 'hate', 'broken', 'expensive', 'scam', 'disappointed']

def score_sentiment(text):
    text_lower = text.lower()
    pos = sum(1 for w in POSITIVE if w in text_lower)
    neg = sum(1 for w in NEGATIVE if w in text_lower)
    if pos > neg: return 'positive'
    if neg > pos: return 'negative'
    return 'neutral'

def sentiment_by_platform(mentions):
    results = defaultdict(lambda: Counter())
    for m in mentions:
        sentiment = score_sentiment(f'{m["title"]} {m["text"]}')
        m['sentiment'] = sentiment
        results[m['platform']][sentiment] += 1
    print(f'\n=== Sentiment by Platform ===')
    for platform, sentiments in results.items():
        total = sum(sentiments.values())
        pos_pct = sentiments['positive'] / total * 100 if total else 0
        neg_pct = sentiments['negative'] / total * 100 if total else 0
        print(f'  {platform:10} | +{sentiments["positive"]} ~{sentiments["neutral"]} -{sentiments["negative"]} | {pos_pct:.0f}% positive')
    return results

sentiment_by_platform(all_mentions)

Paso 3: Generar informe de escucha social

Recopile todos los datos en un informe de escucha social procesable.

Python
def social_listening_report(brand, mentions, competitors):
    print(f'\n{"=" * 60}')
    print(f'  SOCIAL LISTENING REPORT - {brand}')
    print(f'  Date: {datetime.now().strftime("%Y-%m-%d")}')
    print(f'{"=" * 60}')
    # Overview
    total = len(mentions)
    positive = sum(1 for m in mentions if m.get('sentiment') == 'positive')
    negative = sum(1 for m in mentions if m.get('sentiment') == 'negative')
    total_reach = sum(m.get('reach', 0) for m in mentions)
    print(f'\n  Mentions: {total} | Reach: {total_reach:,}')
    print(f'  Sentiment: +{positive} ~{total-positive-negative} -{negative}')
    # Platform breakdown
    print(f'\n  Platform Breakdown:')
    by_platform = defaultdict(list)
    for m in mentions:
        by_platform[m['platform']].append(m)
    for p, items in by_platform.items():
        reach = sum(m.get('reach', 0) for m in items)
        print(f'    {p:10} | {len(items):3} mentions | reach: {reach:,}')
    # Top mentions by reach
    high_reach = sorted(mentions, key=lambda m: m.get('reach', 0), reverse=True)[:3]
    if any(m.get('reach', 0) > 0 for m in high_reach):
        print(f'\n  Top by Reach:')
        for m in high_reach:
            if m.get('reach', 0) > 0:
                print(f'    [{m["platform"]}] {m["reach"]:,} reach: {m["title"][:40]}')
    # Competitor comparison
    if competitors:
        print(f'\n  Competitor Comparison:')
        for comp in competitors:
            comp_mentions = collect_mentions(comp)
            print(f'    {comp:15} | {len(comp_mentions)} mentions')
    print(f'\n  Cost: $0.020 per brand scan')

social_listening_report(BRAND, all_mentions, COMPETITORS)

Ejemplo en Python

Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}
TH = {'Authorization': f'Bearer {os.environ["SCAVIO_API_KEY"]}', 'Content-Type': 'application/json'}

def listen(brand):
    for platform in [None, 'reddit', 'youtube']:
        body = {'query': brand, 'country_code': 'us'}
        if platform: body['platform'] = platform
        data = requests.post('https://api.scavio.dev/api/v1/search', headers=SH, json=body).json()
        print(f'{platform or "google"}: {len(data.get("organic_results", []))} mentions')
    tt = requests.post('https://api.scavio.dev/api/v1/tiktok/search/videos', headers=TH, json={'query': brand}).json()
    print(f'tiktok: {len(tt.get("videos", []))} mentions')

listen('Scavio')
print('Cost: $0.020')

Ejemplo en JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
for (const p of [null, 'reddit', 'youtube']) {
  const body = { query: 'Scavio', country_code: 'us', ...(p && { platform: p }) };
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: SH, body: JSON.stringify(body)
  }).then(r => r.json());
  console.log(`${p || 'google'}: ${(data.organic_results || []).length} mentions`);
}

Salida esperada

JSON
Scavio: 18 total mentions
  google: 5 mentions
  reddit: 5 mentions
  youtube: 4 mentions
  tiktok: 4 mentions
Cost: $0.020

============================================================
  SOCIAL LISTENING REPORT - Scavio
  Date: 2026-05-20
============================================================

  Mentions: 18 | Reach: 125,000
  Sentiment: +10 ~6 -2

  Platform Breakdown:
    google     |   5 mentions | reach: 0
    reddit     |   5 mentions | reach: 0
    youtube    |   4 mentions | reach: 0
    tiktok     |   4 mentions | reach: 125,000

  Cost: $0.020 per brand scan

Tutoriales relacionados

  • Cómo desarrollar la escucha social en TikTok
  • Cómo crear análisis de cuentas públicas a través de la API de TikTok
  • Cómo crear un seguimiento de marca multiplataforma con una API

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.

Python 3.8+. solicita biblioteca. Una clave API de Scavio de scavio.dev. Términos de marca y nombres de competidores. 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

Las mejores API de Reddit para datos de sentimiento bursátil 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

Encuentre personas influyentes de YouTube a través de API en lugar de scraping

Read more
Glossary

Cumplimiento de la API de TikTok versus raspado

Read more

Empieza a construir

Escuche menciones de marca en Reddit, TikTok, YouTube y Google desde una sola API. Seguimiento unificado de sentimiento y alcance.

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