Tool: Website Unblocker, Cloudflare Bypass and Scraping API avatar

Tool: Website Unblocker, Cloudflare Bypass and Scraping API

Pricing

from $0.04 / page unblocked

Go to Apify Store
Tool: Website Unblocker, Cloudflare Bypass and Scraping API

Tool: Website Unblocker, Cloudflare Bypass and Scraping API

Website unblocker and anti bot bypass API. Fetch the real HTML or JSON of any page behind Cloudflare, DataDome, Akamai, AWS WAF, PerimeterX or Incapsula. Bypass 403 and challenge screens, no proxy setup, no API key. GET or POST, target country, optional AI to JSON. Pay only on a successful unblock.

Pricing

from $0.04 / page unblocked

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

7

Monthly active users

9 days ago

Last modified

Share

Tool: Website Unblocker, Cloudflare Bypass and Scraping API

Website Unblocker: Cloudflare Bypass and Anti Bot Scraping API

Give it any URL and get the real page back, even when the site is behind Cloudflare, DataDome, Akamai, AWS WAF, PerimeterX or Incapsula. This is a no code website unblocker and web scraping unblocker: no proxy setup, no API key management, no headless browser to run yourself. It returns the full HTML (or parsed JSON), the HTTP status, the detected protection vendor, the response headers and a page title, plus an optional AI step that turns any unblocked page into structured JSON.

Here is one real result, with every field the actor returns (the html field holds the full page source and is trimmed here for readability):

{
"url": "https://www.scrapingcourse.com/cloudflare-challenge",
"finalUrl": "https://www.scrapingcourse.com/cloudflare-challenge",
"success": true,
"blocked": false,
"statusCode": 200,
"protectionDetected": "cloudflare",
"tier": "standard",
"pageTitle": "Cloudflare Challenge - ScrapingCourse.com",
"contentLength": 3854,
"html": "<!DOCTYPE html><html lang=\"en\"><head> ... [full page HTML returned in the actual record]",
"text": null,
"parsedBody": null,
"json": null,
"generatedSchema": null,
"responseHeaders": { "content-type": "text/html; charset=UTF-8", "server": "cloudflare" },
"attempts": 6,
"timingMs": 19832,
"errorReason": null,
"source": "www.scrapingcourse.com",
"observedAt": "2026-09-06T14:33:57.577Z"
}

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

Pass one URL or a list of URLs. For each one the actor fetches the page, works past bot protection and challenge screens, and writes one record to the dataset with the final HTML, the HTTP status, the detected protection vendor, the response headers and the page title. Use it as a Cloudflare bypass API, an anti bot bypass, a way to bypass 403 and 429 responses, or a general web scraping unblocker for pages that block plain requests.

Every request is configurable per run: GET or POST with custom headers and a request body, optional JavaScript rendering for single page apps, a chosen target country for geo specific content, a request timeout, redirect control, and a return format of HTML, visible text or parsed JSON. When extractToJson is on, the unblocked page is converted to structured JSON with AI, following your schema if you provide one.

Which protections it clears

We are honest about coverage. This tool is strongest on challenge screens that can be cleared without a human.

ProtectionStatus
Cloudflare (Just a moment, managed challenge, Turnstile)Cleared in most cases
AWS WAF (challenge and token)Cleared in most cases
Akamai Bot ManagerOften cleared
DataDome (non captcha variants)Often cleared
Plain 403, 429, IP and datacenter blocksCleared in most cases
DataDome device or captcha checkNot cleared, honest failure
PerimeterX / HUMAN, Imperva / IncapsulaNot cleared, honest failure
Interactive reCAPTCHA, hCaptcha, login wallsNot cleared, honest failure

When a page cannot be returned, success is false, blocked is true and errorReason explains why in plain language. You are never charged the unblock fee on a failure.

Quickstart

Open the actor, paste this into the input, and press Run. It fetches one Cloudflare protected test page.

{
"urls": ["https://www.scrapingcourse.com/cloudflare-challenge"],
"httpMethod": "GET",
"renderJavaScript": false,
"mode": "auto",
"returnFormat": "html",
"country": "auto",
"maxUrls": 25,
"extractToJson": false
}

