Skip to main content
O monitoramento do Firecrawl detecta quando o conteúdo de um site muda e envia notificações por webhook ou e-mail. Ele executa scraping ou rastreamentos recorrentes e compara cada resultado com o último snapshot retido. Use os monitores para acompanhar páginas de produto, documentação, blogs, changelogs, sites de concorrentes ou qualquer página em que as mudanças sejam importantes. Cada verificação registra resultados por página como same, new, changed, removed ou error. Você pode receber um webhook quando cada página monitorada for concluída, um webhook para cada verificação concluída, resumos por email quando houver mudanças ou erros, ou qualquer combinação dessas notificações.

Criar um monitor

Crie um monitor de scraping para uma ou mais URLs especificadas explicitamente:
Crie um monitor de rastreamento para detectar diferenças em cada página descoberta por um rastreamento a cada verificação:
Cada chamada de criação retorna o novo monitor com o cron normalizado, nextRunAt calculado e estimatedCreditsPerMonth. Quando a avaliação está habilitada, estimatedCreditsPerMonth é uma estimativa de limite superior, porque os créditos de avaliação só são cobrados para páginas alteradas que de fato são avaliadas:
Response
Você também pode criar monitores pela CLI do Firecrawl:
CLI

Objetivos e avaliação

Adicione um goal em linguagem simples quando quiser receber alertas apenas sobre mudanças significativas. Se goal estiver presente e judgeEnabled for omitido, o Firecrawl ativa a avaliação automaticamente. A avaliação é executada nas páginas alteradas e retorna um judgment com meaningful, confidence, reason e meaningfulChanges. Use judgeEnabled: false se quiser armazenar uma meta sem avaliar as mudanças ainda. O avaliador só é executado quando o monitor tem judgeEnabled e um goal não vazio.
Cada verificação sempre cobra pelos scrapings ou rastreamentos subjacentes. Se a avaliação estiver habilitada, o avaliador adiciona 1 crédito para cada página alterada que ele valida. Verificações sem páginas alteradas não usam créditos do avaliador.
Boas metas são curtas e explícitas: diga o que deve acionar um alerta, reforce qualquer escopo, como top N, preço, tipo de cargo, empresa, região, tópico, status ou entidade, e inclua exclusões apenas quando fizerem parte da intenção. Se a meta for ampla, mantenha-a ampla; por exemplo, “qualquer mudança” não deve adicionar filtros de ruído que ocultem mudanças. Por exemplo, um monitor com esta meta:
poderia gerar um webhook monitor.page como este quando uma história correspondente entrar no escopo:
monitor.page

Agendamentos

Os agendamentos podem ser fornecidos como expressão cron ou como texto simples em linguagem natural.
Exemplos aceitos em linguagem natural:
  • every 30 minutes
  • every 15 minutes starting at :07
  • hourly
  • every 2 hours
  • daily
  • daily at 9:00
  • daily at 9am
  • daily at 5:30 PM
  • weekly
O intervalo mínimo é de 15 minutos. As respostas da API sempre retornam a expressão cron normalizada. Para agendamentos em texto, timezone determina quando expressões como daily at 9am são executadas. Os agendamentos em texto são distribuídos com base no ID do monitor antes de serem convertidos para cron, para que vários monitores não sejam executados todos no mesmo instante.

Alvos

Os monitores oferecem suporte a dois tipos de alvo:
  • scrape: executa uma operação de scraping por URL em urls.
  • crawl: executa um rastreamento completo de url em cada verificação e depois compara todas as páginas descobertas.
Cada monitor aceita de 1 a 50 alvos. O padrão de retentionDays é 30, e ele pode ser definido em até 365. As opções de scraping do alvo são repassadas aos jobs de scraping subjacentes. Os scrapings acionados pelo monitor usam maxAge como 0 por padrão, então cada verificação executa um scraping novo, a menos que você defina explicitamente um maxAge diferente.
Scrape target
Para alvos de rastreamento, use crawlOptions para definir o comportamento do rastreamento e scrapeOptions para o scraping de cada página:
Crawl target

Rastreamento de mudanças

Por padrão, o Firecrawl compara o markdown de cada página e informa same, changed, new, removed ou error. Quando quiser detectar mudanças em campos estruturados específicos (preço, manchete, indicador de disponibilidade em estoque, itens de uma lista etc.), habilite o rastreamento de mudanças no modo JSON adicionando um formato changeTracking com modes: ["json"] às scrapeOptions do alvo.

