Web Unlocker API para las páginas que rechazan tu scraper

Tú envías la URL y nosotros traemos la página que respondió 403: una IP residencial, la huella TLS de un navegador real, una salida nueva en cada rechazo y un navegador real cuando el sitio exige JavaScript. La respuesta lleva el estado, los intentos, el tiempo y el coste, así siempre sabes qué pasó.

Medido el 2026-11-11 por nuestro propio canary: 72 de 81 llamadas. Las páginas demo con captcha se ejecutan pero no se cuentan, porque los captchas interactivos no se resuelven.

Web Unlocker de QuantumProxies: un POST a /api/v1/scraper/unlock con una URL y un país, la petición reenviada desde una IP residencial con la huella TLS de un navegador y un navegador real en espera, y la página que respondió 403 volviendo como 200 OK con su estado, el indicador blocked, el nivel que ganó y el registro de intentos.

De 403 a 200, medido

Lo que recibe tu cliente

403

Un 403, una comprobación de seguridad o un desafío JavaScript en lugar de la página, por limpia que sea la IP y sea cual sea el User-Agent que pongas.

Lo que devolvió el Web Unlocker el 2026-11-11

200

El 88.9% de 81 llamadas a 27 objetivos protegidos volvió como la página real: mediana 4.1 s, p95 28.8 s.

Nuestro propio canary, no una cifra de folleto: los mismos objetivos, 3 ejecuciones cada uno. La ejecución se repite y cada número de esta página se regenera desde su archivo.

Tasa de éxito por sistema anti-bot

Generada a partir de la ejecución del canary del 2026-11-11, 3 ejecuciones con los mismos objetivos. Las páginas con captcha interactivo quedan excluidas.

Sistema anti-botÉxitoTiempo medianoLlamadas
Cloudflare100%8.9 s9
DataDome91.7%10.4 s12
Akamai75%2.4 s12
PerimeterX / HUMAN100%1.8 s9
Kasada100%16.1 s6
F5 BIG-IP100%3.4 s6
Imperva83.3%7.4 s6
AWS WAF66.7%14.3 s6
Amazon66.7%4.1 s3
Google66.7%7.5 s3
Other sites100%2.0 s6
Reddit100%1.7 s3

Cómo medimos

Estos números salen de nuestro propio canary, una ejecución que repetimos sobre las mismas páginas. El tráfico de clientes nunca forma parte de ella.

Última ejecución: 2026-11-11. 27 páginas, 3 ejecuciones cada una: 81 llamadas, 72 páginas reales (88.9%).

Qué producto necesitas

Tres productos comparten la misma red residencial. Cuál llamar depende de lo que el objetivo haga con tu petición.

Web Unlocker

La página rechaza tu cliente con un 403, una comprobación de seguridad o un desafío: una llamada trae la respuesta real, con cualquier método, tus propios headers y body, un login o un carrito mantenidos en una sola salida, facturada por GB desde un saldo prepagado.

Proxies residenciales

Tu cliente ya pasa y solo necesitas otra IP: una salida residencial con la misma gramática de usuario (país, estado, ciudad, sesión) por HTTP o SOCKS5.

Extract API

Quieres la página como Markdown, texto o JSON y no te sirven la respuesta en bruto, un POST ni un cookie jar propio.

Qué endpoint

El mismo motor detrás de tres puertas. Elige según lo que tu código ya habla; los fragmentos son los que el panel rellena con tus propias credenciales.

API REST

Puedes cambiar tu código: una llamada JSON de entrada, una respuesta JSON de salida, ningún certificado que instalar.

POST https://app.quantumproxies.io/api/v1/scraper/unlock

curl -X POST https://app.quantumproxies.io/api/v1/scraper/unlock \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/", "country": "us"}'

Proxy (CONNECT)

Ya tienes un scraper que habla proxy: apúntalo al host y al puerto con tu usuario y contraseña del unlocker, e instala la CA una sola vez.

http://unlock.quantumproxies.io:9000

# once: curl -o unlocker-ca.pem https://app.quantumproxies.io/api/v1/scraper/unlock/ca
curl --proxy http://unlock.quantumproxies.io:9000 \
  --proxy-user "USER:PASS" \
  --cacert unlocker-ca.pem \
  https://example.com/

Modo directo

Proxy sin certificado: envía la petición a http://unlock/ a través del proxy e indica el objetivo en el header x-qp-url.