Pass many URLs in urls to process them in one run. Every input field except urls is optional.

Input reference

FieldTypeRequiredDefaultDescription
urlsstring[]yes(example URL)One or more page URLs to fetch. One run can process many URLs. A single URL string is also accepted.
httpMethodenumnoGETRequest method for every URL: GET or POST.
headersobjectno(none)Extra request headers sent with every URL, as key and value pairs.
payloadstringno(none)Request body to send when httpMethod is POST.
renderJavaScriptbooleannofalseRender JavaScript for single page apps and heavy pages. Off is faster for normal HTML.
modeenumnoautoEffort level. auto picks per URL. fast uses only quick methods (cheaper, never triggers the premium fee, may fail on the hardest sites). thorough always uses the full browser render path.
returnFormatenumnohtmlhtml returns the page source. text also returns visible text. json also parses the body as JSON into parsedBody.
countryenumnoautoCountry to view the page from for geo specific content. auto picks the best match per URL.
waitForMsintegerno(none)Extra settle time in ms for JavaScript pages before HTML is captured (0 to 30000).
requestTimeoutSecsintegerno(default)Maximum seconds to wait for each page (5 to 120).
followRedirectsbooleannotrueFollow HTTP redirects to the final page. Turn off to capture the first response as is.
maxUrlsintegerno25Maximum URLs to process in this run.
extractToJsonbooleannofalsePaid add on. Convert each unblocked page to structured JSON with AI. Billed only for pages that were unblocked.
jsonSchemaobjectno(none)JSON schema for the AI extraction to follow. Empty lets the AI infer the structure and return it in generatedSchema. Only used when extractToJson is on.

Output reference

One dataset item per URL. Types: string, integer, boolean, object, or null when the value is absent.

FieldTypeDescription
urlstringThe requested URL.
finalUrlstringThe URL after any redirects.
successbooleantrue when the real page was returned.
blockedbooleantrue when the real page could not be returned.
statusCodeintegerFinal HTTP status code, or null.
protectionDetectedstringDetected protection vendor (for example cloudflare, datadome, none).
tierstringBilling tier used on success: standard or premium. null on failure.
pageTitlestringTitle of the unblocked page, or null on failure.
contentLengthintegerLength of the returned HTML in characters.
htmlstringFull page HTML on success, else null.
textstringVisible text when returnFormat is text, else null.
parsedBodyobjectBody parsed as JSON when returnFormat is json and the body is JSON, else null.
jsonobjectAI extracted structured JSON when extractToJson succeeded, else null.
generatedSchemaobjectSchema the AI used when none was supplied, else null.
responseHeadersobjectFinal response headers from the site, or null.
attemptsintegerNumber of attempts made to unblock the URL.
timingMsintegerMilliseconds spent fetching this URL.
errorReasonstringnull on success; on failure, why the page could not be returned.
sourcestringHost of the requested URL.
observedAtstringISO 8601 timestamp of when the record was collected.

How it compares

An honest comparison with common web unblocking and scraping API tools.

CapabilityThis toolScrapingBeeZenRowsapify/web-scraper
Many URLs per runYesOne per callOne per callYes
GET and POST with bodyYesYesYesLimited
Custom headersYesYesYesYes
JavaScript renderingYesYesYesYes
Target countryYesYesYesVia proxy
Return HTML, text or JSONYesYesYesCustom code
Parsed JSON for API endpointsYesPartialPartialCustom code
Response headers returnedYesPartialPartialCustom code
Detected protection vendor reportedYesNoNoNo
AI page to JSON with your schemaYesNoNoCustom code
No API key or proxy setupYesAPI keyAPI keySetup needed
Pay only on a successful unblockYesCredits on failure tooCredits on failure tooCompute units
ScreenshotsNoYesYesYes
Full interactive browser scriptingNoPartialPartialYes

Where a full interactive browser product may clear more: tools that run a scriptable headless browser can sometimes pass challenges that need clicks, scrolling or manual captcha solving. This tool does not solve interactive captchas or run custom in page scripts, and it does not take screenshots. For everything else it accepts a superset of the inputs above and returns a superset of the outputs.

Run via API and CLI

