¿Qué es Xtream Codes y qué es su API?
Xtream Codes es un sistema de gestión de IPTV que apareció a principios de la década de 2010 y acabó convirtiéndose en el software de panel estándar que los proveedores ejecutan en sus servidores. La empresa original cerró en 2019, pero el protocolo de la API Xtream Codes que popularizó sobrevivió y sigue siendo el estándar del sector en 2026. Por eso, al contratar casi cualquier suscripción IPTV, recibes tres valores en lugar de un archivo:
- URL de servidor (host:puerto): la dirección del panel de tu proveedor, escrita como host y puerto, por ejemplo
http://linea.example.com:8080. Tanto el esquema (httpohttps) como el puerto forman parte de ella. - Usuario: el nombre de tu cuenta en ese panel. Distingue mayúsculas de minúsculas.
- Contraseña: la contraseña de tu cuenta. También distingue mayúsculas de minúsculas.
La API Xtream Codes no es más que la interfaz HTTP con la que habla tu reproductor después de introducir esos tres valores. Por debajo, el reproductor llama a puntos como player_api.php?action=get_live_categories, get_vod_streams, get_series y get_short_epg. Tú no ves nada de eso, solo el resultado: una biblioteca ordenada y por categorías. Desde una única conexión, la API construye automáticamente:
- Canales en directo: organizados en categorías reales (deportes, noticias, infantil, por país) y con logotipos.
- VOD: un catálogo de películas con carátulas, sinopsis y metadatos.
- Series: con listas de temporadas y episodios.
- EPG: la guía de programación de los canales en directo, entregada por la misma conexión, así que no hace falta añadir un enlace XMLTV aparte.
Cómo conectarse con Xtream Codes
El paso decisivo es elegir la opción Inicio de sesión Xtream Codes en lugar de la opción de URL M3U: eso es lo que te da tres campos separados en vez de un único campo de URL.
- Abre Añadir lista. Inicia la aplicación. La prueba de 7 días no necesita clave y empieza con tu primera reproducción. Entra en la pantalla Listas y elige Añadir lista.
- Elige Inicio de sesión Xtream Codes. Verás tres campos: host y puerto, usuario y contraseña.
- Escribe el host y el puerto. Introduce el servidor con el formato
host:puerto, por ejemplohttp://linea.example.com:8080. Incluye el esquema y el puerto::8080y:80no son lo mismo. No pegues una URL completa deplayer_api.php; solo el host y el puerto base. - Escribe el usuario y la contraseña. Tal cual te los dio tu proveedor. Distinguen mayúsculas de minúsculas, así que copia y pega en lugar de teclear.
- Guarda y deja que se construyan las categorías. El reproductor llama a la API Xtream y crea tus categorías de Live, VOD y Series más el EPG: normalmente entre 5 y 30 segundos según el tamaño del catálogo.
¿Tienes un segundo proveedor? Repite los mismos cinco pasos. Nightmare TV mantiene varias conexiones Xtream en paralelo. Si tu proveedor solo te ha dado un enlace M3U simple, consulta cómo reproducir listas M3U en Windows.
Xtream Codes o URL M3U: cuándo usar cada uno
| Capacidad | Conexión Xtream Codes | URL M3U simple |
|---|---|---|
| Qué introduces | URL de servidor (host:puerto) + usuario + contraseña | Un único enlace, que suele acabar en .m3u o get.php?... |
| Canales en directo | Sí, en categorías reales | Sí, en lista plana (solo group-title) |
| VOD (películas) | Sí, con carátulas y metadatos | Rara vez, y sin estructura |
| Series | Sí, con temporadas y episodios | Sin seguimiento de temporadas |
| EPG / guía | Incluida en la conexión | Requiere URL XMLTV aparte |
| Actualización de los flujos | La API vuelve a resolver las URL | Los enlaces estáticos pueden caducar |
Usa Xtream Codes si tu proveedor lo admite, que es lo habitual. Una sola conexión entrega Live + VOD + Series + EPG, las categorías vienen estructuradas y las carátulas y datos de programación llegan solos. Usa una URL M3U simple cuando tu proveedor únicamente ofrezca M3U o cuando tengas una lista hecha a mano. Un truco: si te han dado un enlace M3U largo, el host:puerto del principio es tu URL de servidor, y los parámetros username= y password= son tus credenciales. Consulta M3U o Xtream Codes explicado.
Anatomía de una URL Xtream: get.php y player_api.php
Si te han dado un enlace largo en lugar de tres campos, o si has buscado get.php o type=m3u_plus, esto es lo que significa cada parte. Una URL típica de exportación M3U de Xtream se ve así:
http://linea.example.com:8080/get.php?username=USUARIO&password=CLAVE&type=m3u_plus&output=ts
| Parte | Qué es |
|---|---|
http://linea.example.com:8080 | La URL del servidor: esquema + host + puerto. Es exactamente lo que escribes en el campo «URL del servidor». El puerto importa: :8080 y :80 no son intercambiables. |
/get.php | El punto de exportación M3U. Toma tus credenciales y devuelve una lista M3U ya montada: cómodo, pero plano, no el catálogo estructurado. |
type=m3u_plus | La variante de lista. m3u_plus incluye los atributos completos tvg-id, tvg-logo y group-title, es decir logotipos y categorías; type=m3u a secas devuelve una lista pelada. Elige siempre m3u_plus. |
output=ts | El contenedor del flujo. output=ts sirve MPEG-TS, el más compatible; output=hls sirve HLS. Si los flujos TS se entrecortan, cambiar a HLS a veces ayuda, y al revés también. |
Existe un segundo punto de acceso más capaz: /player_api.php. En vez de un M3U plano devuelve JSON, que es lo que un cliente Xtream de verdad usa para construir el catálogo estructurado. Nunca escribes tú ninguna de esas rutas. Cuando introduces la URL del servidor, el usuario y la contraseña en los tres campos, el reproductor añade player_api.php por ti y construye Live + VOD + Series + EPG automáticamente: por eso un inicio de sesión Xtream real rinde mejor que pegar un enlace get.php en crudo.
Solución de problemas de conexión con Xtream Codes
- «Error de conexión» aunque la contraseña sea correcta. Las credenciales distinguen mayúsculas de minúsculas y suelen mezclar
0/Oy1/l/I. Copia y pega ambos campos y comprueba que no haya espacios sobrantes. - Puerto incorrecto (
:80frente a:8080). El puerto forma parte de la URL del servidor. Muchos paneles usan:8080, algunos:80o:25461. Verifica también el esquema:httpohttps. - Ruta o barra pegadas de más. Escribe solo el
host:puertobase. Quita cualquier/player_api.php,/get.phpo barra final. - «Max connections reached». La mayoría de suscripciones limita los flujos simultáneos, a menudo entre 1 y 3. Cierra la otra sesión o pide más conexiones a tu proveedor.
- Cuenta caducada o suspendida. Si el panel la marca como caducada, ningún reproductor podrá conectarse hasta que se renueve.
- Funciona en una aplicación pero no en otra. Casi siempre es el puerto o el esquema. Copia el
esquema://host:puertoexacto de la aplicación que sí funciona.
Preguntas frecuentes
¿Qué es Xtream Codes?
Xtream Codes es un sistema de gestión IPTV que se convirtió en el software de panel estándar que los proveedores ejecutan en sus servidores. La empresa original cerró en 2019, pero el protocolo de su API sobrevivió y sigue siendo el estándar del sector en 2026. Por eso, al contratar casi cualquier suscripción IPTV, recibes tres valores en lugar de un archivo: una URL de servidor con puerto, un usuario y una contraseña.
¿Cómo se conecta un reproductor con Xtream Codes?
Elige la opción de inicio de sesión Xtream Codes en lugar de la opción de URL M3U: eso te da tres campos separados. Escribe la URL del servidor en formato host:puerto incluyendo el esquema, por ejemplo http://linea.example.com:8080, y después el usuario y la contraseña exactamente como te los dio el proveedor. Guarda y espera entre cinco y treinta segundos mientras el reproductor construye las categorías.
¿Qué diferencia hay entre Xtream Codes y una URL M3U?
Una conexión Xtream Codes usa tres campos y devuelve un catálogo estructurado: canales en directo por categorías, VOD con carátulas, series con temporadas y episodios, y la guía EPG incluida. Una URL M3U simple es un único enlace que devuelve una lista plana, normalmente sin VOD estructurado, sin seguimiento de temporadas y sin EPG, que hay que añadir aparte mediante un enlace XMLTV.
¿Por qué falla mi inicio de sesión Xtream Codes si la contraseña es correcta?
La causa más habitual es el puerto o el esquema. Muchos paneles usan el puerto 8080, otros el 80 o el 25461, y http y https no son intercambiables. Después vienen los errores de mayúsculas y minúsculas: copia y pega el usuario y la contraseña en lugar de teclearlos, y comprueba que no haya espacios sobrantes. Escribe solo el host y el puerto base, sin añadir player_api.php, get.php ni una barra final.
Un reproductor Xtream Codes pensado para los televisores de 2026
Inicio de sesión Xtream completo. Categorías Live / VOD / Series automáticas y EPG incluido. HDR BT.2390 real en Windows y macOS. Passthrough Dolby Atmos. Multivista de 4 flujos (menos en dispositivos Android TV con poca memoria). Una licencia para Windows y Android TV. Prueba gratis de 7 días, sin clave.