- 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 em saltos de descoberta de links, e não no número de segmentos / na URL. Cada vez que uma nova URL é encontrada em uma página, ela recebe uma profundidade um nível acima da página em que foi descoberta. O site raiz e as páginas do sitemap têm profundidade de descoberta 0. As páginas na profundidade máxima ainda são extraídas, mas os links nelas não são seguidos. |
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. - Resultados não determinísticos: Os resultados do crawl podem variar entre execuções com a mesma configuração. As páginas são extraídas de forma concorrente, então a ordem em que os links são descobertos depende do timing da rede e de quais páginas terminam de carregar primeiro. Isso significa que diferentes ramificações de um site podem ser exploradas em extensões diferentes perto do limite de profundidade, especialmente em valores mais altos de
maxDiscoveryDepth. Para obter resultados mais determinísticos, definamaxConcurrencycomo1ou usesitemap: "only"se o site tiver um sitemap abrangente.