Start a run and read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~gen5-website-unblocker/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"urls":["https://www.scrapingcourse.com/cloudflare-challenge"]}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~gen5-website-unblocker/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"urls":["https://example.com/a","https://example.com/b"],"renderJavaScript":true,"country":"US"}'

Apify CLI:

apify call scrapers_lat/gen5-website-unblocker \
--input '{"urls":["https://www.scrapingcourse.com/cloudflare-challenge"],"extractToJson":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per request, more per unblock. Each URL is charged a small page-requested fee whether or not it is unblocked. The page-unblocked fee is charged only when the real page is returned. See the pricing tab for current prices.
  • Premium unblock. The hardest sites can only be reached through a heavier, last resort path. When a page is returned that way, tier is premium and it is charged premium-unblock instead of page-unblocked (never both for the same page). This fee is higher because those pages cost more to return. Most URLs never trigger it, and it is only ever charged on a successful unblock. Use mode set to fast to avoid it entirely.
  • Optional AI extraction. ai-json-requested is charged when the AI add on runs on an unblocked page; ai-json-delivered is charged only when it returns valid structured JSON.
  • No unblock charge on failure. If a page cannot be unblocked, success is false, blocked is true, and neither the page-unblocked nor the premium-unblock fee is charged. You pay only the small page-requested fee for the attempt.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops fetching, charging and emitting further URLs.
  • Free Apify plans are capped at 10 URLs per run. Upgrade for higher maxUrls.

FAQ and troubleshooting

A URL came back with success: false. Why? Not every protection can be cleared. Hard captcha walls, some enterprise anti bot vendors and login walls may block the page; errorReason and protectionDetected explain what happened. You are not charged the unblock fee for those URLs.

Which protections does it clear? See the coverage table above. It is strongest on Cloudflare and AWS WAF, often clears Akamai and non captcha DataDome, and returns an honest failure on interactive captchas, PerimeterX, Imperva and login walls.

Can it fetch a JSON API endpoint behind Cloudflare? Yes. Set returnFormat to json and the body is parsed into parsedBody. Small JSON responses are treated as valid content.

How do I fetch JavaScript heavy pages? Turn on renderJavaScript, or set mode to thorough, and add waitForMs if the content needs extra settle time.

Can I send POST requests or custom headers? Yes. Set httpMethod to POST with a payload, and pass any extra headers as key and value pairs.

How do I get structured data instead of raw HTML? Turn on extractToJson. Provide a jsonSchema to control the shape, or leave it empty and the AI returns the schema it used in generatedSchema.

Is this legal to use? Use it only on pages you are permitted to access, and in accordance with each site's terms of service and applicable law. This tool accesses publicly reachable pages on your behalf.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Desbloqueador de Sitios Web: Bypass de Cloudflare y API Scraping Anti Bot

Dale cualquier URL y recibe la pagina real, incluso cuando el sitio esta protegido por Cloudflare, DataDome, Akamai, AWS WAF, PerimeterX o Incapsula. Es un desbloqueador de sitios web sin codigo y un desbloqueador para web scraping: sin configurar proxy, sin gestionar API key, sin ejecutar un navegador propio. Devuelve el HTML completo (o JSON parseado), el estado HTTP, el proveedor de proteccion detectado, las cabeceras de respuesta y el titulo de la pagina, mas un paso opcional con IA que convierte cualquier pagina desbloqueada en JSON estructurado.

Aqui tienes un resultado real, con todos los campos que devuelve el actor (el campo html contiene el codigo fuente completo y aqui se recorta para facilitar la lectura):

{
"url": "https://www.scrapingcourse.com/cloudflare-challenge",
"finalUrl": "https://www.scrapingcourse.com/cloudflare-challenge",
"success": true,
"blocked": false,
"statusCode": 200,
"protectionDetected": "cloudflare",
"tier": "standard",
"pageTitle": "Cloudflare Challenge - ScrapingCourse.com",
"contentLength": 3854,
"html": "<!DOCTYPE html><html lang=\"en\"><head> ... [HTML completo en el registro real]",
"text": null,
"parsedBody": null,
"json": null,
"generatedSchema": null,
"responseHeaders": { "content-type": "text/html; charset=UTF-8", "server": "cloudflare" },
"attempts": 6,
"timingMs": 19832,
"errorReason": null,
"source": "www.scrapingcourse.com",
"observedAt": "2026-09-06T14:33:57.577Z"
}

