Guide
|
por Hunt Team

yt-dlp en octubre de 2026: YouTube, TikTok, X, SoundCloud y el resto

El yt-dlp estable es 2026.10.26, publicado el 26 de octubre de 2026. Desde la versión del 29 de enero hasta esa etiqueta, casi todo el trabajo fue reparación. YouTube fue rotando clientes de reproducción. TikTok rompió las listas de formatos y después los enlaces para compartir. X quitó el login y arregló los contadores de visitas. SoundCloud perdió su client id. El extractor de Instagram se reescribió en julio. Vimeo ganó un cliente macOS en enero y lo perdió, junto con el de iOS, en agosto.

Las notas de abajo describen lo que esos extractores hacen de verdad en la etiqueta estable actual. Un medio privado, borrado o con restricción de edad sigue fallando, salvo que pases cookies. Varios sitios perdieron este año su login integrado, ya roto: un --username viejo ya no sirve.

SitioQué se movió en yt-dlp durante 2026
YouTubeClientes de reproducción todo el año. SABR sigue en versión previa.
InstagramExtractor reescrito en julio. Extracción con sesión arreglada en agosto.
TikTokChallenges JS, formatos y URLs para compartir (agosto).
VimeoCliente macOS añadido en enero, retirado con iOS en agosto.
XLogin retirado. Visitas y broadcasts arreglados.
FacebookLogin retirado. Extractor de anuncios arreglado.
TwitchUn canal ausente ahora es un error. Clips arreglados en junio y octubre.
RedditExtracción anónima arreglada en junio. Login retirado en julio.
SoundCloudClient id, suplantación de navegador, formatos originales, comentarios.
Kick, Bandcamp, Dailymotion, Patreon, LinkedInExtractores reparados. Detalle más abajo.

YouTube

Este extractor se movió en casi cada etiqueta estable.

De enero a marzo fue rotación de clientes de reproducción.

  • 2026.01.29: clientes por defecto ajustados, challenges n resueltos para formatos de manifiesto, el solucionador JS externo (EJS) subido a 0.4.0, hilos de comentarios, miniaturas de Shorts arregladas en la extracción plana de pestañas.
  • 2026.01.31: clientes rotos ios_downgraded y tv_embedded retirados. web_embedded añadido como respaldo de android_vr.
  • 2026.02.04: el JavaScript del player pasa por defecto a la variante tv.
  • 2026.02.21: más variantes JS conocidas del player, formatos adaptativos en directo marcados como incompletos, EJS 0.5.0. ytsearchdate, roto, retirado.
  • 2026.03.03: player fijado en 9f4cc5e4. La respuesta player de la página web se omite por defecto.
  • 2026.03.13: android_vr y web_embedded arreglados, configuraciones de web_safari y web_creator pedidas, EJS 0.7.0.
  • 2026.03.17: EJS 0.8.0, --live-from-start arreglado, el argumento webpage_client se respeta siempre.

Junio cambió la máquina, no el sitio. 2026.06.09 deja fuera Node anterior a 22, Deno anterior a 2.3.0 y Bun fuera del rango 1.2.11 a 1.3.14. La misma versión corrige la limpieza de tokens PO en Python 3.14.4+ y en Python 3.15. Era un fallo de cadena. La comprobación proof-of-origin de YouTube sigue ahí.

Julio y agosto:

  • 2026.07.04: formatos adaptativos en directo, y una tanda de arreglos de pestañas y listas (metadatos, paginación, colaboradores).
  • 2026.08.19: cliente visionos añadido, respaldos de web_embedded, android_vr fuera de los clientes por defecto, channel_follower_count para colaboradores, generación de fragmentos en directo arreglada.

2026.10.21 añadió un cliente tv_samsung y lo puso por defecto, envió un user-agent de Safari para web_embedded y arregló la extracción de los datos iniciales. La etiqueta del 26 de octubre no tocó YouTube. Quitó Python 3.10, exigió Windows 10 o posterior para los binarios oficiales de Windows y actualizó brotli y curl-cffi empaquetados tras sus avisos de seguridad.

SABR sigue fuera de la estable. El descargador de bitrate adaptativo en el servidor de YouTube vive en una línea previa sabr (una build de finales de octubre de 2026 en el fork de bashonly) y no aparece en el changelog de 2026.10.26. La guía de PO Token del proyecto dice que el cliente web expone hoy formatos SABR y pide un token proof-of-origin antes de servir el medio. El yt-dlp estable lo rodea preguntando a otros clientes (tv, tv_samsung, web_embedded, visionos) en lugar de hablar SABR.

Una URL pública basta para los clientes por defecto. Un vídeo privado, borrado o con límite de edad sigue pidiendo cookies, y algunos vídeos con límite de edad solo vuelven si la cuenta puede reproducirlos de verdad.

