Skip to main content

Coleta em lote de várias URLs

Agora você pode coletar em lote várias URLs simultaneamente. A função recebe as URLs iniciais e parâmetros opcionais como argumentos. O argumento params permite especificar opções adicionais para a tarefa de coleta em lote, como os formatos de saída.

Como funciona

Funciona de forma muito semelhante ao endpoint /crawl. Você pode iniciar o lote e aguardar a conclusão ou iniciá-lo e lidar com a conclusão por conta própria.
  • batchScrape (JS) / batch_scrape (Python): inicia um job em lote e aguarda a conclusão, retornando os resultados.
  • startBatchScrape (JS) / start_batch_scrape (Python): inicia um job em lote e retorna o ID do job para que você possa fazer polling ou usar webhooks.

Concorrência

Por padrão, uma tarefa de raspagem em lote usa todo o limite de navegadores simultâneos da sua equipe (consulte Rate Limits). Você pode reduzir isso por tarefa com o parâmetro maxConcurrency — por exemplo, maxConcurrency: 50 limita essa tarefa a 50 raspagens simultâneas. Definir esse valor muito baixo em lotes grandes vai tornar o processamento significativamente mais lento, então só o reduza se você realmente precisar deixar capacidade para outras tarefas em execução simultânea.

Uso

Resposta

Chamar batchScrape/batch_scrape retorna os resultados completos quando o lote é concluído.
Concluído
Chamar startBatchScrape/start_batch_scrape retorna um ID de job que você pode acompanhar via getBatchScrapeStatus/get_batch_scrape_status, usando o endpoint da API /batch/scrape/{id} ou webhooks. Os resultados do job ficam disponíveis via API por 24 horas após a conclusão. Depois desse período, você ainda pode visualizar o histórico e os resultados dos seus batch scrapes nos activity logs.

Coleta em lote com extração estruturada

Você também pode usar o endpoint de coleta em lote para extrair dados estruturados das páginas. Isso é útil se você quiser obter os mesmos dados estruturados de uma lista de URLs.

Resposta

batchScrape/batch_scrape retorna resultados completos:
Concluído
startBatchScrape/start_batch_scrape retorna um ID de tarefa:

Raspagem em lote com webhooks

Você pode configurar webhooks para receber notificações em tempo real conforme cada URL do seu lote é raspada. Isso permite processar os resultados imediatamente, em vez de esperar a conclusão de todo o lote.
cURL

Referência rápida

Tipos de eventos:
  • batch_scrape.started - Quando a raspagem em lote começa
  • batch_scrape.page - Para cada URL raspada com sucesso
  • batch_scrape.completed - Quando todas as URLs são processadas
  • batch_scrape.failed - Se a raspagem em lote encontrar um erro
Payload básico:

Segurança: Verificando Assinaturas de Webhook

Toda requisição de webhook do Firecrawl inclui o cabeçalho X-Firecrawl-Signature contendo uma assinatura HMAC-SHA256. Sempre verifique essa assinatura para garantir que o webhook é autêntico e não foi adulterado. Como funciona:
  1. Obtenha o segredo do seu webhook na aba Advanced das configurações da sua conta
  2. Extraia a assinatura do cabeçalho X-Firecrawl-Signature
  3. Calcule o HMAC-SHA256 do corpo bruto da requisição usando o seu segredo
  4. Compare com o cabeçalho de assinatura usando uma função segura contra ataques de timing
Nunca processe um webhook sem verificar sua assinatura antes. O cabeçalho X-Firecrawl-Signature contém a assinatura no formato: sha256=abc123def456...
Para exemplos completos de implementação em JavaScript e Python, consulte a documentação de Segurança de Webhooks.

Documentação completa

Para uma documentação completa sobre webhooks, incluindo payloads de eventos detalhados, configurações avançadas e solução de problemas, consulte a documentação de webhooks.