← 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, cabeceras que faltan, 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 octubre de 2026, una solicitud simple con curl a la página de reseñas de glassdoor.com recibió un HTTP 403 con la cabecera cf-mitigated: challenge de Cloudflare. Las páginas de scrapers de ScrapeUnblocker publican un 100 % de éxito con 6,6 segundos en 1.000 descargas de páginas de Glassdoor, y un 99,6 % con 3,8 segundos en 1.100 llamadas a su plugin Glassdoor Reviews, que la página indica como protegido por Cloudflare. Son mediciones propias de ScrapeUnblocker, no una prueba comparativa directa.

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

La documentación de Cloudflare enumera varias funciones que pueden responder con un 403: las reglas personalizadas o gestionadas del WAF con una acción de bloqueo o de desafío, el ajuste Security Level, la protección DDoS, el Browser Integrity Check y la mayoría de los errores 1xxx. El error 1020 significa que te ha bloqueado una regla de firewall definida por el propietario del sitio; el error 1010 significa que el propietario ha prohibido tu acceso según la firma de tu navegador. La puntuación de bot de Cloudflare va de 1 (bastante seguro de que la solicitud fue automatizada) a 99, y una solicitud sin cabecera User-Agent recibe de inmediato un 1. Los sitios con Bot Management también pueden usar las huellas TLS JA3 y JA4 y detecciones por JavaScript que identifican navegadores headless, y por eso unas cabeceras de navegador pegadas en un script de Python pueden seguir recibiendo un 403.

¿Cómo lo supero paso a paso?

  1. Interpreta el bloqueo. Cloudflare marca las páginas de desafío con cf-mitigated: challenge; un 1020 apunta a una regla del sitio, un 1010 a la firma de tu cliente.

  2. Corrige la huella TLS. La librería de código abierto curl_cffi puede suplantar las huellas TLS y HTTP/2 de los navegadores; requests de Python no puede (detalles).

  3. 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.

  4. 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.

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

  6. 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.

¿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, mientras que ScrapeUnblocker y Bright Data cobran un precio fijo por solicitud. Las cifras proceden de las propias páginas de cada proveedor:

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 stealthFreelance a 49 $, 250.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. La prueba justa es 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 24 de septiembre y el 9 de octubre 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 · 500 solicitudes gratis al registrarte.