Skip to content

Latest commit

 

History

History
171 lines (126 loc) · 7.62 KB

File metadata and controls

171 lines (126 loc) · 7.62 KB

TikHub API Python SDK

GitHub Stars GitHub Forks GitHub Issues GitHub Pull Requests License

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

TikHub Banner

Le SDK Python officiel pour l'API de données de médias sociaux TikHub — une API REST unifiée qui fournit un accès en temps réel à 16+ plateformes de médias sociaux, dont TikTok, Douyin, Instagram, YouTube, Twitter/X, Xiaohongshu (Red Note), Bilibili, Weibo, Threads, LinkedIn, Reddit, Kuaishou, WeChat, Lemon8, Zhihu, et plus encore.

Conçu pour les développeurs, les data scientists et les ingénieurs IA qui ont besoin de données structurées de médias sociaux à grande échelle — pour l'entraînement IA, l'analyse d'influenceurs, la veille de tendances, l'analyse de sentiments, les études de marché et la veille concurrentielle.

Pourquoi TikHub ?

  • 1000+ endpoints sur 16 plateformes avec une seule clé API
  • Données en temps réel — détails vidéo, profils utilisateurs, commentaires, résultats de recherche, livestreams, contenu tendance et analyses e-commerce
  • RESTful & natif OpenAPI — chaque endpoint est documenté dans la spécification OpenAPI et testable via Swagger UI
  • Intégration MCP — connectez les agents IA (Claude, LangChain, Coze, n8n) directement aux données sociales via Model Context Protocol
  • Datasets disponibles — 1 milliard+ d'enregistrements structurés pré-collectés pour l'entraînement et la recherche

Pourquoi ce SDK ?

  • Couverture à 100% — 1048 / 1048 endpoints de la spécification OpenAPI V5.3.2 (hors endpoints dépréciés), générés et vérifiés mécaniquement
  • Sync + async — clients TikHub et AsyncTikHub avec des APIs identiques
  • Prêt pour la production — nouvelles tentatives automatiques avec backoff exponentiel, gestion des limites de taux, hiérarchie d'erreurs structurée
  • Type-safe — compatible mypy --strict, construit sur httpx + pydantic v2
  • Zéro configuration — kwargs simples, pas d'objets de config ; définissez une variable d'environnement et c'est parti

Version : 2.1.1 — Requiert Python 3.9+

Plateformes supportées

Plateforme Ressource Endpoints
TikTok tiktok_web, tiktok_app_v3, tiktok_creator, tiktok_analytics, tiktok_ads, tiktok_shop_web 162
Douyin douyin_web, douyin_app_v3, douyin_search, douyin_billboard, douyin_creator, douyin_creator_v2, douyin_xingtu, douyin_xingtu_v2, douyin_index, douyin_douplus 319
Instagram instagram_v1, instagram_v2, instagram_v3 93
YouTube youtube_web, youtube_web_v2 34
Twitter / X twitter_web 25
Xiaohongshu (Red Note) xiaohongshu_app_v2, xiaohongshu_web_v3, xiaohongshu_pgy 45
Bilibili bilibili_web, bilibili_app, bilibili_huahuo 87
Weibo weibo_web_v2, weibo_app 56
Threads threads_web 12
LinkedIn linkedin_web_v2 8
Telegram telegram_web 7
Reddit reddit_app 28
Kuaishou kuaishou_web, kuaishou_app 38
WeChat wechat_channels_v2, wechat_media_platform_v2, wechat_search_v2 25
Lemon8 lemon8_app 16
Zhihu zhihu_web 41
Autres toutiao_web, toutiao_app, xigua_app_v2, pipixia_app 31

Installation

pip install tikhub

Requiert Python 3.9+.

Depuis les sources

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

Obtenir votre clé API

  1. Rendez-vous sur https://user.tikhub.io/login et inscrivez-vous / connectez-vous.
  2. Copiez votre clé API depuis le tableau de bord.
  3. Définissez-la comme variable d'environnement ou passez-la directement :
export TIKHUB_API_KEY="YOUR_API_KEY"

Démarrage rapide

from tikhub import TikHub

client = TikHub(api_key="YOUR_API_KEY")

# 1:1 avec la spécification OpenAPI — ressource = tag, méthode = basename du chemin
video = client.douyin_web.fetch_one_video(aweme_id="7251234567890123456")
print(video.aweme_detail.desc)

client.close()

Ou avec le gestionnaire de contexte recommandé :

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

Asynchrone

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())

Configuration

Le constructeur accepte un argument obligatoire et quelques kwargs optionnels :

TikHub(
    api_key=None,        # str | None — par défaut $TIKHUB_API_KEY
    timeout=30,          # float | None — timeout total de la requête en secondes
    base_url=None,       # str | None — à ne remplacer que pour un miroir privé

    # Avancé (rare) :
    max_retries=3,
    proxy=None,
    user_agent=None,
    parse_response=True,
    http_client=None,    # apportez votre propre httpx.Client
)

Règles de nommage

Le SDK est généré mécaniquement depuis la spécification OpenAPI de TikHub. Deux règles :

  1. Attribut de ressource = tag OpenAPI, en minuscules, tirets -> underscores, -API supprimé. Douyin-Web-API -> client.douyin_web. TikTok-App-V3-API -> client.tiktok_app_v3.
  2. Nom de méthode = le dernier segment du chemin API, tel quel. /api/v1/douyin/web/fetch_one_video -> client.douyin_web.fetch_one_video(...).

Les noms de paramètres correspondent exactement à la spécification OpenAPI.

CLI

export TIKHUB_API_KEY="YOUR_API_KEY"

tikhub health                                 # vérifier la connectivité API
tikhub fetch https://v.douyin.com/abc/        # analyseur universel d'URL vidéo
tikhub user info                              # forfait + quota
tikhub user usage                             # nombre de requêtes du jour

Toutes les commandes affichent du JSON sur stdout.

Licence

MIT.