Skip to content

Latest commit

 

History

History
170 lines (125 loc) · 7.31 KB

File metadata and controls

170 lines (125 loc) · 7.31 KB

TikHub API Python SDK

GitHub Stars GitHub Forks GitHub Issues GitHub Pull Requests License

English | 中文 | Français | Español | 日本語

TikHub Banner

El SDK oficial de Python para la API de datos de redes sociales de TikHub — una API REST unificada que proporciona acceso en tiempo real a más de 16 plataformas de redes sociales, incluyendo TikTok, Douyin, Instagram, YouTube, Twitter/X, Xiaohongshu (Red Note), Bilibili, Weibo, Threads, LinkedIn, Reddit, Kuaishou, WeChat, Lemon8, Zhihu, y más.

Diseñado para desarrolladores, científicos de datos e ingenieros de IA que necesitan datos estructurados de redes sociales a escala — para entrenamiento de IA, análisis de influencers, monitoreo de tendencias, análisis de sentimientos, investigación de mercado e inteligencia competitiva.

¿Por qué TikHub?

  • Más de 1000 endpoints en 16 plataformas con una sola clave API
  • Datos en tiempo real — detalles de vídeos, perfiles de usuarios, comentarios, resultados de búsqueda, transmisiones en vivo, contenido en tendencia y análisis de e-commerce
  • RESTful y nativo de OpenAPI — cada endpoint está documentado en la especificación OpenAPI y se puede probar vía Swagger UI
  • Integración MCP — conecta agentes de IA (Claude, LangChain, Coze, n8n) directamente a los datos sociales vía Model Context Protocol
  • Datasets disponibles — más de 1000 millones de registros estructurados pre-recolectados para entrenamiento e investigación

¿Por qué este SDK?

  • Cobertura del 100% — 1010 / 1010 endpoints de la especificación OpenAPI V5.3.2, generados y verificados mecánicamente
  • Sync + async — clientes TikHub y AsyncTikHub con APIs idénticas
  • Listo para producción — reintentos automáticos con backoff exponencial, manejo de límites de tasa, jerarquía de errores estructurada
  • Type-safe — compatible con mypy --strict, construido sobre httpx + pydantic v2
  • Cero configuración — kwargs simples, sin objetos de configuración; establece una variable de entorno y listo

Versión: 2.1.1 — Requiere Python 3.9+

Plataformas soportadas

Plataforma Recurso Endpoints
TikTok tiktok_web, tiktok_app_v3, tiktok_creator, tiktok_analytics, tiktok_ads, tiktok_shop_web 200+
Douyin douyin_web, douyin_app_v3, douyin_search, douyin_billboard, douyin_creator, douyin_xingtu 400+
Instagram instagram_v1, instagram_v2, instagram_v3 80+
YouTube youtube_web, youtube_web_v2 50+
Twitter / X twitter_web 13+
Xiaohongshu (Red Note) xiaohongshu_web, xiaohongshu_app (+ variantes v2/v3) 80+
Bilibili bilibili_web, bilibili_app 40+
Weibo weibo_web, weibo_web_v2, weibo_app 30+
Threads threads_web 10+
LinkedIn linkedin_web 10+
Reddit reddit_app 10+
Kuaishou kuaishou_web, kuaishou_app 20+
WeChat wechat_channels, wechat_media_platform_web 20+
Lemon8 lemon8_app 10+
Zhihu zhihu_web 30+
Otros toutiao_web, toutiao_app, xigua_app_v2, pipixia_app, sora2 30+

Instalación

pip install tikhub

Requiere Python 3.9+.

Desde el código fuente

git clone https://github.com/TikHub/TikHub-API-Python-SDK.git
cd TikHub-API-Python-SDK
pip install -e ".[dev]"
pytest -q

Obtener tu clave API

  1. Ve a https://user.tikhub.io/login y regístrate / inicia sesión.
  2. Copia tu clave API desde el panel de control.
  3. Establécela como variable de entorno o pásala directamente:
export TIKHUB_API_KEY="YOUR_API_KEY"

Inicio rápido

from tikhub import TikHub

client = TikHub(api_key="YOUR_API_KEY")

# 1:1 con la especificación OpenAPI — recurso = tag, método = basename de la ruta
video = client.douyin_web.fetch_one_video(aweme_id="7251234567890123456")
print(video.aweme_detail.desc)

client.close()

O con el gestor de contexto recomendado:

with TikHub(api_key="YOUR_API_KEY") as client:
    health = client.health_check.check()
    print(health.status)

Asíncrono

import asyncio
from tikhub import AsyncTikHub

async def main():
    async with AsyncTikHub(api_key="YOUR_API_KEY") as client:
        video = await client.douyin_web.fetch_one_video(aweme_id="...")
        print(video.aweme_detail.desc)

asyncio.run(main())

Configuración

El constructor acepta un argumento obligatorio y algunos kwargs opcionales:

TikHub(
    api_key=None,        # str | None — por defecto $TIKHUB_API_KEY
    timeout=30,          # float | None — timeout total de la solicitud en segundos
    base_url=None,       # str | None — solo sobrescribir para un espejo privado

    # Avanzado (raro):
    max_retries=3,
    proxy=None,
    user_agent=None,
    parse_response=True,
    http_client=None,    # trae tu propio httpx.Client
)

Reglas de nomenclatura

El SDK se genera mecánicamente a partir de la especificación OpenAPI de TikHub. Dos reglas:

  1. Atributo de recurso = tag OpenAPI, en minúsculas, guiones -> underscores, -API eliminado. Douyin-Web-API -> client.douyin_web. TikTok-App-V3-API -> client.tiktok_app_v3.
  2. Nombre del método = el último segmento de la ruta API, tal cual. /api/v1/douyin/web/fetch_one_video -> client.douyin_web.fetch_one_video(...).

Los nombres de parámetros coinciden exactamente con la especificación OpenAPI.

CLI

export TIKHUB_API_KEY="YOUR_API_KEY"

tikhub health                                 # verificar conectividad de la API
tikhub fetch https://v.douyin.com/abc/        # analizador universal de URLs de vídeo
tikhub user info                              # plan + cuota
tikhub user usage                             # conteo de solicitudes de hoy

Todos los comandos imprimen JSON en stdout.

Licencia

MIT.