http://unlock.quantumproxies.io:9000, then http://unlock/

curl --proxy http://unlock.quantumproxies.io:9000 \
  --proxy-user "USER:PASS" \
  -H "x-qp-url: https://example.com/" \
  http://unlock/

Acciones del navegador, lotes, caché y clientes listos

Acciones del navegador antes de la captura

En la llamada REST puedes indicar qué hace el navegador antes de capturar la página: clic, escribir, scroll, esperar.

Lotes de hasta 100 URL

Envía hasta 100 URL en un solo lote y recibe un webhook cuando terminen.

Una caché con la duración que elijas

Tú decides cuánto tiempo queda una página en caché. Mientras está en caché, volver a pedir la misma página no cuesta nada.

Dos clientes para descargar y una tabla de migración

La documentación incluye dos clientes de un solo archivo, uno para Node.js y otro para Python, y una tabla de migración para el código escrito para otro unlocker.

Abrir la documentación del Web Unlocker

Vídeo: el Web Unlocker en el panel

Un recorrido por la página Web Unlocker del panel: compra GB, elige cómo conectarte y envía la primera petición. En inglés, con subtítulos.

Cómo funciona el Web Unlocker

1 · Tu petición sale como un navegador

Los headers de identidad que envía tu cliente (User-Agent, Accept, Sec-Fetch-*) se sustituyen por un conjunto coherente con el handshake TLS de un navegador real. Authorization, cookies, content type y headers personalizados pasan intactos.

2 · Un rechazo reintenta en una salida residencial nueva

Un desafío o un 403 lanza un reintento en una salida nueva con otra familia de huellas, hasta tres intentos TLS, todos dentro de un único presupuesto de tiempo: 60 segundos por defecto, hasta 120 con timeout_ms.

3 · ¿Sigue bloqueado? Entra un navegador real

Cuando el nivel TLS sigue recibiendo desafíos, un navegador real abre la página y responde al desafío JavaScript. Con una sesión sticky, la clearance obtenida se conserva y se reutiliza en tus siguientes peticiones a ese sitio.

La Web Unlocker API es para las páginas que un cliente HTTP normal no puede obtener: aquellas donde la capa anti-bot puntúa el handshake TLS y los ajustes HTTP/2 antes de leer un solo header. Una llamada fetch o requests lleva la firma de su runtime, ponga el User-Agent que ponga. El unlocker lo corrige en la capa de transporte, reintenta en una salida residencial nueva cuando el origen rechaza, abre un navegador real cuando se exige JavaScript y devuelve la respuesta en bruto del origen: cualquier método, tus propios headers y body, un login o un carrito mantenidos en una sola IP de salida.

Qué hace un web unlocker que un proxy no hace

Un proxy residencial rotativo cambia desde dónde sale la petición. No cambia el aspecto de la petición: el handshake TLS, el orden de los frames HTTP/2 y el conjunto de headers siguen diciendo Python o Node, y eso es exactamente lo que puntúan los sistemas anti-bot modernos. Un web unlocker reescribe la petición como la enviaría un navegador real, reintenta con otra huella cuando el origen la rechaza y pasa a un navegador real cuando el origen exige JavaScript. Tú conservas la interfaz proxy; el unlocker añade el criterio.

Huellas TLS de navegadores reales

Cada intento sale con el perfil TLS de un navegador real y con los headers de identidad reescritos para coincidir con él, porque un handshake de Chrome con un User-Agent de Firefox es una señal más fuerte que cualquiera de los dos por separado. Fija un perfil (Chrome, Firefox, Safari, Safari iOS, Edge, Brave o Safari móvil en el endpoint REST) cuando un sitio lo espera; si no fijas ninguno, los reintentos rotan entre Chrome, Firefox y Brave, de modo que un sitio que ha quemado un handshake se encuentra con otro. Authorization, Cookie, Content-Type y los headers X-* personalizados se reenvían tal cual, y keepHeaders envía los tuyos sin cambios cuando repites una petición capturada de una app.

Modos, formatos y presupuesto de tiempo