📥 Entrada · 📤 Salida · 💰 Precios · ▶️ Ejemplos

Tabla de contenidos

Que hace

Pasa una URL o una lista de URLs. Para cada una el actor obtiene la pagina, supera la proteccion anti bot y las pantallas de desafio, y escribe un registro en el dataset con el HTML final, el estado HTTP, el proveedor de proteccion detectado, las cabeceras de respuesta y el titulo de la pagina. Usalo como API de bypass de Cloudflare, como bypass anti bot, para superar respuestas 403 y 429, o como desbloqueador general de web scraping para paginas que bloquean las peticiones normales.

Cada peticion es configurable por ejecucion: GET o POST con cabeceras personalizadas y cuerpo, renderizado opcional de JavaScript para single page apps, un pais de destino para contenido geolocalizado, un tiempo de espera, control de redirecciones, y un formato de retorno HTML, texto visible o JSON parseado. Cuando extractToJson esta activo, la pagina desbloqueada se convierte en JSON estructurado con IA, siguiendo tu esquema si lo proporcionas.

Que protecciones supera

Somos honestos sobre la cobertura. Esta herramienta es mas fuerte en pantallas de desafio que se pueden superar sin un humano.

ProteccionEstado
Cloudflare (Just a moment, managed challenge, Turnstile)Superada en la mayoria de casos
AWS WAF (challenge y token)Superada en la mayoria de casos
Akamai Bot ManagerSuperada a menudo
DataDome (variantes sin captcha)Superada a menudo
Bloqueos 403, 429, de IP y de datacenterSuperados en la mayoria de casos
DataDome con verificacion de dispositivo o captchaNo superada, fallo honesto
PerimeterX / HUMAN, Imperva / IncapsulaNo superada, fallo honesto
reCAPTCHA interactivo, hCaptcha, muros de loginNo superada, fallo honesto

Cuando una pagina no se puede devolver, success es false, blocked es true y errorReason explica el motivo en lenguaje claro. Nunca se te cobra la tarifa de desbloqueo en un fallo.

Inicio rapido

Abre el actor, pega esto en la entrada y pulsa Run. Obtiene una pagina de prueba protegida por Cloudflare.

{
"urls": ["https://www.scrapingcourse.com/cloudflare-challenge"],
"httpMethod": "GET",
"renderJavaScript": false,
"mode": "auto",
"returnFormat": "html",
"country": "auto",
"maxUrls": 25,
"extractToJson": false
}

Pasa muchas URLs en urls para procesarlas en una sola ejecucion. Todos los campos de entrada excepto urls son opcionales.

Referencia de entrada

CampoTipoRequeridoPredeterminadoDescripcion
urlsstring[]si(URL de ejemplo)Una o mas URLs a obtener. Una ejecucion puede procesar muchas URLs. Tambien se acepta una sola URL.
httpMethodenumnoGETMetodo de peticion para cada URL: GET o POST.
headersobjectno(ninguno)Cabeceras extra enviadas con cada URL, como pares clave y valor.
payloadstringno(ninguno)Cuerpo de la peticion cuando httpMethod es POST.
renderJavaScriptbooleannofalseRenderiza JavaScript para single page apps y paginas pesadas. Desactivado es mas rapido para HTML normal.
modeenumnoautoNivel de esfuerzo. auto elige por URL. fast usa solo metodos rapidos (mas barato, nunca activa la tarifa premium, puede fallar en los sitios mas duros). thorough siempre usa el renderizado de navegador completo.
returnFormatenumnohtmlhtml devuelve el codigo fuente. text tambien devuelve el texto visible. json tambien parsea el cuerpo como JSON en parsedBody.
countryenumnoautoPais desde el que ver la pagina para contenido geolocalizado. auto elige la mejor coincidencia por URL.
waitForMsintegerno(ninguno)Tiempo extra de asentamiento en ms para paginas con JavaScript antes de capturar el HTML (0 a 30000).
requestTimeoutSecsintegerno(predeterminado)Maximo de segundos a esperar por cada pagina (5 a 120).
followRedirectsbooleannotrueSigue las redirecciones HTTP hasta la pagina final. Desactivalo para capturar la primera respuesta tal cual.
maxUrlsintegerno25Maximo de URLs a procesar en esta ejecucion.
extractToJsonbooleannofalseComplemento de pago. Convierte cada pagina desbloqueada en JSON estructurado con IA. Se cobra solo por paginas desbloqueadas.
jsonSchemaobjectno(ninguno)Esquema JSON que debe seguir la extraccion con IA. Si esta vacio, la IA infiere la estructura y la devuelve en generatedSchema. Solo se usa cuando extractToJson esta activo.

