Kevin Meneses
← Volver a artículos

Browser Use: review práctica de su navegador en la nube y sus agentes de IA

Browser AutomationAI AgentsPythonWeb ScrapingPlaywright
Browser Use Review: hands-on test of the cloud browser and AI agents

La mayoría de las demos de automatización de navegador funcionan.

Hasta que una web de verdad las mira.

Lanza Playwright en tu portátil, abre una página de detección de bots y te marcan en segundos. Luego empiezas a añadir plugins de stealth, proxies y reintentos, y de repente el "script rápido" es un proyecto de infraestructura.

Si estás:

  • construyendo agentes de IA que necesitan navegar por la web,
  • llevando scripts de Playwright o Puppeteer a la nube,
  • o decidiendo si comprar infraestructura de navegador en lugar de construirla,

esta review de Browser Use es para ti.

En mi comparativa de las mejores APIs de automatización de navegador para agentes de IA puse a Browser Use en el número 1. Esta es la continuación práctica: cogí sus dos productos, el navegador en la nube y el agente alojado, y los probé con páginas y tareas reales que podía verificar.

Cada cifra, captura y coste de este artículo sale de mis propias ejecuciones del 30 de octubre y el 2 de noviembre de 2026.

TL;DR

  • Stealth: el Chrome headless local salió como "Robot" en BrowserScan; el navegador en la nube de Browser Use salió "Normal", sin ningún plugin de stealth
  • Velocidad: 10 de 10 navegadores en la nube estuvieron listos en menos de un segundo (mediana de 0,29 s)
  • Agentes: 3 de 3 tareas verificables correctas con todos los modelos que probé, incluidos 11/11 registros estructurados; bu-ultrafast fue el más rápido y bu-fast el más barato
  • Coste: menos de un céntimo por ejecución típica; lo que dispara la factura es el tráfico del proxy residencial, no el modelo

Por qué "en mi máquina funciona" no es suficiente

Un agente de navegador tiene dos trabajos, y la mayoría de montajes solo resuelve uno.

El primero es pasar. Las webs comprueban decenas de señales antes de fiarse de un navegador: el flag navigator.webdriver, el user agent, los plugins, la IP. Un Chrome headless por defecto falla varias.

El segundo es terminar la tarea. Alguien tiene que convertir "busca la última versión de este repo" en clics, scroll y una respuesta limpia.

Si lo haces tú, te toca mantener:

  • una capa de stealth que se rompe con cada actualización de Chrome
  • un pool de proxies y su facturación
  • un bucle de agente con reintentos, timeouts y parsing

Nada de eso es tu producto.

Qué te da realmente Browser Use Cloud

Browser Use empezó como una librería open source de agentes de navegador (119k estrellas en GitHub, licencia MIT). Browser Use Cloud es la versión gestionada, y ofrece dos productos sobre la misma API:

  • Browser Infrastructure: un navegador en la nube con stealth. Obtienes una URL CDP y conectas a ella tu propio código de Playwright o Puppeteer.
  • Browser Use Agents: envías una tarea en lenguaje natural y recibes el resultado. El bucle del agente, el navegador y los reintentos corren de su lado.

El precio es de pago por uso: 0,02 $ por hora de navegador, 5 $/GB de tráfico por proxy residencial y, en los agentes, el precio de los tokens del modelo más un 20%. Las cuentas nuevas reciben 1 $ de crédito gratis.

Probé los dos productos, y también la factura.

👉 Puedes crear una cuenta en browser-use.com y seguir los pasos conmigo.

Configuración en dos comandos

pip install --upgrade browser-use-sdk playwright
python -m playwright install chromium

Crea una API key en el panel y expórtala. El SDK la lee del entorno:

export BROWSER_USE_API_KEY=bu_...

Prueba 1: el navegador en la nube frente a Chrome headless local

La primera pregunta es sencilla: ¿un navegador de Browser Use parece menos un bot que el Chromium que lanza Playwright en mi portátil?

Este es todo el código de conexión. Browser Use te da una URL CDP y Playwright se engancha a ella con una línea:

from browser_use_sdk.v4 import BrowserUse
from playwright.sync_api import sync_playwright

with BrowserUse() as client:
    session = client.browsers.create(proxy_country_code="us")
    try:
        with sync_playwright() as p:
            browser = p.chromium.connect_over_cdp(session.cdp_url)
            context = browser.contexts[0]
            page = context.pages[0] if context.pages else context.new_page()

            page.goto("https://www.browserscan.net/bot-detection")
            page.wait_for_timeout(8000)
            page.screenshot(path="cloud-browserscan.png")
    finally:
        client.browsers.stop(session.id)  # cerrar Playwright NO detiene el navegador en la nube

Ese finally importa. Desconectar Playwright deja el navegador gestionado encendido (y facturando) hasta que llamas a stop().

