Skip to main content
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.

Resposta Sincrona

Resposta Assíncrona

Quando async=true (ou fornecendo callback_url), retorna imediatamente (HTTP 200):
Os resultados serão enviados via POST para callback_url (se configurado), ou consultados ativamente através de /webextrator/tasks.

Estrutura de Callback

A plataforma POST 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

Retorna imediatamente { "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_cache e cache_ttl_seconds. Esses dois são interruptores de operação, não afetam o conteúdo da resposta.
  • cookies e headers terã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 usar wait_for_selector para 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, adicionar stylesheet pode acelerar ainda mais.