Saltar para o conteúdo principal
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 interface. Dado um URL, retorna o HTML totalmente 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 de artigo, preço de produto, ingredientes de receita …), use /webextrator/extract —— ela executa um pipeline completo de extração tipada sobre a mesma base de renderização.

Processo de solicitação

Para usar a página de serviço WebExtrator, primeiro obtenha seu API Token no Console Ace Data Cloud e guarde-o para uso posterior. Se você ainda não estiver conectado ou registrado, será automaticamente redirecionado para a página de login, convidando você a se registrar e entrar; após a conclusão, você retornará automaticamente à página atual. Um único API Token permite chamar todos os serviços da plataforma, sem necessidade de solicitar um separadamente para cada serviço. A primeira solicitação concede créditos gratuitos, permitindo uma experiência gratuita; quando os créditos forem insuficientes, você poderá recarregar o saldo geral no Console.
📘 Documentação completa: Página de serviço WebExtrator →

Autenticação

Todas as interfaces WebExtrator usam autenticação padrão Bearer Token:

Parâmetros de solicitação

O contrato da plataforma usa uniformemente snake_case. O serviço de renderização interno suporta camelCase, mas chamadas externas sempre usam snake_case.

Resposta síncrona

Resposta assíncrona

Quando async=true (ou callback_url é fornecido), retorna imediatamente (HTTP 200):
O resultado será enviado por POST para callback_url (se configurado), ou consultado ativamente por meio de /webextrator/tasks.

Estrutura de callback

A plataforma faz POST do envelope exatamente igual ao modo síncrono para callback_url, com Content-Type: application/json. Retornar qualquer 2xx é considerado uma confirmação; 5xx será repetido com recuo exponencial por aproximadamente 5 minutos.

Resposta de erro

Estrutura de erro:

Exemplos

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á POST do resultado completo para o seu callback_url.

Ignorar o cache à força

Dicas e armadilhas

  • Escolher wait_until corretamente é importante. networkidle é o mais estável, mas o mais lento; domcontentloaded é rápido, mas pode deixar de fora conteúdo injetado assincronamente; 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 livremente não a invalidará.
  • A chave de cache ignora bypass_cache e cache_ttl_seconds. Esses dois são opções de operação, e não afetam o conteúdo da resposta.
  • cookies e headers segmentam o cache. Personalizar esses dois fará com que o primeiro acesso da mesma combinação falhe.
  • SPAs pesadas frequentemente excedem os 30 segundos padrão. Recomenda-se timeout: 60, wait_until: "domcontentloaded", delay: 4, e então usar wait_for_selector para aguardar os elementos que realmente importam.
  • block_resources é o caminho mais rápido para reduzir a latência. Imagens / fontes / mídia já são bloqueadas por padrão; se a sua extração não depende do layout CSS, adicionar stylesheet pode torná-la ainda mais rápida.