mode auto, el valor por defecto, sube la escalera: primero el nivel TLS, una salida nueva en cada rechazo, el navegador cuando el sitio sigue desafiando. mode tls nunca abre el navegador; mode browser empieza en él. format devuelve el body como html, markdown o text, y render png toma una captura. La llamada entera, reintentos y renderizado incluidos, cabe en un único presupuesto de 60 segundos por defecto, hasta 120 con timeout_ms, y max_bytes limita el tráfico que una llamada puede mover. La respuesta dice qué nivel ganó (tier_served), lista cada intento con su nivel, perfil, país de salida, resultado, milisegundos y bytes (attempt_log) e imprime el coste en bytes y dólares al precio de tu nivel.

Un bloqueo se informa, nunca se disfraza de éxito

Cada respuesta se clasifica antes de llegarte. El clasificador lee aquello con lo que los sistemas anti-bot firman sus páginas y nombra tanto el sistema (Cloudflare, DataDome, Akamai, PerimeterX y otros) como la clase de bloqueo: js_challenge, captcha, access_denied, rate_limited, fingerprint, geo o timeout. En el endpoint REST una página todavía bloqueada llega como 200 con blocked en true y la propia página para inspeccionarla, o como 424 target_blocked si activas fail_on_block. En el forward proxy el estado del origen se reenvía con el header x-qp-unlocker-blocked. Los captchas interactivos no se resuelven: vuelven etiquetados como captcha.

Sesiones, geolocalización y memoria por sitio

Pasa un país, y un estado o una ciudad donde la red los tenga, para salir desde ese mercado. Déjalo vacío y el país de salida se lee del dominio de primer nivel del objetivo, luego del país de tu cuenta, con Estados Unidos solo como último recurso. Un id de sesión sticky mantiene la misma IP de salida entre llamadas durante 3 a 1.440 minutos, así que un login, un carrito o un listado paginado se quedan en una sola identidad. El unlocker también recuerda, por dominio, qué nivel y qué familia de huellas pasaron hace poco y empieza por ahí la próxima vez, y pone en cuarentena una salida que un sitio acaba de rechazar en lugar de ofrecérsela otra vez a ese sitio.

Niveles Premium y Mobile, prepagados por GB

El Web Unlocker funciona sobre dos pools de salida: Premium en IPs residenciales y Mobile en IPs de operadores 4G/5G, cada uno con su propio saldo de GB prepagado que se compra en el panel desde 1 GB, con tarjeta, PayPal, cripto o saldo de la cuenta. El uso se mide en bytes movidos, reintentos y renderizados del navegador incluidos, y cuando un saldo se agota la respuesta es un 402 con el enlace para recargar en lugar de un fallo silencioso. El precio por GB de cada nivel se muestra en la página Web Unlocker del panel, junto al botón de compra. Sin suscripción y sin permanencia mínima.

Un solo catálogo de errores, con qué hacer después

REST y proxy comparten un solo catálogo. Cada error nombra su código y dice si merece la pena reintentar, si se facturó y qué hacer después: no_credit (402) con el enlace de compra, target_blocked (424) con la clase de bloqueo y el registro de intentos, rate_limited (429, 20 llamadas por minuto y 10 en curso en pago por uso, con Retry-After), render_failed y upstream_failed (503), timeout (504) cuando timeout_ms se agotó. Un 403 o 429 que lleva una página real no es un bloqueo y se devuelve como tal.

Preguntas Frecuentes

¿Qué es un web unlocker?

Un web unlocker es un servicio que entrega una petición HTTP normal a un sitio protegido por anti-bot tal como lo haría un navegador real: desde una IP residencial, con la huella TLS de un navegador y headers coherentes, reintentando en una IP nueva cuando se rechaza y abriendo un navegador real para los desafíos JavaScript. Devuelve la respuesta en bruto del origen, con los intentos y el coste.

¿En qué se diferencia un web unlocker de un proxy residencial?

Un proxy solo cambia la IP de origen. El handshake TLS y el conjunto de headers de tu cliente siguen delatando una herramienta automatizada, y eso es lo que puntúan los sistemas anti-bot modernos. El unlocker reescribe la petición para que coincida con un navegador, reintenta con otra huella si la rechazan y escala a un navegador real cuando se exige JavaScript. Los proxies residenciales son la compra correcta cuando tu cliente ya pasa.

¿El Web Unlocker resuelve CAPTCHAs?

Responde a los desafíos JavaScript con un navegador real y, dentro de una sesión sticky, conserva la cookie de clearance para las siguientes peticiones a ese sitio. Los captchas interactivos que necesitan a una persona, como hCaptcha, reCAPTCHA o una casilla de verificación, no se resuelven: la respuesta vuelve etiquetada como captcha, con el proveedor nombrado, y el tráfico movido se factura por GB salvo que el panel indique lo contrario.