Pasé las mismas páginas con un p.chromium.launch(headless=True) normal en local y comparé.

Review de Browser Use: detección de bots de BrowserScan, Chromium headless local marcado como Robot y navegador en la nube de Browser Use como Normal

BrowserScan: el Chromium headless local salió como Robot (fallaron Webdriver y User-Agent). El navegador de Browser Use salió Normal, con las cuatro comprobaciones superadas.

El test de huella de Sannysoft contó lo mismo:

ComprobaciónChromium headless localNavegador en la nube de Browser Use
WebDriverpresente (falla)ausente (pasa)
Objeto Chromeausente (falla)presente (pasa)
Plugins05
User agentHeadlessChrome/153Chrome 154 normal en macOS
Renderizador WebGLSwiftShader (software)Apple M3 Pro (Metal)
IPmi proveedor de casa en EspañaCharter Communications, Nueva York

La última fila es el proxy residencial. Pedí "us" y obtuve una IP de un proveedor doméstico, no de un centro de datos.

Un matiz justo: dos páginas de detección son una comprobación básica, no un benchmark. Como referencia, Browser Use publica su propio Stealth Bench (100 webs protegidas contra bots, dos visitas a cada una), donde su nube pasó en el 90,5% de las visitas, frente al 73,5%–82% de otros proveedores (Anchor, Kernel, Browserbase, Browserless, Steel y Hyperbrowser). Es su benchmark, con webs que eligieron ellos; mi prueba solo confirma que lo básico se sostiene visto desde fuera.

Arranques en frío: menos de un segundo, siempre

Los agentes abren y cierran navegadores constantemente, así que el tiempo de arranque suma. Creé 10 navegadores y cronometré browsers.create() desde mi portátil en España:

ModoEjecucionesMedianaMás lenta
Uno detrás de otro50,29 s0,75 s
5 en paralelo50,73 s0,76 s

Todos estuvieron listos en menos de un segundo, tal como prometen con sus "arranques por debajo del segundo". Conectar Playwright por CDP añadió unos 1,7 s en la primera sesión.

La facturación fue exactamente la anunciada: una sesión de 57 segundos costó 0,00033 $ (un minuto a 0,02 $/hora).

Prueba 2: agentes alojados en tres tareas que podía verificar

El navegador es la mitad del producto. La otra mitad es no tener que escribir la automatización.

Le di al agente alojado tres tareas, cada una con una respuesta que podía comprobar por mi cuenta:

  1. "Find the top Hacker News story" (el ejemplo de su propia documentación)
  2. Todos los libros de la categoría Travel de books.toscrape.com, con título, precio y valoración, devueltos en JSON
  3. Las estrellas y la última versión del repo de GitHub browser-use/browser-use

La estructurada es la interesante. Le pasas un JSON schema y el resultado vuelve como datos, no como texto:

from browser_use_sdk.v4 import BrowserUse

BOOK_SCHEMA = {
    "type": "object",
    "properties": {
        "books": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "title": {"type": "string"},
                    "price_gbp": {"type": "number"},
                    "rating": {"type": "integer", "description": "Star rating 1-5"},
                },
                "required": ["title", "price_gbp", "rating"],
            },
        }
    },
    "required": ["books"],
}

with BrowserUse() as client:
    run = client.runs.create(
        "Go to https://books.toscrape.com, open the Travel category and return every book "
        "in it with its full title, price in GBP and star rating.",
        output_schema=BOOK_SCHEMA,
        max_cost_usd=2,  # límite máximo por ejecución
    )
    result = client.runs.wait_for_completion(run.id)
    print(result.output["books"][:2])
[{'title': "It's Only the Himalayas", 'price_gbp': 45.17, 'rating': 2},
 {'title': 'Full Moon over Noah’s Ark: An Odyssey to Mount Ararat and Beyond', 'price_gbp': 49.43, 'rating': 4}]

Sin selectores. Sin lógica de paginación. Sin parsing.

Para comprobarlo, hice scraping de la misma categoría por mi cuenta y comparé campo a campo.

TareaResultadoComprobado conTiempo
Noticia top de Hacker NewsTítulo, enlace, 112 puntos, 24 comentariosPortada de HN12 s
Libros de Travel (JSON)11/11 libros, títulos, precios y valoraciones exactosMi propio scraping de la página18 s
Repo de GitHubVersión 0.13.14, 26 oct 2026, "120k" estrellasAPI de GitHub: 0.13.14, 26 oct, 119.588 estrellas24 s

Tres de tres. Las estrellas salen como "120k" porque es lo que muestra GitHub; pedí el número "tal como aparece en la página", y eso devolvió.

Este es el agente en la tarea de GitHub, sacado de la grabación de la sesión (record: True en la configuración del navegador):

