Tool: Website Unblocker, Cloudflare Bypass and Scraping API
Pricing
from $0.04 / page unblocked
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
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
7
Monthly active users
9 days ago
Last modified
Categories
Share
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
Table of contents
- What it does
- Which protections it clears
- Quickstart
- Input reference
- Output reference
- How it compares
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
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.
| Protection | Status |
|---|---|
| Cloudflare (Just a moment, managed challenge, Turnstile) | Cleared in most cases |
| AWS WAF (challenge and token) | Cleared in most cases |
| Akamai Bot Manager | Often cleared |
| DataDome (non captcha variants) | Often cleared |
| Plain 403, 429, IP and datacenter blocks | Cleared in most cases |
| DataDome device or captcha check | Not cleared, honest failure |
| PerimeterX / HUMAN, Imperva / Incapsula | Not cleared, honest failure |
| Interactive reCAPTCHA, hCaptcha, login walls | Not 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
urls | string[] | yes | (example URL) | One or more page URLs to fetch. One run can process many URLs. A single URL string is also accepted. |
httpMethod | enum | no | GET | Request method for every URL: GET or POST. |
headers | object | no | (none) | Extra request headers sent with every URL, as key and value pairs. |
payload | string | no | (none) | Request body to send when httpMethod is POST. |
renderJavaScript | boolean | no | false | Render JavaScript for single page apps and heavy pages. Off is faster for normal HTML. |
mode | enum | no | auto | Effort 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. |
returnFormat | enum | no | html | html returns the page source. text also returns visible text. json also parses the body as JSON into parsedBody. |
country | enum | no | auto | Country to view the page from for geo specific content. auto picks the best match per URL. |
waitForMs | integer | no | (none) | Extra settle time in ms for JavaScript pages before HTML is captured (0 to 30000). |
requestTimeoutSecs | integer | no | (default) | Maximum seconds to wait for each page (5 to 120). |
followRedirects | boolean | no | true | Follow HTTP redirects to the final page. Turn off to capture the first response as is. |
maxUrls | integer | no | 25 | Maximum URLs to process in this run. |
extractToJson | boolean | no | false | Paid add on. Convert each unblocked page to structured JSON with AI. Billed only for pages that were unblocked. |
jsonSchema | object | no | (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.
| Field | Type | Description |
|---|---|---|
url | string | The requested URL. |
finalUrl | string | The URL after any redirects. |
success | boolean | true when the real page was returned. |
blocked | boolean | true when the real page could not be returned. |
statusCode | integer | Final HTTP status code, or null. |
protectionDetected | string | Detected protection vendor (for example cloudflare, datadome, none). |
tier | string | Billing tier used on success: standard or premium. null on failure. |
pageTitle | string | Title of the unblocked page, or null on failure. |
contentLength | integer | Length of the returned HTML in characters. |
html | string | Full page HTML on success, else null. |
text | string | Visible text when returnFormat is text, else null. |
parsedBody | object | Body parsed as JSON when returnFormat is json and the body is JSON, else null. |
json | object | AI extracted structured JSON when extractToJson succeeded, else null. |
generatedSchema | object | Schema the AI used when none was supplied, else null. |
responseHeaders | object | Final response headers from the site, or null. |
attempts | integer | Number of attempts made to unblock the URL. |
timingMs | integer | Milliseconds spent fetching this URL. |
errorReason | string | null on success; on failure, why the page could not be returned. |
source | string | Host of the requested URL. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
How it compares
An honest comparison with common web unblocking and scraping API tools.
| Capability | This tool | ScrapingBee | ZenRows | apify/web-scraper |
|---|---|---|---|---|
| Many URLs per run | Yes | One per call | One per call | Yes |
| GET and POST with body | Yes | Yes | Yes | Limited |
| Custom headers | Yes | Yes | Yes | Yes |
| JavaScript rendering | Yes | Yes | Yes | Yes |
| Target country | Yes | Yes | Yes | Via proxy |
| Return HTML, text or JSON | Yes | Yes | Yes | Custom code |
| Parsed JSON for API endpoints | Yes | Partial | Partial | Custom code |
| Response headers returned | Yes | Partial | Partial | Custom code |
| Detected protection vendor reported | Yes | No | No | No |
| AI page to JSON with your schema | Yes | No | No | Custom code |
| No API key or proxy setup | Yes | API key | API key | Setup needed |
| Pay only on a successful unblock | Yes | Credits on failure too | Credits on failure too | Compute units |
| Screenshots | No | Yes | Yes | Yes |
| Full interactive browser scripting | No | Partial | Partial | Yes |
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:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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-requestedfee whether or not it is unblocked. Thepage-unblockedfee 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,
tierispremiumand it is chargedpremium-unblockinstead ofpage-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. Usemodeset tofastto avoid it entirely. - Optional AI extraction.
ai-json-requestedis charged when the AI add on runs on an unblocked page;ai-json-deliveredis charged only when it returns valid structured JSON. - No unblock charge on failure. If a page cannot be unblocked,
successisfalse,blockedistrue, and neither thepage-unblockednor thepremium-unblockfee is charged. You pay only the smallpage-requestedfee for the attempt. - Spend cap respected. Set
maxTotalChargeUsdon 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.
Related scrapers
- Cloudflare Bypass Scraper: Fetch pages behind Cloudflare challenges.
- DataDome Bypass Scraper: Fetch pages behind DataDome protection.
- Akamai Bypass Scraper: Fetch pages behind Akamai protection.
- Document OCR to JSON Tool: Turn documents into structured JSON.
- Company Research Enrichment Tool: Enrich companies from a domain.
- Contact Enrichment Tool: Enrich contacts from a domain or name.
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
- Que protecciones supera
- Inicio rapido
- Referencia de entrada
- Referencia de salida
- Como se compara
- Uso por API y CLI
- Obtener resultados
- Facturacion y limites
- Preguntas frecuentes
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.
| Proteccion | Estado |
|---|---|
| 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 Manager | Superada a menudo |
| DataDome (variantes sin captcha) | Superada a menudo |
| Bloqueos 403, 429, de IP y de datacenter | Superados en la mayoria de casos |
| DataDome con verificacion de dispositivo o captcha | No superada, fallo honesto |
| PerimeterX / HUMAN, Imperva / Incapsula | No superada, fallo honesto |
| reCAPTCHA interactivo, hCaptcha, muros de login | No 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
| Campo | Tipo | Requerido | Predeterminado | Descripcion |
|---|---|---|---|---|
urls | string[] | si | (URL de ejemplo) | Una o mas URLs a obtener. Una ejecucion puede procesar muchas URLs. Tambien se acepta una sola URL. |
httpMethod | enum | no | GET | Metodo de peticion para cada URL: GET o POST. |
headers | object | no | (ninguno) | Cabeceras extra enviadas con cada URL, como pares clave y valor. |
payload | string | no | (ninguno) | Cuerpo de la peticion cuando httpMethod es POST. |
renderJavaScript | boolean | no | false | Renderiza JavaScript para single page apps y paginas pesadas. Desactivado es mas rapido para HTML normal. |
mode | enum | no | auto | Nivel 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. |
returnFormat | enum | no | html | html devuelve el codigo fuente. text tambien devuelve el texto visible. json tambien parsea el cuerpo como JSON en parsedBody. |
country | enum | no | auto | Pais desde el que ver la pagina para contenido geolocalizado. auto elige la mejor coincidencia por URL. |
waitForMs | integer | no | (ninguno) | Tiempo extra de asentamiento en ms para paginas con JavaScript antes de capturar el HTML (0 a 30000). |
requestTimeoutSecs | integer | no | (predeterminado) | Maximo de segundos a esperar por cada pagina (5 a 120). |
followRedirects | boolean | no | true | Sigue las redirecciones HTTP hasta la pagina final. Desactivalo para capturar la primera respuesta tal cual. |
maxUrls | integer | no | 25 | Maximo de URLs a procesar en esta ejecucion. |
extractToJson | boolean | no | false | Complemento de pago. Convierte cada pagina desbloqueada en JSON estructurado con IA. Se cobra solo por paginas desbloqueadas. |
jsonSchema | object | no | (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.
| Campo | Tipo | Descripcion |
|---|---|---|
url | string | La URL solicitada. |
finalUrl | string | La URL despues de las redirecciones. |
success | boolean | true cuando se devolvio la pagina real. |
blocked | boolean | true cuando no se pudo devolver la pagina real. |
statusCode | integer | Codigo de estado HTTP final, o null. |
protectionDetected | string | Proveedor de proteccion detectado (por ejemplo cloudflare, datadome, none). |
tier | string | Nivel de facturacion en exito: standard o premium. null en fallo. |
pageTitle | string | Titulo de la pagina desbloqueada, o null en fallo. |
contentLength | integer | Longitud del HTML devuelto en caracteres. |
html | string | HTML completo en exito, si no null. |
text | string | Texto visible cuando returnFormat es text, si no null. |
parsedBody | object | Cuerpo parseado como JSON cuando returnFormat es json y el cuerpo es JSON, si no null. |
json | object | JSON estructurado extraido con IA cuando extractToJson funciono, si no null. |
generatedSchema | object | Esquema que uso la IA cuando no se dio ninguno, si no null. |
responseHeaders | object | Cabeceras de respuesta finales del sitio, o null. |
attempts | integer | Numero de intentos hechos para desbloquear la URL. |
timingMs | integer | Milisegundos empleados en obtener esta URL. |
errorReason | string | null en exito; en fallo, por que no se pudo devolver la pagina. |
source | string | Host de la URL solicitada. |
observedAt | string | Marca de tiempo ISO 8601 de la recogida. |
Como se compara
Una comparacion honesta con herramientas comunes de desbloqueo web y API de scraping.
| Capacidad | Esta herramienta | ScrapingBee | ZenRows | apify/web-scraper |
|---|---|---|---|---|
| Muchas URLs por ejecucion | Si | Una por llamada | Una por llamada | Si |
| GET y POST con cuerpo | Si | Si | Si | Limitado |
| Cabeceras personalizadas | Si | Si | Si | Si |
| Renderizado de JavaScript | Si | Si | Si | Si |
| Pais de destino | Si | Si | Si | Via proxy |
| Devolver HTML, texto o JSON | Si | Si | Si | Codigo propio |
| JSON parseado para endpoints API | Si | Parcial | Parcial | Codigo propio |
| Cabeceras de respuesta devueltas | Si | Parcial | Parcial | Codigo propio |
| Proveedor de proteccion detectado | Si | No | No | No |
| IA de pagina a JSON con tu esquema | Si | No | No | Codigo propio |
| Sin API key ni configuracion de proxy | Si | API key | API key | Requiere config |
| Pagar solo en un desbloqueo exitoso | Si | Credito tambien en fallo | Credito tambien en fallo | Unidades de computo |
| Capturas de pantalla | No | Si | Si | Si |
| Scripting completo de navegador interactivo | No | Parcial | Parcial | Si |
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:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginar datasets grandescurl "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-requestedse desbloquee o no. La tarifapage-unblockedse 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,
tierespremiumy se cobrapremium-unblocken lugar depage-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. Usamodeenfastpara evitarla del todo. - Extraccion con IA opcional.
ai-json-requestedse cobra cuando el complemento de IA se ejecuta sobre una pagina desbloqueada;ai-json-deliveredse cobra solo cuando devuelve JSON estructurado valido. - Sin cargo de desbloqueo en fallo. Si una pagina no se puede desbloquear,
successesfalse,blockedestrue, y no se cobra nipage-unblockednipremium-unblock. Solo pagas la pequena tarifapage-requesteddel intento. - Limite de gasto respetado. Fija
maxTotalChargeUsden 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
maxUrlsmayor.
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
- Cloudflare Bypass Scraper: Obten paginas tras desafios de Cloudflare.
- DataDome Bypass Scraper: Obten paginas tras proteccion DataDome.
- Akamai Bypass Scraper: Obten paginas tras proteccion Akamai.
- Document OCR to JSON Tool: Convierte documentos en JSON estructurado.
- Company Research Enrichment Tool: Enriquece empresas desde un dominio.
- Contact Enrichment Tool: Enriquece contactos desde un dominio o nombre.
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.