¿Hay una prueba gratuita del Web Unlocker?

Crear la cuenta es gratis y lleva un minuto, y la página Web Unlocker del panel tiene una caja Test a URL que muestra estado, intentos, tiempo y coste de una llamada. Los GB del unlocker se prepagan por nivel desde 1 GB, y lo que cuestan las primeras llamadas de prueba está escrito junto a la caja. La prueba residencial gratuita cubre los proxies residenciales normales, no el unlocker.

¿Puedo llamarlo desde Python, Node.js, PHP, Go o curl?

Sí. El endpoint REST es un POST HTTPS normal que cualquier lenguaje habla; las pestañas de arriba llevan los mismos fragmentos curl, Python, Node.js, PHP y Go que el panel rellena con tus credenciales. Scrapy, Playwright o cualquier cliente con ajuste de proxy usa el proxy CONNECT, y el modo directo funciona donde no se puede instalar un certificado.

¿El Web Unlocker es un proxy o una API?

Ambas cosas, en una sola cuenta y un solo saldo. REST cuando puedes cambiar tu código: JSON de entrada, JSON de salida, sin certificado. Proxy cuando tu scraper ya habla proxy: host, puerto, usuario y contraseña, con la CA instalada una vez. Modo directo cuando quieres el proxy sin certificado: envía la petición a http://unlock/ e indica el objetivo en x-qp-url.

¿Qué pasa si una página sigue bloqueada tras cada intento, y lo pago?

Nunca se devuelve como un éxito silencioso. El endpoint REST pone blocked en true y nombra la clase de bloqueo y el proveedor junto a la página, o responde 424 target_blocked si activas fail_on_block; el proxy reenvía el estado del origen con x-qp-unlocker-blocked. Los bytes movidos se facturan por GB salvo que el panel indique lo contrario, y el registro de intentos muestra qué compraron.

¿Puedo mantener la misma IP en varias peticiones?

Sí. Pasa un id de sesión, en el body de la petición o en el usuario del proxy, y cada llamada con ese id sale desde la misma IP durante 3 a 1.440 minutos. Así es como un login, un carrito o un listado paginado se quedan en una sola identidad en vez de cambiar de IP en cada página.

¿Desde qué países puedo salir?

Pasa country, y state o city donde la red los tenga, y el nivel Premium sale desde ese mercado en IPs residenciales; el nivel Mobile hace lo mismo en IPs de operadores 4G/5G. Si lo dejas vacío, la salida se elige por el dominio de primer nivel del objetivo, luego por el país de tu cuenta, con Estados Unidos como último recurso.

¿Necesito instalar un certificado?

Solo para HTTPS a través del proxy CONNECT, que termina el TLS para reescribir la petición: descarga la CA una vez desde la API con tu clave. El modo directo, donde el objetivo va en el header x-qp-url, y el endpoint REST no necesitan ningún certificado.

¿Puede hacer clic, escribir o desplazarse antes de capturar la página?

Sí, en la llamada REST. Añade una lista de acciones del navegador (clic, escribir, scroll, esperar) y el navegador las ejecuta en orden antes de capturar la página.

¿Puedo enviar muchas URL a la vez?

Sí. Un lote admite hasta 100 URL en una sola llamada, y un webhook te avisa cuando han terminado.

¿Pago otra vez si pido la misma página dos veces?

No mientras la página esté en caché. La duración de la caché la eliges tú en la llamada: hasta que caduque, la misma página se responde desde la caché y no cuesta nada.

¿Cuánto cuesta el Web Unlocker?

Se factura por GB movido, desde un saldo prepagado que compras en el panel para el nivel que usas, Premium en salidas residenciales o Mobile en salidas de operadores, desde 1 GB. Los reintentos y los renderizados del navegador cuentan. El precio por GB vigente se muestra en la página Web Unlocker del panel antes de comprar; sin suscripción y sin permanencia mínima.

Productos relacionados

Sources

Si eres un agente de IA

Sáltate el marketing. QuantumProxies.io publica un mapa del sitio para LLM, Markdown de cada página, un servidor MCP gratuito y APIs cobradas del mismo saldo que tus proxies.

Conéctate con un comando: npx -y quantumproxies-mcp