Agente de Browser Use navegando el repositorio de browser-use en GitHub para encontrar la última versión

¿Importa el modelo?

Por defecto, las ejecuciones usan GPT-6 Luna. Repetí la tarea de los libros con otros cuatro modelos, incluidos los propios de Browser Use, bu-ultrafast y bu-fast, disponibles en todos los planes de EE. UU. (también el gratuito) desde el 1 de noviembre. La columna de coste es solo el cargo del modelo, para que el tráfico del proxy no distorsione la comparación:

ModeloLibros correctosTiempoCoste del modelo
bu-fast11/1116 s0,0013 $
bu-ultrafast11/1116 s0,0037 $
GPT-6 Luna (por defecto)11/1118 s0,0032 $
DeepSeek V4.1 Flash11/1116 s0,0076 $
Claude Sonnet 5.511/1122 s0,0987 $

Los cinco acertaron todo en una página bien estructurada como esta. bu-fast lo hizo por 0,0013 $, la ejecución más barata de toda la review, mientras que Claude Sonnet 5.5 costó 75 veces más por la misma respuesta.

bu-ultrafast ejecuta GPT-6 Luna en el nivel prioritario de OpenAI, así que sus tokens se facturan al doble; lo que pagas es velocidad. Lo pasé también por las otras dos tareas:

TareaGPT-6 Luna (por defecto)bu-ultrafast
Noticia top de Hacker News12 s7 s
Libros de Travel (JSON)18 s16 s
Repo de GitHub (sin proxy)19 s15 s

Más rápido en las tres, y correcto en las tres. En tareas cortas como estas, la diferencia es de 1,2 a 1,7 veces. Las cifras de producción de Browser Use muestran una diferencia mayor en tareas más largas: una mediana de 22 segundos y 0,0064 $ por tarea con bu-ultrafast, frente a 79 segundos y 0,0098 $ con el modelo por defecto, en más de 12.000 ejecuciones.

Un detalle que conviene saber: en la tarea de Hacker News, bu-ultrafast respondió con una búsqueda web en lugar de abrir la página, lo que añadió un cargo de búsqueda de 0,007 $ a esa ejecución.

Mi regla después de estas pruebas: empieza con bu-fast para extraer datos estructurados, pasa a bu-ultrafast cuando importe la latencia y solo sube a un modelo más grande cuando una tarea falle de verdad.

Cada ejecución aparece también en el historial del panel, con el modelo, la duración y el coste de cada sesión:

Panel de Browser Use Cloud: historial de ejecuciones de agentes con modelo, duración y coste por sesión

¿Buscas contenido técnico que explique tu API así? Escribo artículos prácticos y optimizados para SEO para empresas de herramientas e infraestructura para desarrolladores, basados en pruebas reales, no en marketing genérico. → Hablemos por LinkedIn

Prueba 3: lo que cuesta realmente una ejecución

Esta es la parte que se saltan la mayoría de reviews. Cada ejecución devuelve un desglose de costes con client.sessions.cost(session_id), así que lo saqué para cada tarea:

TareaLLMNavegadorTráfico de proxyTotal
Hacker News0,0025 $0,0010 $0,0003 $0,0039 $
Libros de Travel0,0032 $0,0010 $0,0024 $0,0066 $
GitHub (proxy residencial)0,0036 $0,0010 $0,0928 $0,0974 $
GitHub (sin proxy)0,0035 $0,0003 $0,0037 $0,0075 $

Hay dos cosas que destacan.

El modelo es la parte barata. Menos de medio céntimo de LLM por tarea. El navegador es casi irrelevante.

El dinero se va en el tráfico del proxy. La página de GitHub movió unos 19 MB por el proxy residencial y, a 5 $/GB, eso fue el 95% de la factura. El panel de uso muestra el mismo patrón en todas mis pruebas: 0,12 $ de los 0,13 $ de gasto en navegador fueron datos de proxy.

Panel de uso de Browser Use Cloud: gasto en navegador dominado por los datos del proxy residencial

La misma tarea con el proxy desactivado (el tráfico directo se factura a 0,20 $/GB en lugar de 5 $/GB) costó 13 veces menos y devolvió la misma respuesta:

run = client.runs.create(
    task,
    browser_settings={"proxy_country_code": None},  # conexión directa, sin proxy residencial
)

La regla que yo seguiría: deja el proxy residencial para las webs que de verdad te bloquean y desactívalo en páginas públicas como GitHub, documentación o tu propia aplicación.

Un último consejo práctico. El navegador de un agente se queda abierto unos dos minutos después de la ejecución (es el keepAlive por defecto) y, mientras sigue abierto, el coste de la sesión muestra una cifra provisional. En mis ejecuciones marcaba 0,08 $, exactamente cuatro horas a 0,02 $, la vida máxima del navegador. Cuando el navegador se cerró, bajó a 0,001 $. Si controlas los costes por código, léelos cuando el navegador se haya detenido, o detenlo tú:

