ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear análisis de cuentas públicas a través de la API de TikTok
Tutorial

Cómo crear análisis de cuentas públicas a través de la API de TikTok

Analice cualquier cuenta pública de TikTok: tasa de participación, frecuencia de publicación e indicadores de audiencia. Canalización de Python a $0,005/llamada.

Obtener clave API gratisDocumentacion API

No es necesario ser propietario de una cuenta para analizar las métricas públicas de TikTok. La API de Scavio TikTok le permite extraer cualquier perfil público y sus publicaciones recientes para calcular las tasas de participación, la frecuencia de publicación, los indicadores de crecimiento de la audiencia y los patrones de rendimiento del contenido. Cada llamada cuesta $0,005, lo que hace que una auditoría completa de la cuenta sea inferior a $0,02.

Requisitos previos

  • Python 3.8+
  • solicita biblioteca
  • Una clave API de Scavio de scavio.dev
  • Apunte a los nombres de usuario de TikTok para analizar

Guia paso a paso

Paso 1: Obtener datos de perfil público

Extraiga métricas de perfil para cualquier cuenta pública de TikTok.

Python
import os, requests, json
from datetime import datetime

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

def get_profile(username):
    data = requests.post('https://api.scavio.dev/api/v1/tiktok/profile',
        headers=TH, json={'username': username}).json()
    user = data.get('user', data.get('data', {}).get('user', data))
    return {
        'username': username,
        'followers': user.get('followerCount', user.get('fans', 0)),
        'following': user.get('followingCount', 0),
        'likes': user.get('heartCount', user.get('heart', 0)),
        'videos': user.get('videoCount', 0),
        'verified': user.get('verified', False),
        'bio': user.get('signature', '')[:100],
        'sec_uid': user.get('secUid', '')
    }

profile = get_profile('charlidamelio')
for k, v in profile.items():
    if k != 'sec_uid':
        val = f'{v:,}' if isinstance(v, int) else v
        print(f'  {k}: {val}')

Paso 2: Analizar el rendimiento de publicaciones recientes

Obtenga publicaciones recientes y calcule métricas de participación.

Python
def get_posts(sec_uid):
    data = requests.post('https://api.scavio.dev/api/v1/tiktok/user/posts',
        headers=TH, json={'sec_user_id': sec_uid}).json()
    posts = data.get('videos', data.get('data', {}).get('videos', []))
    return [{'desc': p.get('desc', '')[:60],
             'plays': p.get('stats', {}).get('playCount', 0),
             'likes': p.get('stats', {}).get('diggCount', 0),
             'comments': p.get('stats', {}).get('commentCount', 0),
             'shares': p.get('stats', {}).get('shareCount', 0),
             'created': p.get('createTime', 0)} for p in posts]

def analyze_engagement(posts, followers):
    if not posts or not followers:
        return {}
    total_eng = sum(p['likes'] + p['comments'] + p['shares'] for p in posts)
    total_plays = sum(p['plays'] for p in posts)
    avg_plays = total_plays / len(posts)
    avg_likes = sum(p['likes'] for p in posts) / len(posts)
    er = total_eng / total_plays * 100 if total_plays else 0
    follower_er = total_eng / (followers * len(posts)) * 100
    return {
        'avg_plays': int(avg_plays), 'avg_likes': int(avg_likes),
        'engagement_rate': round(er, 2), 'follower_er': round(follower_er, 2),
        'total_posts_analyzed': len(posts)
    }

posts = get_posts(profile['sec_uid'])
metrics = analyze_engagement(posts, profile['followers'])
for k, v in metrics.items():
    print(f'  {k}: {v:,}' if isinstance(v, int) else f'  {k}: {v}')

Paso 3: Calcular la frecuencia y los patrones de publicación

Determine con qué frecuencia se publica la cuenta e identifique patrones de sincronización.

Python
from datetime import datetime

def posting_patterns(posts):
    if len(posts) < 2:
        return {}
    timestamps = sorted([p['created'] for p in posts if p['created']])
    if not timestamps:
        return {}
    # Calculate posting frequency
    time_span_days = (timestamps[-1] - timestamps[0]) / 86400 if len(timestamps) > 1 else 1
    freq = len(posts) / max(time_span_days, 1)
    # Day of week distribution
    days = [datetime.fromtimestamp(t).strftime('%A') for t in timestamps if t]
    day_counts = {}
    for d in days:
        day_counts[d] = day_counts.get(d, 0) + 1
    best_day = max(day_counts, key=day_counts.get) if day_counts else 'Unknown'
    return {
        'posts_per_day': round(freq, 2),
        'posts_per_week': round(freq * 7, 1),
        'most_active_day': best_day,
        'time_span_days': round(time_span_days, 0)
    }

patterns = posting_patterns(posts)
print('Posting patterns:')
for k, v in patterns.items():
    print(f'  {k}: {v}')

Paso 4: Generar informe completo de auditoría de cuentas

