POST https://api.acedata.cloud/webextrator/render
A API de Renderização de Páginas WebExtrator é um serviço de renderização de páginas baseado em Chromium sem cabeça. Dado um URL, retorna o HTML completamente renderizado (incluindo conteúdo injetado por JS), texto puro, título da página e URL final.
Render é a interface mais básica do WebExtrator. Se você precisar de resultados de extração estruturados (corpo do artigo, preço do produto, ingredientes da receita…), use /webextrator/extract — que executa um pipeline de extração tipificada sobre a mesma base de renderização.
Processo de Solicitação
Para usar a página de serviços do WebExtrator, primeiro acesse o Console da Ace Data Cloud para obter seu Token de API, que deve ser guardado para uso futuro.
Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login, onde será convidado a se registrar e logar; após a conclusão, você será redirecionado de volta para a página atual.
Um Token de API é suficiente para acessar todos os serviços da plataforma, não sendo necessário solicitar um para cada serviço individualmente. A primeira solicitação oferece um crédito gratuito, permitindo uma experiência sem custo; quando o crédito acabar, você pode recarregar o saldo geral no console.
📘 Documentação completa: Página de serviços do WebExtrator →
Autenticação
Todas as interfaces do WebExtrator utilizam autenticação padrão com Bearer Token:Parâmetros de Solicitação
O contrato da plataforma utiliza uniformemente snake_case. O serviço de renderização interno suporta camelCase, mas todas as chamadas externas utilizam snake_case.
Estrutura do Cookie
Resposta Sincrona
Resposta Assíncrona
Quandoasync=true (ou fornecendo callback_url), retorna imediatamente (HTTP 200):
POST para callback_url (se configurado), ou consultados ativamente através de /webextrator/tasks.
Estrutura de Callback
A plataformaPOST um envelope exatamente igual ao modo síncrono para callback_url, Content-Type: application/json. Retornar qualquer 2xx é considerado uma confirmação; 5xx será refeito com um backoff exponencial por cerca de 5 minutos.
Resposta de Erro
Estrutura de erro:
Exemplo
cURL
Python (requests)
Node.js (fetch)
Assíncrono + Callback
{ "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 };
Quando a tarefa for concluída, a plataforma fará um POST com o resultado completo para o seu callback_url.
Forçar Bypass de Cache
Dicas e Armadilhas
- Escolher corretamente
wait_untilé muito importante.networkidleé o mais estável, mas o mais lento;domcontentloadedé rápido, mas pode perder conteúdo injetado assíncrono;loadé adequado para páginas estáticas tradicionais. - A chave de cache ignora
async. Solicitações síncronas e assíncronas para a mesma URL atingem a mesma entrada de cache, alternar aleatoriamente não invalidará. - A chave de cache ignora
bypass_cacheecache_ttl_seconds. Esses dois são interruptores de operação, não afetam o conteúdo da resposta. cookieseheadersterão cache em buckets separados. Personalizar esses dois fará com que a primeira combinação idêntica falhe.- SPAs pesadas frequentemente excedem os 30 segundos padrão. Recomenda-se
timeout: 60,wait_until: "domcontentloaded",delay: 4, e usarwait_for_selectorpara esperar os elementos realmente importantes. block_resourcesé o caminho mais rápido para reduzir a latência. Por padrão, imagens / fontes / mídias já estão bloqueadas; se você extrair sem depender do layout CSS, adicionarstylesheetpode acelerar ainda mais.

