Esta página apresenta todos os tipos de eventos de webhook que o Firecrawl pode enviar ao seu endpoint. Cada tipo de evento corresponde a uma etapa diferente nas suas operações de scraping.

Estrutura do evento

Todos os eventos de webhook seguem esta estrutura básica:
{
  "success": true,
  "type": "crawl.page",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [...],
  "metadata": {}
}

Campos comuns

CampoTipoDescrição
successbooleanIndica se a operação foi bem-sucedida
typestringIdentificador do tipo de evento
idstringIdentificador único do job
dataarrayDados específicos do evento (variam conforme o tipo)
metadataobjectMetadados personalizados da configuração do seu webhook
errorstringMensagem de erro (presente quando success é false)

Eventos de Crawl

Operações de rastreamento de múltiplas páginas que seguem links.

crawl.started

Enviado quando uma operação de rastreamento é iniciada.
{
  "success": true,
  "type": "crawl.iniciado",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [],
  "metadata": {}
}

crawl.page

Enviado para cada página individual extraída durante um rastreamento.
{
  "success": true,
  "type": "crawl.page",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [
    {
      "markdown": "# Bem-vindo ao nosso site\n\nEste é o conteúdo principal da página...",
      "metadata": {
        "title": "Título da página",
        "description": "Descrição da página",
        "url": "https://example.com/page",
        "statusCode": 200,
        "contentType": "text/html",
        "scrapeId": "550e8400-e29b-41d4-a716-446655440001",
        "sourceURL": "https://example.com/page",
        "proxyUsed": "basic",
        "cacheState": "hit"
        "cachedAt": "2025-09-03T21:11:25.636Z",
        "creditsUsed": 1
      }
    }
  ],
  "metadata": {}
}
Este é o evento mais frequente durante as varreduras. Você receberá um evento crawl.page para cada página extraída com sucesso.

crawl.completed

Enviado quando toda a operação de rastreamento é concluída com sucesso.
{
  "success": true,
  "type": "crawl.completed",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [],
  "metadata": {}
}

Eventos de Scrape em Lote

Operações que fazem scraping de várias URLs específicas.

batch_scrape.started

Enviado quando uma operação de raspagem em lote é iniciada.
{
  "success": true,
  "type": "batch_scrape.started",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [],
  "metadata": {}
}

batch_scrape.page

Enviado para cada URL individual processada durante a raspagem em lote.
{
  "success": true,
  "type": "batch_scrape.page",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [
    {
      "markdown": "# Página inicial da empresa\n\nBem-vindo ao site da nossa empresa...",
      "metadata": {
        "title": "Nome da empresa - Página inicial",
        "description": "Descrição e visão geral da empresa",
        "url": "https://example.com",
        "statusCode": 200,
        "contentType": "text/html",
        "scrapeId": "550e8400-e29b-41d4-a716-446655440001",
        "sourceURL": "https://example.com",
        "proxyUsed": "basic",
        "cacheState": "miss"
        "cachedAt": "2025-09-03T23:30:53.434Z",
        "creditsUsed": 1
      }
    }
  ],
  "metadata": {}
}
Este é o evento mais comum durante scrapes em lote. Você receberá um evento batch_scrape.page para cada URL extraída com sucesso.

batch_scrape.completed

Enviado quando a operação de raspagem em lote é concluída por completo.
{
  "success": true,
  "type": "batch_scrape.completed",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [],
  "metadata": {}
}

Eventos de Extração

Operações de extração de dados impulsionadas por LLM.

extract.started

Enviado quando uma operação de extração é iniciada.
{
  "success": true,
  "type": "extract.started",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [],
  "metadata": {}
}

extract.completed

Enviado quando uma operação de extração é concluída com sucesso.
{
  "success": true,
  "type": "extract.completed",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [
    {
      "success": true,
      "data": { "siteName": "Exemplo Site", "category": "Tecnologia" },
      "extractId": "550e8400-e29b-41d4-a716-446655440000",
      "llmUsage": 0.0020118,
      "totalUrlsScraped": 1,
      "sources": {
        "siteName": ["https://example.com"],
        "category": ["https://example.com"]
      }
    }
  ],
  "metadata": {}
}

extract.failed

Enviado quando uma operação de extração ocorre um erro.
{
  "success": false,
  "type": "extract.failed",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "data": [],
  "error": "Falha na extração de dados: tempo limite excedido",
  "metadata": {}
}

Filtragem de eventos

Você pode controlar quais eventos receber especificando um array events na configuração do seu webhook:
{
  "url": "https://your-app.com/webhook",
  "events": ["concluído", "falhou"]
}