Skip to content

Latest commit

 

History

History
170 lines (125 loc) · 7.46 KB

File metadata and controls

170 lines (125 loc) · 7.46 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% — 1010 / 1010 endpoints de la spécification OpenAPI V5.3.2, 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 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+
Autres toutiao_web, toutiao_app, xigua_app_v2, pipixia_app, sora2 30+

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.