Comprobador de incrustación de YouTube
Introducción
El Comprobador de incrustación de YouTube de Toollect responde a una pregunta que surge cada vez que alguien añade video a un sitio web: ¿se reproducirá este video aquí, en mi página? Pega un enlace y la herramienta comprueba el video contra dos superficies públicas de YouTube sin clave — el endpoint oEmbed y el reproductor incrustado — y te dice si el video es incrustable, reproducible, no existe o está restringido. Sin cuenta, sin clave API y sin subidas.
La trampa que elimina es la conocida. Copias un código de inserción, lo pones en tu página y más tarde descubres que el video muestra un reproductor gris, un mensaje de "Video no disponible" o un aviso de "Ver en YouTube" porque el propietario deshabilitó la incrustación. Para cuando la incrustación está publicada, eso ya es una pregunta de soporte. Comprobar antes convierte la misma tarea en un paso de dos segundos.
La comprobación se ejecuta por completo en tu navegador. La URL se analiza localmente, el estado de incrustación se lee del endpoint oEmbed público de YouTube y una incrustación en vivo carga en la página, pausada en su primer fotograma — nunca se reproduce sola, nunca silenciada por ti. Nada se sube, se guarda o se rastrea. El resultado aparece junto al título, el canal y la duración del video, que devuelve la propia incrustación — sin página aparte, sin scraper, sin servicio de terceros.
Cómo funciona
La herramienta divide la pregunta "¿se puede incrustar y reproducir?" en tres comprobaciones independientes. Cada una usa una superficie pública y sin clave de YouTube, y las tres se ejecutan localmente en tu navegador.
- Extracción del ID de video — la URL se analiza con el mismo patrón que usa YouTube, reconociendo enlaces watch, youtu.be, Shorts, embed y live, además de un ID suelto de 11 caracteres.
- Prueba de incrustación — la herramienta solicita el endpoint oEmbed de YouTube para el video. Un video incrustable devuelve un pequeño objeto JSON; un video cuyo propietario prohíbe la incrustación devuelve un error. Es el mismo endpoint que usan los servicios para generar tarjetas automáticamente.
- Comprobación del reproductor — la herramienta carga el reproductor incrustado, pausado en el primer fotograma, y escucha su estado. Si el video fue eliminado o restringido, el reproductor emite un código de error; si carga limpiamente, el propio reproductor devuelve el título, el canal y la duración, y pulsar play confirma la reproducción en vivo en el mismo recuadro.
Nada de esto requiere la API Data oficial de YouTube. El JavaScript del reproductor carga bajo demanda, no necesita cuota y se ejecuta por completo en tu navegador — tu enlace pegado nunca llega a un servidor controlado por este sitio.
Las dos superficies públicas en detalle
El endpoint oEmbed es una API pública y sin clave de YouTube. Una sola solicitud como https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ&format=json te da el título del video, el nombre del canal y la URL de la miniatura — o una negativa clara si el video no se puede incrustar. Como es una sonda de estado ligera, responde en un solo viaje de ida y vuelta.
La superficie del reproductor es la misma que usas cuando pegas un iframe: YouTube carga un pequeño reproductor IFrame en la página, y los códigos de estado del reproductor cuentan el resto de la historia. Un reproductor que alcanza su primer fotograma sin código de error es la prueba de que la incrustación aceptó el video, mientras que un reproductor que emite un error nombra el motivo: no encontrado, eliminado o restringido para incrustación. La vista previa permanece pausada en ese primer fotograma, exactamente como una incrustación normal: nada se reproduce solo y el volumen es el que tú has configurado.
Casos de uso
Más allá de lo obvio — "¿es seguro pegar este enlace?" — la herramienta encaja en flujos de trabajo reales.
Desarrollo web y de aplicaciones
Los desarrolladores que incrustan video de YouTube en paneles, páginas de aterrizaje o aplicaciones a menudo se topan con incrustaciones rotas un día después del lanzamiento. Añadir una comprobación previa durante la importación de contenido — generación de sitemaps, importación de CMS o recomendación de videos — detecta los videos no incrustables y eliminados antes de que lleguen a los usuarios. La misma sonda oEmbed es fácil de reutilizar como una sola línea en un script de build.
Producción de contenido y marketing
Los editores que preparan páginas promocionales, newsletters o artículos de base de conocimiento quieren enlazar muchos videos sin vigilar cada incrustación. Una tanda rápida de la herramienta, una URL a la vez, marca los videos que se renderizarían como marcadores rotos, de modo que la lista se publica limpia.
Investigación y triaje de archivos
Periodistas, archiveros e investigadores que siguen la disponibilidad de un video a lo largo del tiempo pueden volver a ejecutar la comprobación y archivar el resultado. El patrón "era incrustable, ahora error 100" es una alerta temprana de que el video fue eliminado — un dato útil en sí mismo.
Resultados y códigos de error
Cada resultado que muestra la herramienta es la respuesta del propio reproductor, traducida. El resultado que lees y el código de error subyacente provienen de la misma fuente, así que las dos capas nunca se contradicen.
Los resultados:
| Resultado | Qué significa | Causa típica |
|---|---|---|
| Reproducible | La incrustación fue aceptada y alcanzó su primer fotograma | Un video sano e incrustable |
| No incrustable | El propietario prohíbe la incrustación | Error 101 o 150 del reproductor |
| Video no encontrado | El reproductor no puede cargar el video | Eliminado o puesto en privado, error 100 |
| Video no disponible | El reproductor rechazó la solicitud | Un enlace caducado o incorrecto, o un fallo genérico del reproductor |
| Tiempo agotado | El reproductor no respondió dentro del periodo de espera | Un script bloqueado o un problema de red |
Los códigos de error:
| Código | Significado | Qué te dice |
|---|---|---|
| 100 | Video no encontrado | El video fue eliminado o puesto en privado, o el ID es válido pero el reproductor no puede cargarlo |
| 101 | Incrustación no permitida | El propietario deshabilitó la incrustación para este video |
| 150 | Incrustación no permitida | La misma restricción, reportada como 150 en algunas superficies |
| 2 | Solicitud no válida | El video no está disponible para el reproductor, normalmente un enlace caducado o incorrecto |
| 5 | Fallo al crear el reproductor | Un fallo genérico del reproductor HTML5, que a veces indica un error de reproducción fuera de la incrustación |
Los códigos 101 y 150 llevan al mismo resultado, No incrustable: "el propietario no permite la incrustación". Un 100 significa que el video ya no está disponible públicamente y lleva a Video no encontrado. Los códigos 2 y 5 llevan ambos a Video no disponible. Y un reproductor que permanece en silencio más allá del periodo de espera lleva a Tiempo agotado — el resultado que ves cuando un script o una regla de red bloquea al propio reproductor. Estas son las respuestas que encontrarás más a menudo al auditar una galería de incrustaciones.
Qué puede detectar y qué no
Ser honesto sobre los límites es parte de lo que hace útil a esta herramienta. La tabla muestra lo que revela el proceso de incrustación y lo que calla.
| Pregunta | ¿Puede detectarlo esta herramienta? |
|---|---|
| Incrustable (el propietario permitió la incrustación) | Sí, mediante la sonda oEmbed |
| Se reproduce realmente una vez incrustado | Sí — pulsa play en la vista previa y la herramienta confirma la reproducción |
| Video eliminado o puesto en privado | Sí, error 100 |
| Videos con restricción de edad | Generalmente — el reproductor reintenta con un paso de consentimiento en algunas regiones |
| Restricciones regionales (por país) | Solo la región en la que estás, y solo para la superficie de la API del reproductor |
| Países en los que el video está disponible | No |
| Número de vistas, me gusta, comentarios | No |
| Etiquetas, licencia, fecha de subida | No |
| Disponibilidad de subtítulos | No |
| Idioma de audio / video predeterminado | No |
Cada pregunta que decide el resultado central — la comprobación de incrustación, la prueba de reproducción, la señal de eliminado o privado — se responde por completo sin clave. La capa de enriquecimiento — recuentos de vistas, listas de regiones, etiquetas, subtítulos, fechas de subida — es otra historia, cubierta en "Frente a la API oficial".
Uso
El flujo de trabajo es un interactivo de dos campos:
- Pega un enlace de YouTube — desde la barra de direcciones, el menú Compartir o la hoja de incrustación del video.
- Pulsa Enter o haz clic en el botón Comprobar.
- Lee el resultado — una insignia describe el resultado como Reproducible, No incrustable, Video no encontrado, Video no disponible o Tiempo agotado.
- Lee los detalles — el panel del reproductor lista el título, el canal, la duración y el ID del video bajo la insignia; las tres filas de sonda de abajo explican cómo salió cada comprobación.
Pegar no activa la comprobación por sí solo; se ejecuta cuando pulsas Comprobar o Enter. Esto mantiene la herramienta predecible: editar el campo nunca descarta de repente un resultado que estás viendo. Si la entrada no es una URL válida de YouTube, aparece un error y el campo se vacía.
Formatos de enlace admitidos
La entrada acepta los mismos formatos que usa YouTube — pega cualquiera de estos:
| Formato | Ejemplo |
|---|---|
| Watch estándar | youtube.com/watch?v=VIDEO_ID |
| Enlace corto | youtu.be/VIDEO_ID |
| Shorts | youtube.com/shorts/VIDEO_ID |
| Incrustado | youtube.com/embed/VIDEO_ID |
| Live | youtube.com/live/VIDEO_ID |
| Ruta de video heredada | youtube.com/v/VIDEO_ID |
| ID suelto | VIDEO_ID (11 caracteres) |
Los parámetros extra como listas de reproducción y marcas de tiempo se ignoran automáticamente.
Guía paso a paso
Recorre un video desde el enlace hasta el resultado.
Paso 1 — Consigue un enlace. Abre cualquier video de YouTube y copia su URL, por ejemplo https://www.youtube.com/watch?v=dQw4w9WgXcQ.
Paso 2 — Pega y comprueba. Haz clic en el campo de entrada, pega (Ctrl+V o Cmd+V) y pulsa Enter. La insignia cambia a Comprobando….
Paso 3 — Lee la insignia. En unos dos segundos aparece un resultado. En una subida normal e incrustable dice Reproducible, respaldado por las filas de sonda.
Paso 4 — Compara con un video restringido. Ahora pega un enlace a un video musical cuyo sello discográfico impida la incrustación — la mayoría de los clips de los grandes sellos están bloqueados. El resultado dice No incrustable y la fila de error muestra 101. Es exactamente el fallo que se reproduce como una caja gris vacía cuando pegas el código de inserción manualmente.
Paso 5 — Examina la evidencia. Las filas de sonda coinciden con la insignia: la fila de incrustación muestra Bloqueada y la fila de reproducción no muestra confirmación porque el reproductor falló antes de que pudieras pulsar play. Esa combinación — incrustación rechazada, sin reproducción — es exactamente la señal de "sin panel de incrustación" que verías en la propia página de YouTube para un video así.
Ese es el ciclo completo: pega, comprueba, lee la insignia, y si el resultado discrepa con una incrustación real, usa las filas de sonda para entender por qué.
Consejos profesionales
- Pega un ID de video suelto. La entrada acepta un ID de 11 caracteres por sí solo, sin URL — útil cuando trabajas con una respuesta de API, una exportación de base de datos o un enlace acortado que solo revela el ID.
- Vuelve a comprobar con Enter. Editar el enlace en el campo nunca borra el resultado actual; pulsa Enter cuando tengas la URL que realmente quieres.
- Automatiza la puerta de incrustación. Si generas páginas desde feeds, puedes consultar con curl la misma sonda oEmbed que usa la herramienta (
https://www.youtube.com/oembed?url=…&format=json) y tratar un estado distinto de 200 como "rechaza este video" en tu canalización. - Prueba el contenido sensible a la región desde la región objetivo. Si tu audiencia está en un país concreto, ejecuta la comprobación conectado a esa red; el reproductor refleja la región a la que se sirve.
- Trata el
Error 100como señal de cambio. Un video que salió bien en la comprobación y de repente reporta 100 probablemente fue eliminado o puesto en privado. Si llevas un registro de videos incrustados, vuelve a comprobarlos periódicamente — vale la pena conocer el cambio de estado antes de que un visitante se tope con el reproductor gris.
Incrusta el video tú mismo
Un resultado Reproducible es la luz verde para usar exactamente la incrustación que comprobó la herramienta:
<div style="aspect-ratio: 16 / 9;">
<iframe
src="https://www.youtube-nocookie.com/embed/VIDEO_ID"
width="100%"
height="100%"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
loading="lazy"
></iframe>
</div>
- Prefiere el dominio
nocookie.youtube-nocookie.comsirve el mismo reproductor sin las cookies no esenciales de YouTube — la opción predeterminada respetuosa con la privacidad para la mayoría de los sitios. loading="lazy"ya viene en el fragmento. Difiere la incrustación hasta que el video entra en el campo de visión; retíralo para un hero sobre el pliegue cuya carga importa.- Cuida tu Content-Security-Policy. Si tu sitio envía una CSP, añade
frame-src https://www.youtube-nocookie.com(ohttps://www.youtube.comsi mantienes el dominio normal), o la incrustación se bloqueará antes de cargar.
Alternativas
¿Cómo descubren normalmente los desarrolladores que una incrustación está rota? La tabla completa las opciones.
| Método | Qué te dice | ¿Clave necesaria? | Prueba de reproducción |
|---|---|---|---|
| Pegar la incrustación y recargar la página | El marcador roto, a posteriori | No | Indirectamente, una vez que la página corre |
| Una línea con oEmbed | Solo el estado de incrustación, sin código de error | No | No |
| API Data oficial | Todo, con coste por cuota y clave de servidor | Sí | No |
| Esta herramienta | Resultado + código de error + incrustación en vivo que puedes reproducir | Ninguna | Sí — pulsa play en la vista previa |
La API Data oficial es la más completa, pero requiere una clave, corre en el servidor para evitar exposición y cuesta cuota por solicitud. Una sonda de incrustación simple con solo código no te entrega los mensajes del reproductor ni la prueba de reproducción. Un iframe pegado a lo bruto solo te dice después del despliegue lo que esta herramienta muestra al instante, antes de publicar.
Frente a la API oficial
La tabla siguiente compara los dos caminos honestos para la misma pregunta: la API Data oficial de YouTube (un servidor, una clave, una cuota) frente a esta herramienta (solo el navegador, sin clave, sin servidor). La comparación es por qué "sin clave" es una ventaja y no una limitación — el intercambio está en las columnas que importan para las incrustaciones.
| Capacidad | API Data oficial | Esta herramienta |
|---|---|---|
| Estado de incrustabilidad | vía status.embeddable |
oEmbed + código del reproductor |
| Prueba de reproducción | Indirecta (solo metadatos) | Directa — pulsa play en la vista previa |
| Significado del código de error | Código crudo, sin explicación | Traducido a un resultado |
| Lista de regiones/países | contentDetails.regionRestriction |
Solo la región en la que estás |
| Vistas, me gusta, comentarios | statistics |
No disponible |
| Etiquetas | snippet.tags |
No disponible |
| Licencia | status.license |
No disponible |
| Restricción de edad | contentDetails.contentRating |
Implícita por el reproductor, no exacta |
| Fecha de subida | snippet.publishedAt |
No disponible |
| Datos necesarios | Clave API + proxy de servidor | Ninguno — 100% navegador |
Las dos superficies se solapan exactamente en la métrica que decide una incrustación: ¿se reproducirá en una página?. La API oficial gana en todo lo que cuenta para el análisis — metadatos, estadísticas, listas de regiones. La herramienta gana en la respuesta final: una incrustación en vivo que carga en el navegador, pausada en el primer fotograma, donde puedes pulsar play y verla tú mismo.
Solución de problemas
| Problema | Causa | Solución |
|---|---|---|
| La respuesta se queda en "Comprobando…" | La llamada al reproductor o a oEmbed fue bloqueada (bloqueador de anuncios, red local) | Permite el script del reproductor para youtube.com o reintenta la comprobación |
| La incrustación se queda en el primer fotograma | Es intencional — la vista previa nunca se reproduce sola ni precarga la transmisión | Pulsa play; una incrustación pausada con el icono de sonido disponible es una incrustación sana |
| El resultado dice "No incrustable" pero la página del video se reproduce bien | El propietario prohibió las incrustaciones; reproducir en el sitio difiere de incrustar | Confírmalo: abre Compartir ▸ Incrustar en la página del video — la negativa aparece allí también |
| El resultado dice "Video no encontrado" | Video eliminado, listado como privado o en lista blanca regional | Verifica primero que el video se reproduce en tu propio navegador |
| La entrada no se acepta | La URL no es ningún formato de YouTube | Usa un enlace de la página de watch o del menú Compartir |
Privacidad y manejo de datos
La herramienta sigue el mismo modelo de privacidad que las demás herramientas de Toollect: todo se ejecuta localmente.
- Nada se sube. La URL se analiza en tu navegador. Ninguna solicitud que la contenga se envía a un servidor que no controles.
- Sin cuenta, sin seguimiento. No hay inicio de sesión, ni analíticas, ni historial de los videos que compruebas.
- Solo tráfico del reproductor. Las únicas solicitudes de red son las del propio reproductor — las mismas que hace cualquier sitio web cuando incrusta un video. Nada se guarda, captura o almacena.
- Ningún video se descarga por adelantado. La vista previa se pausa en el primer fotograma con un botón de reproducción normal; la transmisión solo empieza a cargar cuando pulsas play, como en cualquier incrustación, y nada se guarda.
Si te preocupa la privacidad de los videos que inspeccionas, esta página se comporta exactamente como ver una página de video normal en tu navegador — tu enlace no va a ningún otro lugar que no sea tu propio reproductor.
Especificaciones técnicas
Detalles:
- Sonda de incrustación:
https://www.youtube.com/oembed?url={watch_url}&format=json— HTTP 200 = incrustable, no-200 = restringido - Reproductor: API de reproductor IFrame de YouTube, cargada bajo demanda como incrustación
playsinlinepausada en el primer fotograma (sin reproducción automática forzada, sin silencio forzado) - Fuentes del resultado: estado de oEmbed, códigos de error del reproductor (2, 5, 100, 101, 150) y eventos de reproducción en vivo cuando pulsas play
- Metadatos: título, canal, duración e ID de video devueltos por el propio reproductor
- Procesamiento: JavaScript 100% en el cliente, sin clave API, sin subidas, sin servidor
- Compatibilidad de navegadores: todos los navegadores modernos con soporte de Promise y nivel ES5 (Chrome, Edge, Firefox, Safari)
Características
- Comprobación instantánea de incrustabilidad para cualquier enlace de YouTube que pegues
- Vista previa de incrustación en vivo, pausada en el primer fotograma, con confirmación de reproducción en cuanto pulsas play
- Resultados basados en los códigos de error del propio reproductor de YouTube, con explicaciones en lenguaje claro
- Título, canal y duración mostrados sin abrir una página aparte
- Procesamiento 100% en el navegador, sin subida de datos, sin clave API
- Acepta enlaces watch, Shorts, embed, live y youtu.be, además de IDs de video sueltos