Referencia de salida

Un elemento de dataset por URL. Tipos: string, integer, boolean, object, o null cuando el valor no esta.

CampoTipoDescripcion
urlstringLa URL solicitada.
finalUrlstringLa URL despues de las redirecciones.
successbooleantrue cuando se devolvio la pagina real.
blockedbooleantrue cuando no se pudo devolver la pagina real.
statusCodeintegerCodigo de estado HTTP final, o null.
protectionDetectedstringProveedor de proteccion detectado (por ejemplo cloudflare, datadome, none).
tierstringNivel de facturacion en exito: standard o premium. null en fallo.
pageTitlestringTitulo de la pagina desbloqueada, o null en fallo.
contentLengthintegerLongitud del HTML devuelto en caracteres.
htmlstringHTML completo en exito, si no null.
textstringTexto visible cuando returnFormat es text, si no null.
parsedBodyobjectCuerpo parseado como JSON cuando returnFormat es json y el cuerpo es JSON, si no null.
jsonobjectJSON estructurado extraido con IA cuando extractToJson funciono, si no null.
generatedSchemaobjectEsquema que uso la IA cuando no se dio ninguno, si no null.
responseHeadersobjectCabeceras de respuesta finales del sitio, o null.
attemptsintegerNumero de intentos hechos para desbloquear la URL.
timingMsintegerMilisegundos empleados en obtener esta URL.
errorReasonstringnull en exito; en fallo, por que no se pudo devolver la pagina.
sourcestringHost de la URL solicitada.
observedAtstringMarca de tiempo ISO 8601 de la recogida.

Como se compara

Una comparacion honesta con herramientas comunes de desbloqueo web y API de scraping.

CapacidadEsta herramientaScrapingBeeZenRowsapify/web-scraper
Muchas URLs por ejecucionSiUna por llamadaUna por llamadaSi
GET y POST con cuerpoSiSiSiLimitado
Cabeceras personalizadasSiSiSiSi
Renderizado de JavaScriptSiSiSiSi
Pais de destinoSiSiSiVia proxy
Devolver HTML, texto o JSONSiSiSiCodigo propio
JSON parseado para endpoints APISiParcialParcialCodigo propio
Cabeceras de respuesta devueltasSiParcialParcialCodigo propio
Proveedor de proteccion detectadoSiNoNoNo
IA de pagina a JSON con tu esquemaSiNoNoCodigo propio
Sin API key ni configuracion de proxySiAPI keyAPI keyRequiere config
Pagar solo en un desbloqueo exitosoSiCredito tambien en falloCredito tambien en falloUnidades de computo
Capturas de pantallaNoSiSiSi
Scripting completo de navegador interactivoNoParcialParcialSi

Donde un producto de navegador interactivo completo puede superar mas: las herramientas que ejecutan un navegador headless programable a veces pasan desafios que requieren clics, scroll o resolucion manual de captcha. Esta herramienta no resuelve captchas interactivos ni ejecuta scripts propios en la pagina, y no toma capturas de pantalla. Para todo lo demas acepta un superconjunto de las entradas anteriores y devuelve un superconjunto de las salidas.

Uso por API y CLI

Inicia una ejecucion y lee el dataset. Reemplaza <TOKEN> por tu token de API de Apify.

Ejecucion sincrona y obtener elementos del dataset en una llamada:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~gen5-website-unblocker/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"urls":["https://www.scrapingcourse.com/cloudflare-challenge"]}'

