- Gerencia complexidades: proxies, cache, limites de taxa, conteúdo bloqueado por JS
- Lida com conteúdo dinâmico: sites dinâmicos, sites renderizados em JS, PDFs, imagens
- Gera Markdown limpo, dados estruturados, capturas de tela ou HTML.
Experimente no Playground
Teste scraping no playground interativo — sem precisar de código.
Extraindo dados de uma URL com o Evocrawl
endpoint /scrape
Instalação
Uso
Cada scrape consome 1 crédito. Créditos adicionais são cobrados para certas opções: modo JSON custa 4 créditos adicionais por página, proxy avançado custa 4 créditos adicionais por página e o processamento de PDFs custa 1 crédito por página de PDF, e a extração de áudio custa 4 créditos adicionais por página.
Resposta
Formatos de Scraping
- Markdown (
markdown) - Resumo (
summary) - HTML (
html) - versão limpa do HTML da página - HTML bruto (
rawHtml) - HTML não modificado conforme recebido da página - Captura de tela (
screenshot, com opções comofullPage,quality,viewport) — as URLs das capturas de tela expiram após 24 horas - Links (
links) - JSON (
json) - saída estruturada - Imagens (
images) - extrair todas as URLs de imagens da página - Branding (
branding) - extrair identidade da marca e sistema de design - Áudio (
audio) - extrair áudio em MP3 de URLs de vídeo compatíveis, por exemplo, YouTube (retorna uma URL assinada do GCS, expira após 1 hora)
Extraia dados estruturados
endpoint /scrape (com json)
JSON
Extraindo sem esquema
prompt para o endpoint. O LLM escolhe a estrutura dos dados.
JSON
Opções do formato JSON
json, passe um objeto dentro de formats com os seguintes parâmetros:
schema: JSON Schema para a saída estruturada.prompt: Prompt opcional para orientar a extração quando houver um schema ou quando você preferir uma orientação leve.
Extrair identidade de marca
endpoint /scrape (com branding)
Resposta
O formato de branding retorna um objetoBrandingProfile completo com a seguinte estrutura:
Output
Estrutura do Perfil de Branding
branding contém as seguintes propriedades:
colorScheme: Esquema de cores detectado ("light"ou"dark")logo: URL do logotipo principalcolors: Objeto com as cores da marca:primary,secondary,accent: Cores principais da marcabackground,textPrimary,textSecondary: Cores de UIlink,success,warning,error: Cores semânticas
fonts: Lista (array) de famílias tipográficas usadas na páginatypography: Informações detalhadas de tipografia:fontFamilies: Famílias tipográficas primária, de títulos e de códigofontSizes: Definições de tamanho para títulos e corpo do textofontWeights: Definições de espessura (leve, regular, média, negrito)lineHeights: Valores de altura de linha para diferentes tipos de texto
spacing: Informações de espaçamento e layout:baseUnit: Unidade base de espaçamento em pixelsborderRadius: Raio de borda padrãopadding,margins: Valores de espaçamento
components: Estilos de componentes de UI:buttonPrimary,buttonSecondary: Estilos de botõesinput: Estilos de campos de entrada
icons: Informações de estilo de íconesimages: Imagens da marca (logo, favicon, og:image)animations: Configurações de animação e transiçãolayout: Configuração de layout (grid, alturas de cabeçalho/rodapé)personality: Traços de personalidade da marca (tom, energia, público-alvo)
Combinando com outros formatos
Extração de áudio
audio extrai áudio de sites compatíveis (por exemplo, o YouTube) como arquivos MP3 e retorna uma URL assinada do Google Cloud Storage. Isso é útil para criar pipelines de processamento de áudio, serviços de transcrição ou ferramentas de podcast.
A extração de áudio custa 5 créditos por página (1 base + 4 adicionais).
Interagindo com a página com ações
wait antes/depois de executar outras ações para dar tempo suficiente para a página carregar.
Exemplo
Saída
Localização e idioma
Como funciona
Uso
Para usar as configurações de localização e idioma, inclua o objetolocation no corpo da sua requisição com as seguintes propriedades:
country: Código de país ISO 3166-1 alpha-2 (por exemplo, ‘US’, ‘AU’, ‘DE’, ‘JP’). O padrão é ‘US’.languages: Uma lista (array) de idiomas e localidades preferidos para a requisição, em ordem de prioridade. O padrão é o idioma da localização especificada.
Cache e maxAge
- Janela de frescor padrão:
maxAge = 172800000ms (2 dias). Se a página em cache for mais recente do que isso, ela é retornada instantaneamente; caso contrário, a página é coletada novamente e então armazenada em cache. - Desempenho: Pode acelerar as coletas em até 5x quando os dados não precisam estar ultra recentes.
- Sempre buscar conteúdo novo: Defina
maxAgecomo0. Observe que isso ignora totalmente o cache, então toda requisição passa por todo o pipeline de coleta, o que significa que a requisição levará mais tempo para ser concluída e terá maior chance de falhar. Use ummaxAgediferente de zero se a atualização em toda requisição não for crítica. - Evitar armazenamento: Defina
storeInCachecomofalsese você não quiser que o Evocrawl armazene em cache os resultados desta requisição. - Consulta somente no cache: Defina
minAgepara fazer uma consulta somente no cache sem acionar uma nova coleta. O valor está em milissegundos e especifica a idade mínima que os dados em cache devem ter. Se nenhum dado em cache for encontrado, um404com o código de erroSCRAPE_NO_CACHED_DATAé retornado. DefinaminAgecomo1para aceitar qualquer dado em cache, independentemente da idade. - Rastreio de mudanças: Requisições que incluem
changeTrackingignoram o cache, entãomaxAgeé desconsiderado. - Créditos: Resultados em cache ainda custam 1 crédito por página. O cache melhora a velocidade, não o uso de créditos.
Scraping em lote de várias URLs
Como funciona
/crawl. Ele cria um job de raspagem em lote e retorna um ID do job para você acompanhar o status da raspagem em lote.
O SDK oferece 2 métodos: síncrono e assíncrono. O método síncrono retorna os resultados do job de raspagem em lote, enquanto o método assíncrono retorna um ID do job que você pode usar para verificar o status da raspagem em lote.
Como usar
Resposta
Sincronamente
Concluído
Assíncrono
/batch/scrape/{id}. Este endpoint deve ser usado enquanto a tarefa ainda estiver em execução ou logo após sua conclusão, pois as tarefas de batch scrape expiram após 24 horas.
Modo Enhanced
Retenção zero de dados (ZDR)
zeroDataRetention: true na sua requisição:
cURL
Capturas de tela não estão disponíveis no modo ZDR. Como capturas de tela exigem envio para armazenamento persistente, elas são incompatíveis com a garantia do ZDR. Requisições que incluem
zeroDataRetention: true e o formato screenshot retornarão um erro.Você é um agente de IA que precisa de uma chave de API do Evocrawl? Consulte evocrawl.dev/agent-onboarding/SKILL.md para obter instruções automatizadas de integração.

