Documentation API Hop
API de données YouTube
Consultez les vidéos, chaînes, Shorts, commentaires, publications communautaires, résultats de recherche et métadonnées de flux YouTube via 34 endpoints authentifiés : 32 GET et 2 POST.
Consultez les vidéos, chaînes, Shorts, commentaires, publications communautaires, résultats de recherche et métadonnées de flux YouTube via 34 endpoints authentifiés : 32 GET et 2 POST.
Authentification
Utilisez votre clé API API Hop dans l’en-tête d’autorisation. La disponibilité dépend des passerelles activées et des permissions de la clé ; cette documentation ne confirme pas une mise en production.
Authorization: Bearer YOUR_API_KEYRequêtes et tâches de sous-titres
Les opérations GET utilisent des paramètres de requête, sans corps. Le flux V3 utilise POST avec un corps application/json, sans paramètres de requête ; proxy_url doit figurer uniquement dans ce corps. Le segment de version choisit la version de l’interface YouTube. Les champs inconnus ou répétés sont refusés. Conservez les identifiants et curseurs sous forme de chaînes, y compris au-delà de la précision entière sûre de JavaScript.
curl --get "https://api.apihop.ai/v1/youtube/web/channels/id" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "channel_name=LinusTechTips"Réponses
Les endpoints synchrones conservent la réponse JSON native. Ceux des sous-titres renvoient success, data.id, data.status, data.result et requestId. Les exemples sont illustratifs, pas des résultats réels.
{"code":200,"data":{"channel_id":"UCXuqSBlHAE6Xw-yeJA0Tunw"}}Facturation et pagination
Pour les requêtes synchrones : La facturation porte sur chaque requête réussie, pas sur les éléments renvoyés. Chaque page est une requête distincte. La plupart des opérations coûtent $0.001. Les deux variantes de recherche V2 coûtent $0.002 et la variante de flux V2 $0.004. Consultez le prix de chaque endpoint. Les tarifs propres au compte prévalent. Les remises de volume du fournisseur ne sont pas automatiquement répercutées. Un échec fournisseur libère la réservation ; un échec de règlement renvoie une erreur sans répéter l’appel fournisseur.
Tâches de sous-titres
POST https://api.apihop.ai/v1/youtube/web-v2/videos/captions renvoie HTTP 202, un ID de tâche de la plateforme et Location: /v1/jobs/\{id\}. Interrogez GET https://api.apihop.ai/v1/youtube/web-v2/videos/captions/result?job_id=\{id\} toutes les 2–5 secondes. Seul le tenant propriétaire peut lire la tâche. La consultation est gratuite ; la création coûte $0.008 au tarif catalogue. Une absence de sous-titres est un succès facturable. Le format est fixé à la création (srt par défaut) ; le format facultatif de consultation doit correspondre, sinon HTTP 400 est renvoyé. data.result reste null avant COMPLETED ; la tâche peut aussi finir en FAILED. Seuls les sous-titres existants sont récupérés, sans transcription IA.
Si l’acceptation de la soumission est incertaine, elle n’est pas répétée et la réservation peut rester bloquée jusqu’au délai de 30 minutes de la tâche. Un résultat fournisseur peut rester en attente pendant le rapprochement de la facturation. Une erreur temporaire de consultation ne signifie pas un échec définitif.
{"success":true,"data":{"id":"9007199254740993001","status":"PROCESSING","result":null},"requestId":"example"}Périmètre et limites
web et web-v2 sélectionnent la famille d’interfaces. Le flux V3 accepte POST avec votre propre proxy HTTP à IP de sortie fixe. Les flux renvoient des métadonnées et des URL, pas des fichiers ni une garantie de téléchargement. La description d’une chaîne peut nécessiter une deuxième requête facturée avec continuation_token. Aucune nouvelle tentative automatique.
Le flux V3 utilise POST JSON via HTTPS et coûte $0.003 par requête réussie. Fournissez video_id et proxy_url (http:// avec port explicite et hôte public). Les destinations privées, de bouclage et locales au lien sont interdites ; encodez les caractères réservés des identifiants. Utilisez une sortie fixe ou une session persistante. itags vaut ["137", "140"] par défaut ; un format absent provoque un échec sans remplacement. verify_download vaut false par défaut. Téléchargez avec la même session proxy, la même IP publique de sortie réelle et streams[].download_headers. Une extraction d’URL réussie (HTTP 200) est facturée même si all_selected_streams_verified ou streams[].verified vaut false. La vérification échantillonne quelques octets, pas le fichier entier. URL et sessions expirent indépendamment ; fusionnez les flux audio et vidéo séparés côté client.
Référence
Envoyez uniquement les champs documentés pour l’endpoint choisi. Fournissez au moins un champ de chaque groupe d’alternatives. Les curseurs proviennent de la réponse précédente ; aucune pagination automatique n’est effectuée.
Erreurs
HTTP 400 indique des paramètres invalides, 401 une authentification invalide, 402 un solde insuffisant, 403 un accès refusé, 429 une limitation de débit et 5xx une défaillance du service ou du fournisseur. Conservez X-Request-Id pour le diagnostic. Un HTTP 200 contenant un code métier d’échec n’est pas un succès.
Sources officielles
Les endpoints et tarifs ont été vérifiés le 2026-10-31 dans le schéma officiel et les métadonnées tarifaires actuelles. Ces métadonnées prévalent sur les prix contradictoires du texte.