summary = client.runs.wait_for_completion(run.id)
# ... más tarde, cuando el navegador se haya detenido:
cost = client.sessions.cost(summary.session_id)
print(cost.llm_cost_usd, cost.browser_cost_usd, cost.proxy_cost_usd, cost.total_cost_usd)

En total, toda esta review (11 navegadores en la nube independientes y 10 ejecuciones de agentes) costó unos 0,27 $ de crédito.

Review de Browser Use: lo que me gustó y lo que hay que vigilar

Ventajas

  • La diferencia de stealth se ve desde la primera prueba: "Robot" en local, "Normal" en la nube, sin tocar un solo plugin de stealth
  • Arranques en menos de un segundo en los 10 intentos, incluidos 5 en paralelo
  • Los agentes alojados con JSON schema devolvieron datos estructurados exactos en todas las tareas que comprobé
  • Los modelos propios de Browser Use fueron la opción más rápida (bu-ultrafast) y la más barata (bu-fast) de las que probé, sin perder precisión
  • Desglose de costes transparente por sesión (LLM, navegador, proxy) a través de la API

Desventajas

  • El tráfico del proxy residencial domina la factura en páginas pesadas; tienes que decidir en cada tarea si lo necesitas
  • El coste de la sesión muestra una cifra provisional de cuatro horas hasta que se detiene el navegador, lo que puede confundir si lo lees en ese momento
  • Selenium no puede conectarse al endpoint CDP; necesitas Playwright o Puppeteer

Ideal para: equipos que construyen agentes de IA que necesitan navegar por webs reales de forma fiable, tanto si quieres mantener tu propio código de Playwright como si prefieres delegar toda la tarea a un agente alojado.

Ideas clave

  • Pasar: el navegador en la nube superó las comprobaciones de bots que el Chromium headless local fallaba, sin configurar nada.
  • Terminar la tarea: el agente alojado acertó 3 de 3 tareas verificables, incluidos 11/11 registros estructurados, en 7–24 segundos según el modelo.
  • Coste: una ejecución típica costó menos de un céntimo. Vigila el tráfico del proxy, no el modelo.

Lo difícil de la automatización de navegador nunca fue escribir page.click().

Fue todo lo que lo rodea. Y eso es justo lo que Browser Use te quita de encima.

Preguntas frecuentes

❓ ¿Browser Use es gratis? ✅ La librería open source browser-use es gratuita y tiene licencia MIT. Browser Use Cloud es de pago por uso, sin suscripción: las cuentas nuevas reciben 1 $ de crédito gratis y, a partir de ahí, pagas 0,02 $ por hora de navegador, 5 $/GB de tráfico por proxy residencial y los tokens del modelo más un 20% en las ejecuciones de agentes.

❓ ¿Puedo usar Browser Use Cloud con Playwright? ✅ Sí. Crea un navegador con el SDK y llama a p.chromium.connect_over_cdp(session.cdp_url). Tu código de Playwright funciona sin cambios. Puppeteer funciona igual; Selenium no admite URLs CDP remotas.

❓ ¿Cuánto cuesta una ejecución de un agente de Browser Use? ✅ En mis pruebas, entre 0,004 $ y 0,01 $ por tarea con el modelo por defecto, y unos 0,10 $ cuando una página pesada pasó por el proxy residencial. El coste del modelo fue de menos de medio céntimo por tarea.

❓ ¿Qué son bu-fast y bu-ultrafast? ✅ Los modelos de agente propios de Browser Use, disponibles en todos los planes de EE. UU. desde el 1 de noviembre de 2026. bu-ultrafast funciona en un nivel de inferencia prioritario para conseguir la menor latencia; bu-fast es el mismo agente a tarifas estándar. En mis pruebas, los dos sacaron 11/11 en una tarea de extracción estructurada, bu-ultrafast fue el modelo más rápido en todas las tareas y bu-fast el más barato, con 0,0013 $ de coste de modelo.

❓ ¿Qué diferencia hay entre Browser Use y Browser Use Cloud? ✅ browser-use es el agente open source en Python que ejecutas tú, con tu propio navegador y tu clave de LLM. Browser Use Cloud añade navegadores gestionados con stealth, proxies residenciales, resolución de CAPTCHAs y agentes alojados detrás de una API.


¿Construyes una herramienta para desarrolladores en este espacio? Creo contenido práctico y optimizado para SEO como esta review para empresas de APIs e infraestructura. Si te resulta útil para tu producto, hablemos. → Conecta conmigo en LinkedIn

Más escritura técnica y proyectos: → kevinmeneses.com