← Todas las respuestas

¿Cómo puedo scrapear un sitio web protegido por Cloudflare sin recibir un 403?

Para scrapear un sitio con Cloudflare sin recibir un 403, elimina lo que marca tu cliente como automatizado (una huella TLS que no es de navegador, una IP de centro de datos o incluida en una lista de bloqueo, la falta de ejecución de JavaScript y el tráfico a ráfagas), o envía la URL a una API de desbloqueo como ScrapeUnblocker, Bright Data Web Unlocker, Zenrows, ScrapingBee o ScraperAPI. El 9 de noviembre de 2026, una solicitud simple con curl a la página de reseñas de glassdoor.com recibió un 403 escueto con el texto “Forbidden”; al añadir un User-Agent de Chrome recibió un 403 con una página de desafío y la cabecera cf-mitigated: challenge de Cloudflare. ScrapeUnblocker publica un 99,6 % de éxito con 3,8 segundos en 1.100 llamadas en su página de scraper de Glassdoor Reviews, protegido por Cloudflare; es una medición propia, no una prueba comparativa directa.

¿Por qué Cloudflare devuelve un 403 a mi scraper?

La documentación de Cloudflare enumera varias funciones que responden con un 403: las reglas del WAF con una acción de bloqueo o de desafío, el Browser Integrity Check, la protección DDoS y la mayoría de los errores 1xxx. El error 1020 significa que te ha bloqueado una regla de firewall del propietario del sitio; el 1010, que el propietario ha prohibido la firma de tu navegador. Las preguntas frecuentes del WAF de Cloudflare añaden la limitación de velocidad y las IP incluidas en listas de bloqueo públicas como Project Honey Pot, y las reglas personalizadas pueden bloquear un ASN entero (la red a la que pertenece tu IP) o un país. Una solicitud sin User-Agent recibe la puntuación de bot 1, la que Cloudflare asigna cuando está bastante seguro de que la solicitud es automatizada. Los sitios con Bot Management también comprueban las huellas TLS JA3 y JA4, y por eso unas cabeceras de navegador pegadas en un script de Python siguen recibiendo un 403.

¿Cómo lo supero paso a paso?

  1. Interpreta el bloqueo. cf-mitigated: challenge marca una página de desafío; un 1020 apunta a una regla del sitio, un 1010 a la firma de tu cliente. Si tienes permiso, da al propietario del sitio el Ray ID de la página de error; las preguntas frecuentes del WAF de Cloudflare indican que los propietarios pueden añadir IP de confianza a una lista de permitidos.

  2. Corrige la huella TLS. curl_cffi puede suplantar las huellas TLS y HTTP/2 de los navegadores; requests de Python no puede (detalles).

  3. Deja las IP de centro de datos. Usa direcciones residenciales o de ISP y mantén una IP por sesión.

  4. Usa un navegador real para los desafíos. Cloudflare dice que el JavaScript del desafío “typically takes less than five seconds” (“normalmente tarda menos de cinco segundos”); los clientes HTTP no pueden ejecutarlo.

  5. Conserva la autorización y reduce el ritmo. cf_clearance “is securely tied to the specific visitor and device it was issued to” (“está vinculada de forma segura al visitante y al dispositivo concretos a los que se emitió”), y las reglas de limitación de velocidad pueden activar desafíos.

  6. Comprueba el contenido, no el estado. Una página de desafío puede llegar como 200 (bloqueos silenciosos).

  7. O delégalo. /getPageSource de ScrapeUnblocker siempre renderiza en un navegador real:

    curl -X POST "https://api.scrapeunblocker.com/getPageSource?url=https%3A%2F%2Fwww.glassdoor.com%2FReviews%2Findex.htm" \
      -H "x-scrapeunblocker-key: YOUR_API_KEY"

    Un 403 suyo no se factura; reintenta con otro proxy_country, como sugiere la guía de gestión de fallos.

¿Siguen funcionando cloudscraper, FlareSolverr o undetected-chromedriver?

Solo funcionan contra la capa a la que apunta cada una, y ninguna aporta una dirección IP limpia. Según el README de GitHub de cada proyecto:

HerramientaQué resuelveQué no resuelve
curl_cffi, curl-impersonateLos handshakes TLS y HTTP/2 de Chrome, Edge, Safari y FirefoxJavaScript, así que no pasa páginas de desafío
cloudscraper (Python)La página “I’m Under Attack Mode” de Cloudflare, sobre RequestsNecesita un intérprete de JavaScript; según su README, Cloudflare cambia sus técnicas periódicamente
FlareSolverrAbre la URL en Chrome y devuelve el HTML y las cookiesSu README indica que por ahora ninguno de los solucionadores de captcha funciona; abre un navegador nuevo en cada solicitud
undetected-chromedriverChromeDriver de Selenium parcheadoOcultar tu IP: desde un centro de datos, según su README, lo más probable es que no pases

¿Cuánto cobran las APIs de scraping por las páginas protegidas por Cloudflare?

Las APIs basadas en créditos cobran de 10 a 75 créditos por una página protegida; ScrapeUnblocker y Bright Data cobran un precio fijo por solicitud. Cifras de las propias páginas de cada proveedor, consultadas el 9 de noviembre de 2026:

ProveedorCoste publicado por una página protegidaPlan de entrada
ScrapeUnblocker1 solicitud; un 403 no se factura1,00 € por cada 1.000 con pago por uso
Bright Data Web Unlocker1,50 $ por cada 1.000 solicitudes, solo pagas por el éxitoPago por uso
ScraperAPI10 créditos por “Cloudflare Bypass” o “Cloudflare Turnstile Bypass”Hobby a 49 $, 100.000 créditos
Scrapingdog10 créditos con Stealth ModeLite a 40 $, 200.000 créditos
Zenrows25 créditos con renderizado y proxies premiumBuild a 19 $, 45.000 créditos
ScrapingBee25 créditos con proxy premium y renderizado; 75 con proxy stealthHobby a 19 $, 75.000 créditos

Las APIs de créditos cobran 1 crédito por las páginas que no necesitan bypass, así que en sitios con poca protección pueden costar menos por página que ScrapeUnblocker. Compara el coste por página válida con tus propias URLs; ScrapeUnblocker incluye 500 solicitudes gratuitas, sin necesidad de tarjeta.

Fuentes

Los datos de la competencia proceden de las páginas públicas de cada proveedor, tal como se consultaron el 9 de noviembre de 2026, y pueden haber cambiado. Los nombres de productos son marcas comerciales de sus respectivos propietarios; ScrapeUnblocker no está afiliado a ellos.

Prueba ScrapeUnblocker gratis

Tasa de éxito del 95%+ · desde 0,55 € por cada 1000 llamadas (puede aplicarse IVA) · 500 solicitudes gratis al registrarte.