- Análise de URL: Examina o sitemap e percorre o site para identificar links
- Navegação: Segue links recursivamente para encontrar todas as subpáginas
- Extração: Extrai o conteúdo de cada página, lidando com JS e limites de taxa
- Resultado: Converte os dados em markdown limpo ou em formato estruturado
Experimente no Playground
Teste o rastreamento no playground interativo — sem precisar escrever código.
Rastreamento
endpoint /crawl
Por padrão, o crawler inclui o sitemap do site para descobrir URLs (
sitemap: "include"). Se você definir sitemap: "skip", o crawler só encontrará páginas alcançáveis por links HTML a partir da URL raiz. Arquivos como PDFs ou páginas profundamente aninhadas que estejam listadas no sitemap, mas não sejam linkadas diretamente de nenhuma página HTML, serão ignoradas. Para máxima cobertura, mantenha a configuração padrão sitemap: "include".Instalação
Uso
Cada página rastreada consome 1 crédito. O
limit padrão de rastreamento é 10.000 páginas — defina um limit menor para controlar o uso de créditos (por exemplo, limit: 100). São cobrados créditos adicionais para certas opções: modo JSON custa 4 créditos adicionais por página, proxy aprimorado custa 4 créditos adicionais por página, e análise de PDF custa 1 crédito por página de PDF.Opções de scrape no crawl
scrapeOptions (JS) / scrape_options (Python). Elas se aplicam a cada página que o crawler coleta: formatos, proxy, cache, ações, localização, tags etc. Veja a lista completa na Referência da API de Scrape.
Resposta da API
ID para verificar o status do crawl.
Se você estiver usando o SDK, consulte os métodos abaixo para entender o comportamento de waiter vs starter.
Verificar Job de Rastreamento
Os resultados do job ficam disponíveis via API por 24 horas após a conclusão. Após esse período, você ainda pode ver o histórico e os resultados dos seus rastreamentos nos activity logs.
As páginas no array
data dos resultados do rastreamento são páginas que o Firecrawl conseguiu extrair com sucesso — mesmo que o site de destino tenha retornado um erro HTTP como 404. O campo metadata.statusCode mostra o código de status HTTP retornado pelo site de destino. Para recuperar páginas que o próprio Firecrawl não conseguiu extrair (por exemplo, erros de rede, timeouts ou bloqueios por robots.txt), use o endpoint dedicado Get Crawl Errors (GET /crawl/{id}/errors).Tratamento de respostas
next. Você deve requisitar essa URL para obter os próximos 10 MB de dados. Se o parâmetro next estiver ausente, isso indica o fim dos dados da varredura.
O parâmetro skip define o número máximo de resultados retornados em cada bloco.
Os parâmetros skip e next são relevantes apenas ao acessar a API diretamente.
Se você estiver usando o SDK, nós cuidamos disso para você e retornaremos
todos os resultados de uma vez.
Métodos do SDK
- Crawl e aguarde (
crawl):- Aguarda a conclusão do crawl e retorna a resposta completa
- Faz a paginação automaticamente
- Recomendado para a maioria dos casos de uso
- Inicie e depois verifique o status (
startCrawl/start_crawl):- Retorna imediatamente com um ID de crawl
- Permite verificar o status manualmente
- Útil para crawls de longa duração ou lógica de polling personalizada
WebSocket de Crawl
Crawl URL and Watch, permite extrair e monitorar dados em tempo real. Inicie um crawl a partir de uma URL e personalize-o com opções como limite de páginas, domínios permitidos e formatos de saída — ideal para necessidades de processamento de dados imediatas.
Webhook de Rastreamento
cURL
Referência rápida
crawl.started- Quando o rastreamento começacrawl.page- Para cada página rastreada com sucessocrawl.completed- Quando o rastreamento terminacrawl.failed- Se o rastreamento encontrar um erro
Segurança: Verificando Assinaturas de Webhook
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:
- Obtenha seu segredo de webhook na aba Advanced das configurações da sua conta
- Extraia a assinatura do cabeçalho
X-Firecrawl-Signature - Calcule o HMAC-SHA256 do corpo bruto da requisição usando o seu segredo
- Compare com o cabeçalho de assinatura usando uma função com proteção contra ataques de timing (tempo constante)