Combine todos los análisis en un informe de cuenta completo.

Python
def audit_account(username):
    print(f'\n=== TikTok Account Audit: @{username} ===')
    profile = get_profile(username)
    cost = 0.005
    print(f'\nProfile:')
    print(f'  Followers: {profile["followers"]:,} | Following: {profile["following"]:,}')
    print(f'  Total likes: {profile["likes"]:,} | Videos: {profile["videos"]}')
    print(f'  Verified: {profile["verified"]} | Bio: {profile["bio"][:50]}')
    posts = get_posts(profile['sec_uid'])
    cost += 0.005
    metrics = analyze_engagement(posts, profile['followers'])
    print(f'\nEngagement ({len(posts)} recent posts):')
    print(f'  Avg plays: {metrics.get("avg_plays", 0):,}')
    print(f'  Avg likes: {metrics.get("avg_likes", 0):,}')
    print(f'  Play-based ER: {metrics.get("engagement_rate", 0)}%')
    print(f'  Follower-based ER: {metrics.get("follower_er", 0)}%')
    patterns = posting_patterns(posts)
    print(f'\nPosting:')
    print(f'  Frequency: {patterns.get("posts_per_week", 0)} posts/week')
    print(f'  Most active: {patterns.get("most_active_day", "Unknown")}')
    # Top performing post
    if posts:
        top = max(posts, key=lambda p: p['plays'])
        print(f'\nTop post: {top["desc"][:50]}... ({top["plays"]:,} plays)')
    print(f'\nAudit cost: ${cost:.3f}')

audit_account('charlidamelio')

Ejemplo en Python

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

def audit(username):
    p = requests.post('https://api.scavio.dev/api/v1/tiktok/profile',
        headers=TH, json={'username': username}).json()
    user = p.get('user', p.get('data', {}).get('user', p))
    followers = user.get('followerCount', 0)
    posts_data = requests.post('https://api.scavio.dev/api/v1/tiktok/user/posts',
        headers=TH, json={'sec_user_id': user.get('secUid', '')}).json()
    vids = posts_data.get('videos', posts_data.get('data', {}).get('videos', []))[:10]
    total_likes = sum(v.get('stats', {}).get('diggCount', 0) for v in vids)
    total_plays = sum(v.get('stats', {}).get('playCount', 0) for v in vids)
    er = total_likes / total_plays * 100 if total_plays else 0
    print(f'@{username}: {followers:,} followers, {er:.2f}% ER, {len(vids)} posts. Cost: $0.010')

audit('charlidamelio')

Ejemplo en JavaScript

JavaScript
const TH = { 'Authorization': `Bearer ${process.env.SCAVIO_API_KEY}`, 'Content-Type': 'application/json' };
async function audit(username) {
  const p = await fetch('https://api.scavio.dev/api/v1/tiktok/profile', {
    method: 'POST', headers: TH, body: JSON.stringify({ username })
  }).then(r => r.json());
  const user = p.user || p.data?.user || p;
  const posts = await fetch('https://api.scavio.dev/api/v1/tiktok/user/posts', {
    method: 'POST', headers: TH, body: JSON.stringify({ sec_user_id: user.secUid })
  }).then(r => r.json());
  const vids = (posts.videos || posts.data?.videos || []).slice(0, 10);
  const plays = vids.reduce((s, v) => s + (v.stats?.playCount || 0), 0);
  const likes = vids.reduce((s, v) => s + (v.stats?.diggCount || 0), 0);
  console.log(`@${username}: ${(user.followerCount||0).toLocaleString()} followers, ${(likes/plays*100).toFixed(2)}% ER`);
}
audit('charlidamelio').catch(console.error);

Salida esperada

JSON
=== TikTok Account Audit: @charlidamelio ===

Profile:
  Followers: 155,200,000 | Following: 1,234
  Total likes: 11,800,000,000 | Videos: 2,456
  Verified: True | Bio: dance + vibes

Engagement (10 recent posts):
  Avg plays: 8,900,000
  Avg likes: 1,200,000
  Play-based ER: 14.52%
  Follower-based ER: 0.85%

Posting:
  Frequency: 4.2 posts/week
  Most active: Tuesday

Top post: New dance challenge with... (23,400,000 plays)

Audit cost: $0.010

Tutoriales relacionados

  • Cómo crear un rastreador de competidores de TikTok
  • Cómo desarrollar la escucha social en TikTok
  • Cómo recopilar UGC de los hashtags de TikTok

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. Apunte a los nombres de usuario de TikTok para analizar. 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 datos de TikTok sin autenticación 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
Glossary

Cumplimiento de la API de TikTok versus raspado

Read more
Comparison

Apify TikTok Scraper vs Scavio TikTok API

Read more

Empieza a construir

Analice cualquier cuenta pública de TikTok: tasa de participación, frecuencia de publicación e indicadores de audiencia. Canalización de Python a $0,005/llamada.

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