TikTok

  • 29 de enero: se extrae save_count. Los challenges de JavaScript se resuelven en Python nativo, así que TikTok no necesita el suelo de Deno o Node de YouTube.
  • 13 de marzo: la resolución de challenges se arregló otra vez, después de romperse.
  • 19 de agosto: se arreglaron el extractor y la lista de formatos, y empezaron a funcionar las URLs para compartir (los enlaces cortos vm.tiktok.com).

Los vídeos públicos y esos enlaces cortos funcionan en 2026.10.26. Una cuenta privada sigue necesitando cookies.

X

En el changelog el extractor sigue llamándose Twitter.

  • 29 de enero: se retiró el soporte de login, ya roto. Los posts sin vídeo dentro de objetos unified_card ya no se extraen.
  • 21 de febrero: gestión de errores arreglada.
  • 9 de junio: view_count arreglado.
  • 19 de agosto: eventos de broadcast arreglados.

Un post de vídeo o un broadcast es el caso que funciona. Un post de texto sin medio se soltó en enero: --dump-json en esa URL no debe devolver un vídeo.

SoundCloud

  • 21 de febrero: extracción del client id arreglada, y suplantación de navegador añadida. SoundCloud había empezado a rechazar la huella TLS antigua.
  • 9 de junio: errores más claros, y --extractor-retries para los formatos originales del uploader.
  • 4 de julio: uploader_url en playlists, comentarios y una pasada más amplia de metadatos.

Si quieres el archivo que envió el uploader, y no el transcodificado, el flag de reintento de junio es el que cuenta. Los comentarios y uploader_url aparecen en el info dict a partir de julio.

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

Instagram

2026.07.04 reescribió el extractor y le hizo detectar cookies invalidadas, en lugar de fallar a mitad de una petición. 2026.08.19 arregló la extracción con sesión iniciada.

Los posts públicos funcionan sin sesión. Una cuenta privada sigue necesitando cookies de un navegador con sesión, y un tarro de cookies muerto falla ahora al principio, no a mitad de camino.

Vimeo

2026.01.29 añadió un cliente macos. 2026.08.19 retiró los clientes ios y macos. El cliente añadido en enero no pasó el verano. Las URLs públicas de Vimeo se siguen extrayendo. Los vídeos privados o con contraseña necesitan la contraseña o cookies, como antes.

Facebook, Reddit, Twitch

Facebook. El 29 de enero se retiró el login roto. El extractor de anuncios se arregló ese mismo día y otra vez el 21 de febrero. Solo vídeos públicos, salvo que pases tú las cookies. El login integrado ha desaparecido.

Reddit. El 9 de junio se arregló la extracción sin cuenta. El 4 de julio se retiró el login roto. Los posts públicos vuelven a funcionar en anónimo.

Twitch. El 29 de enero, un canal que no existe pasa a ser un error, no un resultado vacío. Los clips se arreglaron el 9 de junio y otra vez el 21 de octubre. Los subtítulos antiguos rechat se retiraron en junio. VODs y clips públicos.

Otros sitios que se movieron

  • Kick: extractores reescritos el 21 de octubre.
  • Bandcamp: el extractor weekly reparado más de una vez, suplantación de navegador el 19 de agosto y otro arreglo el 21 de octubre.
  • Dailymotion: arreglos del extractor el 29 de enero y el 21 de febrero.
  • Patreon: medios inline el 29 de enero, arreglo del extractor el 3 de marzo, nuevo formato de URL el 4 de julio.
  • LinkedIn: login roto retirado el 4 de julio.
  • Bilibili: extracción de API arreglada el 4 de julio.
  • Niconico: detección de errores y shorts el 4 de julio, canales el 21 de octubre.

Lo que 2026.10.26 pide a la máquina

2026.10.26 exige Python 3.11. Python 3.10 ya no está. Los binarios oficiales de Windows necesitan Windows 10 o posterior.

La versión del 21 de octubre avisa de que ejecutables antiguos pueden ser interceptados en el actualizador, tras el aviso de certifi. Si eso te afecta de verdad, instala 2026.10.26 descargándolo, no con yt-dlp -U.

YouTube sigue queriendo un runtime JS actual cuando resuelves challenges en local: Node 22 o más, Deno 2.3.0 o más, y Bun solo de 1.2.11 a 1.3.14. Ese suelo es del 9 de junio.

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"

Comprueba la etiqueta que estás lanzando de verdad con yt-dlp --version. Todo lo anterior a 2026.10.26 se pierde al menos el corte de Python 3.11, y todo lo anterior a 2026.10.21 no tiene tv_samsung entre los clientes por defecto de YouTube.

Sobre el binario: proxies, FFmpeg.

VIDEO API

Discover why Hunt is the preferred API provider for developers.