Glosario

¿Qué es un User Agent?

Un User-Agent es una cabecera de solicitud HTTP que identifica el software cliente que realiza la solicitud, incluyendo normalmente el nombre del navegador, la versión, el sistema operativo y el motor de renderizado, como 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'.

Entiende la cadena User-Agent, por qué es la señal más sencilla que usan los sitios web para identificar scrapers y cómo rotar User-Agents junto con tus IPs sin arruinar tu huella digital.

Explicado

La cabecera User-Agent es una de las piezas de identificación más antiguas de la web. Cada solicitud HTTP que envía un cliente incluye una línea `User-Agent:` que nombra el software cliente (navegador o biblioteca), su versión, el sistema operativo y a menudo el motor de renderizado. Los servidores la utilizan para la negociación de contenido (diseños móviles frente a escritorio), análisis y, cada vez más, detección de bots.

Para el scraping, el User-Agent es la señal más sencilla que puede configurar incorrectamente. Los User-Agents predeterminados de las bibliotecas HTTP comunes (`python-requests/2.31.0`, `axios/1.5.0`, `okhttp/4.10.0`) son señales evidentes. Incluso el User-Agent predeterminado de Playwright y Puppeteer contiene `HeadlessChrome`, que los sistemas anti-bot marcan al instante.

La solución ingenua es establecer un UA de Chrome en cada solicitud. El problema es que el User-Agent por sí solo no es suficiente: la toma de huellas moderna cruza el UA con las sugerencias de cliente `sec-ch-ua`, la huella TLS, el objeto navigator de JavaScript y la cabecera Accept-Language. Establecer un UA de Chrome pero dejar expuesto el protocolo de enlace TLS de Python crea una señal de alerta mayor que simplemente dejar el UA predeterminado.

Cómo funciona

Cuando su cliente abre una conexión a un servidor, la línea de solicitud incluye cabeceras. La línea `User-Agent` es una de ellas. Los servidores la analizan (o simplemente la registran) y enrutan la solicitud en función de lo que ven. Un User-Agent moderno de Chrome en Windows tiene este aspecto: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36`. El prefijo 'Mozilla/5.0' es histórico; todos los navegadores lo envían por razones de compatibilidad con versiones anteriores.

Los navegadores reales también envían cabeceras `sec-ch-ua` (sugerencias de cliente 'Sec-CH-UA') en HTTP moderno, que contienen datos estructurados del navegador, versión y plataforma. Los sistemas anti-bot los comparan con la cadena User-Agent y marcan las inconsistencias. Por lo tanto, la rotación de User-Agent debe ir acompañada de actualizaciones coherentes de `sec-ch-ua-*` y huellas TLS coincidentes.

Tipos

User-Agents de navegadores de escritorio

Chrome, Firefox, Edge, Safari en Windows/macOS/Linux. La familia de UA más común para hacer scraping de objetivos web generales.

User-Agents de navegadores móviles

Chrome en Android, Safari en iOS, Samsung Internet. Necesarios al hacer scraping de sitios orientados a móvil o al combinarlos con proxies móviles para mantener la coherencia de la huella digital.

User-Agents de bots y crawlers

UAs identificativos como `Googlebot/2.1`, `bingbot/2.0`. Utilizados por crawlers legítimos de motores de búsqueda; algunos sitios los incluyen en listas blancas. Falsificarlos conlleva riesgos legales y de incumplimiento de los términos de servicio.

User-Agents predeterminados de bibliotecas

`python-requests/X.Y`, `curl/X.Y`, `Mozilla/5.0 (compatible; Java/X.Y)`. UAs predeterminados de bibliotecas HTTP: nunca los uses en scraping en producción, ya que son trivialmente identificables.

Casos de uso habituales

Identificación del navegador cliente y del sistema operativo para la negociación de contenido
Analítica del lado del servidor y segmentación de visitantes
Detección de bots (los UAs predeterminados de las bibliotecas son una señal inequívoca)
Selección de diseño para móvil o escritorio
Almacenamiento en caché por familia de navegador
Rotación de User-Agent en scrapers para imitar a usuarios reales variados
Preguntas frecuentes

Preguntas frecuentes

Preguntas frecuentes sobre user agent.

Usa un User-Agent actual y generalizado que corresponda a una versión de navegador real publicada en los últimos meses. Chrome en Windows o macOS es una opción segura por defecto. Rota entre un pequeño conjunto de UAs actuales en lugar de usar uno fijo para todas las solicitudes.

Rota entre solicitudes, pero no de forma arbitraria. Mantén el mismo UA durante toda la vida de una sesión (un conjunto de solicitudes relacionadas para un flujo de trabajo) y cámbialo cuando la sesión termine. Los cambios de UA aleatorios por solicitud son en sí mismos una señal de huella digital, ya que los usuarios reales no cambian de navegador entre cargas de página.

Lo más probable es que haya una inconsistencia en la huella digital. Si estableces un UA de Chrome pero tu handshake TLS es el predeterminado de Python, los proveedores antibot detectan la incoherencia. Combina el UA con cabeceras `sec-ch-ua` coincidentes, una huella digital TLS coincidente (usa `curl_cffi` o un navegador real) y un Accept-Language creíble. Solo entonces la rotación de UA resulta realmente útil.

Mantenlo actualizado. Las versiones del navegador se publican cada 2-6 semanas. Un User-Agent con Chrome 95 en 2026 resulta sospechoso porque ningún usuario real sigue usando Chrome 95. Actualiza tu conjunto mensualmente o extráelo de una fuente de UAs actuales como los conjuntos de datos públicos de ua-parser/ua-parser-js.

Sí, si tu User-Agent dice ser de un navegador basado en Chromium (Chrome, Edge, Opera). Los navegadores Chromium modernos envían las cabeceras `sec-ch-ua`, `sec-ch-ua-mobile` y `sec-ch-ua-platform`. Si tu UA es Chrome pero te faltan estas cabeceras, los sistemas antibot marcan la incoherencia.

Sí, en la mayoría de las jurisdicciones. La cabecera User-Agent es simplemente una cadena que controla el cliente. Establecerla con cualquier valor es legal en sí mismo; la legalidad de lo que haces con el acceso resultante depende de los términos de servicio del destino, las leyes antibot (CFAA en EE. UU.) y los datos que recopiles. El scraping de datos públicos con un UA falsificado es ampliamente legal; eludir la autenticación no lo es.