Guide
|
par Hunt Team

État des lieux : yt-dlp et les plateformes (octobre 2026)

Le yt-dlp stable est 2026.10.26, publié le 26 octobre 2026. Entre la version du 29 janvier et celle-là, l'essentiel du travail a été de la réparation. YouTube a fait tourner ses clients de lecture. TikTok a cassé la liste des formats, puis les liens de partage. X a retiré le login et réparé les compteurs de vues. SoundCloud a perdu son client id. L'extracteur Instagram a été réécrit en juillet. Vimeo a gagné un client macOS en janvier et l'a perdu, avec le client iOS, en août.

Les notes ci-dessous décrivent ce que ces extracteurs font vraiment sur le tag stable actuel. Un média privé, supprimé ou limité par l'âge échoue encore, sauf si vous passez des cookies. Plusieurs sites ont perdu leur login intégré cette année : un vieux --username ne sert plus.

SiteCe qui a bougé dans yt-dlp en 2026
YouTubeClients de lecture toute l'année. SABR encore en préversion.
InstagramExtracteur réécrit en juillet. Extraction connectée réparée en août.
TikTokChallenges JS, formats, liens de partage (août).
VimeoClient macOS ajouté en janvier, retiré avec iOS en août.
XLogin retiré. Vues et broadcasts réparés.
FacebookLogin retiré. Extracteur des publicités réparé.
TwitchChaîne absente : erreur. Clips réparés en juin et en octobre.
RedditExtraction anonyme réparée en juin. Login retiré en juillet.
SoundCloudClient id, impersonation navigateur, formats originaux, commentaires.
Kick, Bandcamp, Dailymotion, Patreon, LinkedInExtracteurs réparés. Détail plus bas.

YouTube

Cet extracteur a bougé dans presque chaque tag stable.

De janvier à mars, ce sont les clients de lecture qui ont tourné.

  • 2026.01.29 : clients par défaut ajustés, challenges n résolus pour les manifests, solveur JS externe (EJS) passé en 0.4.0, fils de commentaires, miniatures des Shorts réparées dans l'extraction à plat des onglets.
  • 2026.01.31 : clients ios_downgraded et tv_embedded retirés, ils étaient cassés. web_embedded ajouté en repli pour android_vr.
  • 2026.02.04 : le JavaScript du player part par défaut sur la variante tv.
  • 2026.02.21 : davantage de variantes JS connues, formats adaptatifs live marqués incomplets, EJS 0.5.0. ytsearchdate, cassé, a été retiré.
  • 2026.03.03 : player épinglé sur 9f4cc5e4. La réponse player de la page web est ignorée par défaut.
  • 2026.03.13 : android_vr et web_embedded réparés, configs web_safari et web_creator demandées, EJS 0.7.0.
  • 2026.03.17 : EJS 0.8.0, --live-from-start réparé, l'argument webpage_client est toujours respecté.

Juin a changé la machine, pas le site. 2026.06.09 abandonne Node avant la 22, Deno avant 2.3.0, et Bun en dehors de 1.2.11 à 1.3.14. La même version corrige le nettoyage des jetons PO sur Python 3.14.4+ et sur Python 3.15. C'était un bug de chaîne de caractères. Le contrôle proof-of-origin de YouTube, lui, est toujours là.

Juillet et août :

  • 2026.07.04 : formats adaptatifs live, puis une série de correctifs sur les onglets et playlists (métadonnées, pagination, collaborateurs).
  • 2026.08.19 : client visionos ajouté, replis web_embedded, android_vr retiré des clients par défaut, channel_follower_count pour les collaborateurs, génération des fragments live réparée.

2026.10.21 ajoute un client tv_samsung, le met dans les clients par défaut, envoie un user-agent Safari pour web_embedded, et répare l'extraction des données initiales. Le tag du 26 octobre ne touche pas YouTube. Il retire Python 3.10, exige Windows 10 ou plus récent pour les binaires Windows officiels, et met à jour brotli et curl-cffi embarqués après leurs avis de sécurité.

SABR n'est pas dans le stable. Le téléchargeur au débit adaptatif côté serveur de YouTube vit sur une ligne de préversion sabr (un build de fin octobre 2026 sur le fork de bashonly), et il n'apparaît pas dans le changelog de 2026.10.26. Le guide PO Token du projet dit que le client web expose aujourd'hui des formats SABR et exige un jeton proof-of-origin avant de servir le média. Le yt-dlp stable contourne ça en interrogeant d'autres clients (tv, tv_samsung, web_embedded, visionos) au lieu de parler SABR.

Une URL publique suffit pour les clients par défaut. Une vidéo privée, supprimée ou limitée par l'âge demande encore des cookies, et certaines vidéos avec limite d'âge ne reviennent que si le compte peut vraiment les lire.