Iniciar una ejecucion de forma asincrona:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~gen5-website-unblocker/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"urls":["https://example.com/a","https://example.com/b"],"renderJavaScript":true,"country":"US"}'

Apify CLI:

apify call scrapers_lat/gen5-website-unblocker \
--input '{"urls":["https://www.scrapingcourse.com/cloudflare-challenge"],"extractToJson":true}'

Obtener resultados

Cada ejecucion escribe en un dataset. Obten los elementos como JSON, CSV o Excel cambiando format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginar datasets grandes
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> se devuelve como defaultDatasetId en el objeto de la ejecucion. Usa offset y limit para paginar. clean=true descarta campos vacios e internos.

Facturacion y limites

  • Pago por peticion, mas por desbloqueo. Cada URL cobra una pequena tarifa page-requested se desbloquee o no. La tarifa page-unblocked se cobra solo cuando se devuelve la pagina real. Consulta la pestana de precios para los precios actuales.
  • Desbloqueo premium. Los sitios mas duros solo se alcanzan por una via de ultimo recurso mas pesada. Cuando una pagina se devuelve asi, tier es premium y se cobra premium-unblock en lugar de page-unblocked (nunca ambos por la misma pagina). Esta tarifa es mayor porque esas paginas cuestan mas de devolver. La mayoria de URLs nunca la activan, y solo se cobra en un desbloqueo exitoso. Usa mode en fast para evitarla del todo.
  • Extraccion con IA opcional. ai-json-requested se cobra cuando el complemento de IA se ejecuta sobre una pagina desbloqueada; ai-json-delivered se cobra solo cuando devuelve JSON estructurado valido.
  • Sin cargo de desbloqueo en fallo. Si una pagina no se puede desbloquear, success es false, blocked es true, y no se cobra ni page-unblocked ni premium-unblock. Solo pagas la pequena tarifa page-requested del intento.
  • Limite de gasto respetado. Fija maxTotalChargeUsd en la ejecucion; al alcanzarlo, el actor deja de obtener, cobrar y emitir mas URLs.
  • Planes gratuitos de Apify estan limitados a 10 URLs por ejecucion. Mejora tu plan para un maxUrls mayor.

Preguntas frecuentes

Una URL devolvio success: false. Por que? No toda proteccion se puede superar. Muros de captcha duro, algunos proveedores anti bot empresariales y muros de login pueden bloquear la pagina; errorReason y protectionDetected explican que paso. No se te cobra la tarifa de desbloqueo por esas URLs.

Que protecciones supera? Consulta la tabla de cobertura mas arriba. Es mas fuerte en Cloudflare y AWS WAF, supera a menudo Akamai y DataDome sin captcha, y devuelve un fallo honesto en captchas interactivos, PerimeterX, Imperva y muros de login.

Puede obtener un endpoint JSON de API tras Cloudflare? Si. Pon returnFormat en json y el cuerpo se parsea en parsedBody. Las respuestas JSON pequenas se tratan como contenido valido.

Como obtengo paginas pesadas de JavaScript? Activa renderJavaScript, o pon mode en thorough, y anade waitForMs si el contenido necesita mas tiempo de asentamiento.

Puedo enviar peticiones POST o cabeceras personalizadas? Si. Pon httpMethod en POST con un payload, y pasa cabeceras extra como pares clave y valor.

Como obtengo datos estructurados en lugar de HTML crudo? Activa extractToJson. Proporciona un jsonSchema para controlar la forma, o dejalo vacio y la IA devuelve el esquema que uso en generatedSchema.

Es legal usar esto? Usalo solo en paginas a las que tienes permiso de acceso, y conforme a los terminos de servicio de cada sitio y la ley aplicable. Esta herramienta accede a paginas publicamente alcanzables en tu nombre.

Scrapers relacionados

Mas scrapers en scrapers.lat

Creado y mantenido por scrapers.lat, donde publicamos scrapers para plataformas publicas de EE. UU. y America Latina: registros de empresas, datos de gobierno, finanzas, comercio electronico y mas. Explora el catalogo o solicita un scraper a medida en scrapers.lat.

Herramienta independiente para acceder a paginas publicamente alcanzables en tu nombre. Usala conforme a los terminos de servicio de cada sitio y la ley aplicable.