Modo Markdown (padrão)

Quando scrapeOptions.formats é apenas ["markdown"], cada página alterada na resposta da verificação inclui um diff de texto unificado e uma AST no estilo parseDiff:
Markdown-mode diff

Modo JSON

Passe um formato changeTracking com modes: ["json"] junto com um schema JSON (ou um prompt) que descreva os campos que importam para você. O Firecrawl extrai esse JSON em cada verificação e gera um diff por campo identificado pelo caminho do campo, além de um snapshot.json com a extração atual completa, para que os consumidores não precisem buscar novamente o scraping subjacente.
O payload do diff se parece com isto — as chaves são caminhos JSON na extração, e cada valor é um par {previous, current}:
JSON-mode diff
Mesmo que nenhum campo rastreado tenha mudado, mas o markdown ao redor tenha sido alterado, os monitores no modo JSON ainda reportam same, a menos que você também habilite o git-diff (veja o modo misto abaixo). O diff se concentra exclusivamente nos campos do seu schema.

Modo misto (JSON + git-diff)

Se você quiser as duas saídas — o diff estruturado por campo e o diff unificado bruto em markdown — passe ambos os modos:
Mixed target (JSON + git-diff)
A resposta da verificação passa então a conter tanto diff.text (sidecar em markdown) quanto diff.json (diff por campo), junto com a extração snapshot.json:
Mixed-mode diff (JSON + git-diff)
Uma página em modo misto indica changed sempre que qualquer uma das saídas mudar.

Notificações

Webhooks

Quando um monitor tem um webhook, o Firecrawl pode enviar dois eventos do monitor:
  • monitor.page: Enviado conforme cada scraping monitorado é concluído no worker de scraping.
  • monitor.check.completed: Enviado após a consolidação da verificação completa. Inclui o status da verificação e contagens de resumo. Use os eventos monitor.page ou a API de verificação do monitor para obter resultados por página.
monitor.page inclui isMeaningful e judgment quando a avaliação de alteração significativa é executada para uma página alterada.
Webhook config
Payload de monitor.page:
monitor.page
Payload de monitor.check.completed:
monitor.check.completed
success é true quando a verificação é concluída sem erros de página. É false em verificações com falha ou parciais, e error contém o motivo da falha quando disponível.

Email

Os resumos por email são enviados somente quando uma verificação detecta páginas alteradas, novas, removidas ou com erro.
Email config
Quando um monitor tem uma meta e a avaliação está habilitada, os resumos por email priorizam páginas alteradas significativas. Se todas as páginas alteradas forem classificadas como ruído e não houver páginas novas, removidas ou com erro, o email não será enviado. Se recipients for omitido, o Firecrawl enviará para os membros da equipe aptos a receber emails de alerta do sistema. Você pode configurar até 25 destinatários especificados.

Processo de confirmação do destinatário

Quando um novo destinatário é adicionado a um monitor, o Firecrawl envia um email com um link de confirmação. Isso garante que ele concorde explicitamente em receber notificações desse monitor. Se o destinatário já for membro da equipe, não será necessário confirmar.

Consultar resultados

Use GET /v2/monitor/{monitorId}/checks para listar verificações e GET /v2/monitor/{monitorId}/checks/{checkId} para inspecionar uma verificação. Os SDKs fazem paginação automática por padrão.
A lista de verificações pode ser filtrada pelo status da verificação: queued, running, completed, failed, partial ou skipped_overlap. A resposta de detalhes da verificação inclui estimatedCredits, actualCredits, contagens resumidas e um array pages paginado. estimatedCredits é a reserva no limite máximo para a verificação; actualCredits é o valor final cobrado depois que o Firecrawl determina quantas páginas mudaram e precisaram de avaliação. Use a URL next de nível superior para buscar a próxima página de resultados, seguindo a paginação do rastreamento. Você pode filtrar páginas por status: same, new, changed, removed ou error. Cada página alterada inclui dados de diff inline; páginas de monitores em modo JSON também incluem um snapshot com a extração atual.
Markdown-mode response

Preços

Os monitores não têm uma cobrança separada por monitor. Cada verificação consome os créditos do scraping ou do rastreamento subjacente que ela executa, além de um crédito opcional por página alterada quando a avaliação de mudança significativa está ativada.

Referência da API