TikTok

  • 29 janvier : extraction de save_count. Les challenges JavaScript sont résolus en Python natif, donc TikTok n'a pas le plancher Deno ou Node de YouTube.
  • 13 mars : résolution des challenges réparée une nouvelle fois, après une nouvelle casse.
  • 19 août : extracteur et liste des formats réparés, et les liens de partage (vm.tiktok.com) se mettent à fonctionner.

Les vidéos publiques et ces liens courts passent sur 2026.10.26. Un compte privé demande toujours des cookies.

X

Dans le changelog, l'extracteur s'appelle encore Twitter.

  • 29 janvier : support du login, déjà cassé, retiré. Les posts sans vidéo dans les objets unified_card ne sont plus extraits.
  • 21 février : gestion des erreurs réparée.
  • 9 juin : view_count réparé.
  • 19 août : événements de broadcast réparés.

Un post vidéo ou un broadcast, ça passe. Un post texte sans média a été lâché en janvier : --dump-json sur cette URL ne doit pas renvoyer une vidéo.

SoundCloud

  • 21 février : extraction du client id réparée, et impersonation de navigateur ajoutée. SoundCloud avait commencé à rejeter l'ancienne empreinte TLS.
  • 9 juin : erreurs plus claires, et --extractor-retries pour les formats originaux de l'uploader.
  • 4 juillet : uploader_url sur les playlists, commentaires, et une passe plus large sur les métadonnées.

Si vous voulez le fichier envoyé par l'uploader, et pas le transcodage, c'est le flag de retry de juin qui compte. Les commentaires et uploader_url apparaissent dans l'info dict à partir de juillet.

yt-dlp -x --audio-format mp3 "https://soundcloud.com/artist/track"

Instagram

2026.07.04 réécrit l'extracteur et lui fait détecter les cookies invalidés, au lieu d'échouer au milieu d'une requête. 2026.08.19 répare l'extraction connectée.

Les posts publics passent sans session. Un compte privé demande encore les cookies d'un navigateur connecté, et un bocal de cookies mort échoue maintenant tout de suite, plus à mi-parcours.

Vimeo

2026.01.29 ajoute un client macos. 2026.08.19 retire les clients ios et macos. Le client ajouté en janvier n'a pas passé l'été. Les URLs Vimeo publiques s'extraient toujours. Les vidéos privées ou protégées par mot de passe demandent le mot de passe ou des cookies, comme avant.

Facebook, Reddit, Twitch

Facebook. Le 29 janvier retire le login cassé. L'extracteur des publicités est réparé le même jour, puis encore le 21 février. Vidéos publiques seulement, sauf si vous passez vous-même des cookies. Le login intégré a disparu.

Reddit. Le 9 juin répare l'extraction sans compte. Le 4 juillet retire le login cassé. Les posts publics repassent en anonyme.

Twitch. Le 29 janvier, une chaîne introuvable devient une erreur, plus un résultat vide. Les clips sont réparés le 9 juin, puis encore le 21 octobre. Les anciens sous-titres rechat sont retirés en juin. VODs et clips publics.

Les autres sites qui ont bougé

  • Kick : extracteurs réécrits le 21 octobre.
  • Bandcamp : l'extracteur weekly réparé plusieurs fois, impersonation navigateur le 19 août, un autre correctif le 21 octobre.
  • Dailymotion : correctifs d'extracteur le 29 janvier et le 21 février.
  • Patreon : médias inline le 29 janvier, correctif d'extracteur le 3 mars, nouveau format d'URL le 4 juillet.
  • LinkedIn : login cassé retiré le 4 juillet.
  • Bilibili : extraction d'API réparée le 4 juillet.
  • Niconico : détection d'erreur et shorts le 4 juillet, chaînes le 21 octobre.

Ce que 2026.10.26 demande à la machine

2026.10.26 exige Python 3.11. Python 3.10 a disparu. Les binaires Windows officiels demandent Windows 10 ou plus récent.

La version du 21 octobre prévient que d'anciens exécutables peuvent être interceptés sur l'auto-mise à jour, après l'avis certifi. Si ça vous concerne vraiment, installez 2026.10.26 en le téléchargeant, pas avec yt-dlp -U.

YouTube veut toujours un runtime JS à jour quand vous résolvez les challenges en local : Node 22 ou plus, Deno 2.3.0 ou plus, et Bun seulement de 1.2.11 à 1.3.14. Ce plancher date du 9 juin.

yt-dlp --js-runtimes deno "https://www.youtube.com/watch?v=VIDEO_ID"
yt-dlp -f "bv*[height<=1080]+ba/b" "https://www.youtube.com/watch?v=VIDEO_ID"

Vérifiez le tag que vous lancez vraiment avec yt-dlp --version. Tout ce qui est plus vieux que 2026.10.26 rate au moins la coupure Python 3.11, et tout ce qui est plus vieux que 2026.10.21 n'a pas tv_samsung dans les clients YouTube par défaut.

Pour le binaire lui-même : proxies, FFmpeg.

VIDEO API

Discover why Hunt is the preferred API provider for developers.