- Descobre páginas por meio do sitemap e da navegação recursiva por links
- Suporta filtragem de caminho, limites de profundidade e controle de subdomínios/links externos
- Retorna resultados via polling, WebSocket ou webhook
Experimente no Playground
Teste o rastreamento no playground interativo — sem precisar escrever código.
Instalação
Uso básico
POST /v2/crawl com uma URL inicial. O endpoint retorna um ID do trabalho que você usa para consultar os resultados.
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
scrapeOptions (JS) / scrape_options (Python). Elas se aplicam a cada página que o crawler coleta, incluindo formatos, proxy, cache, ações, localização e tags.
Verificando o status do 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.
Os parâmetros
skip e next são relevantes apenas ao acessar a API diretamente.
Se você estiver usando o SDK, a paginação é tratada automaticamente e todos os
resultados são retornados 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. Isso é recomendado para a maioria dos casos de uso.
Inicie e verifique depois
startCrawl / start_crawl retorna imediatamente com um ID de crawl. Depois, você verifica o status manualmente. Isso é útil para crawls de longa duração ou lógica de polling personalizada.
Resultados em tempo real com WebSocket
Webhooks
cURL
Tipos de evento
| Evento | Descrição |
|---|---|
crawl.started | Disparado quando o crawl é iniciado |
crawl.page | Disparado para cada página extraída com sucesso |
crawl.completed | Disparado quando o crawl é concluído |
crawl.failed | Disparado se ocorrer um erro durante o crawl |
Payload
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.
- 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)
Referência de configuração
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
url | string | (obrigatório) | A URL inicial a partir da qual o crawl será executado |
limit | integer | 10000 | Número máximo de páginas a rastrear |
maxDiscoveryDepth | integer | (nenhum) | Profundidade máxima a partir da URL raiz com base na ordem de descoberta. O site raiz e as páginas do sitemap têm profundidade de descoberta 0. |
includePaths | string[] | (nenhum) | Padrões regex de pathname de URL a incluir. Apenas os caminhos correspondentes são rastreados. |
excludePaths | string[] | (nenhum) | Padrões regex de pathname de URL a excluir do crawl |
regexOnFullURL | boolean | false | Faz a correspondência de includePaths/excludePaths com a URL completa (incluindo parâmetros de consulta), em vez de apenas o pathname |
crawlEntireDomain | boolean | false | Segue links internos para URLs irmãs ou pai, não apenas caminhos filhos |
allowSubdomains | boolean | false | Segue links para subdomínios do domínio principal |
allowExternalLinks | boolean | false | Segue links para sites externos |
sitemap | string | "include" | Tratamento do sitemap: "include" (padrão), "skip" ou "only" |
ignoreQueryParameters | boolean | false | Evita raspar novamente o mesmo caminho com parâmetros de consulta diferentes |
delay | number | (nenhum) | Intervalo, em segundos, entre raspagens para respeitar os limites de taxa |
maxConcurrency | integer | (nenhum) | Número máximo de raspagens simultâneas. O padrão é o limite de simultaneidade da sua equipe. |
scrapeOptions | object | (nenhum) | Opções aplicadas a cada página raspada (formatos, proxy, cache, ações etc.) |
webhook | object | (nenhum) | Configuração de webhook para notificações em tempo real |
prompt | string | (nenhum) | Prompt em linguagem natural para gerar opções de crawl. Parâmetros definidos explicitamente substituem os equivalentes gerados. |
Detalhes importantes
- Descoberta de sitemap: Por padrão, o crawler inclui o sitemap do site para descobrir URLs (
sitemap: "include"). Se você definirsitemap: "skip", apenas páginas acessíveis por links HTML a partir da URL raiz serão encontradas. Recursos como PDFs ou páginas em níveis mais profundos, listados no sitemap mas não vinculados diretamente no HTML, não serão encontrados. Para obter a cobertura máxima, mantenha a configuração padrão. - Uso de créditos: Cada página rastreada custa 1 crédito. O modo JSON adiciona 4 créditos por página, o proxy avançado adiciona 4 créditos por página, e a análise de PDF custa 1 crédito por página do PDF.
- Expiração dos resultados: Os resultados do job ficam disponíveis via API por 24 horas após a conclusão. Depois disso, consulte os resultados nos logs de atividade.
- Erros de crawl: O array
datacontém as páginas que o Firecrawl extraiu com sucesso. Use o endpoint Get Crawl Errors para recuperar as páginas que falharam devido a erros de rede, timeouts ou bloqueios por robots.txt.

