O Firecrawl envia eventos de webhook em cada etapa do ciclo de vida de um job, para que você possa acompanhar o progresso, capturar resultados e lidar com falhas em tempo real sem precisar fazer consultas.
Referência rápida#
| Evento | Gatilho |
|---|---|
crawl.started | O job de rastreamento começa a ser processado |
crawl.page | Uma página é extraída durante um rastreamento |
crawl.completed | O job de rastreamento é concluído e todas as páginas foram processadas |
batch_scrape.started | O job de extração em lote começa a ser processado |
batch_scrape.page | Uma URL é extraída durante uma extração em lote |
batch_scrape.completed | Todas as URLs do lote foram processadas |
extract.started | O job de extração começa a ser processado |
extract.completed | A extração é concluída com sucesso |
extract.failed | A extração falha |
agent.started | O job do agente começa a ser processado |
agent.action | O agente executa uma ferramenta (scraping, busca etc.) |
agent.completed | O agente é concluído com sucesso |
agent.failed | O agente encontra um erro |
agent.cancelled | O job do agente é cancelado pelo usuário |
monitor.page | O scraping de uma página monitorada é concluído |
monitor.check.completed | A verificação do monitor é concluída e as mudanças no nível da página ficam disponíveis |
Estrutura do payload#
Todos os eventos de webhook compartilham esta estrutura:
| Field | Type | Description |
|---|---|---|
success | boolean | Se a operação foi bem-sucedida |
type | string | Tipo de evento (por exemplo, crawl.page) |
id | string | ID do job |
data | array or object | Dados específicos do evento (veja exemplos abaixo) |
metadata | object | Metadados personalizados da sua configuração de webhook |
error | string | Mensagem de erro (quando success é false) |
Eventos de Crawl#
crawl.started#
Enviado quando a operação de rastreamento começa a ser processada.
crawl.page#
Enviado para cada página extraída. O array data contém o conteúdo da página e seus metadados.
crawl.completed#
Enviado quando toda a operação de rastreamento é concluída e todas as páginas foram processadas.
Eventos de Scrape em Lote#
batch_scrape.started#
Enviado quando a tarefa de raspagem em lote começa a ser processada.
batch_scrape.page#
Enviado para cada URL processada na raspagem. O array data contém o conteúdo da página e seus metadados.
batch_scrape.completed#
Enviado quando todas as URLs do lote tiverem sido processadas.
Eventos do Monitor#
monitor.page#
Enviado quando o scraping de cada página monitorada é concluído. Esse evento é emitido pela rota do worker de scraping, portanto chega antes que a verificação completa do monitor seja consolidada.
monitor.check.completed#
Enviado quando uma verificação do monitor é concluída. O objeto data contém o status da verificação e contagens resumidas. Os resultados por página são enviados apenas por meio de eventos monitor.page ou retornados pela API de verificação do monitor.
success é true quando a verificação é concluída sem erros de página. Em verificações parciais ou com falha, success é false e error pode conter uma mensagem.
Eventos de Extração#
extract.started#
Enviado quando a tarefa de extração começa a ser processada.
extract.completed#
Enviado quando uma operação de extração é concluída com sucesso. O array data contém os dados extraídos e as informações de uso.
extract.failed#
Enviado quando a extração falha. O campo error contém o motivo do erro.
Eventos do agente#
Enviado para jobs iniciados com um webhook em /v2/agent.
agent.started#
Enviado quando a tarefa do agente começa a ser processada.
agent.action#
Enviado após cada execução de uma ferramenta (scrape, search, etc.).
O valor de creditsUsed em eventos de action é uma estimativa do total
de créditos usados até o momento. A contagem exata de créditos só está
disponível nos eventos completed, failed ou cancelled.
agent.completed#
Enviado quando o agente conclui a execução com sucesso. O array data contém os dados extraídos e o total de créditos consumidos.
agent.failed#
Enviado quando o agente encontra um erro. O campo error contém o motivo da falha.
agent.cancelled#
Enviado quando a tarefa do agente é cancelada pelo usuário.
Filtragem de eventos#
Por padrão, você recebe todos os eventos. Para receber apenas eventos específicos, use o array events na configuração do seu webhook:
Isso é útil se você se importa apenas com a conclusão da tarefa e não precisa de atualizações por página.

