Raspagem básica com o Firecrawl
/scrape.
Extração de PDFs
parsers (por exemplo, parsers: ["pdf"]) quando quiser garantir a extração de PDFs.
Opções de scraping
Formatos (formats)
- Tipo:
array - Strings:
["markdown", "links", "html", "rawHtml", "summary", "images"] - Formatos de objeto:
- JSON:
{ type: "json", prompt, schema } - Captura de tela:
{ type: "screenshot", fullPage?, quality?, viewport? } - Rastreio de mudanças:
{ type: "changeTracking", modes?, prompt?, schema?, tag? }(requermarkdown)
- JSON:
- Padrão:
["markdown"]
Conteúdo da página inteira vs conteúdo principal (onlyMainContent)
- Type:
boolean - Description: Por padrão, o scraper retorna apenas o conteúdo principal. Defina como
falsepara retornar o conteúdo da página inteira. - Default:
true
- Tipo:
array - Descrição: Tags/classes/IDs HTML a serem incluídas na extração.
- Tipo:
array - Descrição: Tags/classes/IDs HTML a serem excluídos da extração.
Aguardar preparo da página (waitFor)
- Tipo:
integer - Descrição: Tempo extra de espera, em milissegundos, antes do scraping (use com moderação). Esse tempo de espera é adicional ao recurso de espera inteligente do Firecrawl.
- Padrão:
0
Atualidade e cache (maxAge)
- Tipo:
integer(milissegundos) - Descrição: Se houver uma versão em cache da página mais recente do que
maxAge, o Firecrawl a retorna imediatamente; caso contrário, faz uma nova raspagem e atualiza o cache. Defina0para sempre buscar conteúdo novo. - Padrão:
172800000(2 dias)
Tempo de requisição (timeout)
- Tipo:
integer - Descrição: Duração máxima, em milissegundos, antes de abortar.
- Padrão:
30000(30 segundos)
Processamento de PDF (parsers)
- Tipo:
array - Descrição: Controla o comportamento de processamento. Para processar PDFs, defina
parsers: ["pdf"].
Actions (actions)
- Tipo:
array - Descrição: Sequência de etapas do navegador a serem executadas antes do scraping.
- Ações suportadas:
wait- Aguarda o carregamento da página:{ type: "wait", milliseconds: number }ou{ type: "wait", selector: string }click- Clica em um elemento:{ type: "click", selector: string, all?: boolean }write- Digita texto em um campo:{ type: "write", text: string }(o elemento deve ser focado antes comclick)press- Pressiona uma tecla do teclado:{ type: "press", key: string }scroll- Rola a página:{ type: "scroll", direction: "up" | "down", selector?: string }screenshot- Captura uma captura de tela:{ type: "screenshot", fullPage?: boolean, quality?: number, viewport?: { width: number, height: number } }scrape- Faz scrape de um subelemento da página:{ type: "scrape" }executeJavascript- Executa código JS:{ type: "executeJavascript", script: string }pdf- Gera um PDF:{ type: "pdf", format?: string, landscape?: boolean, scale?: number }
Notas sobre a execução de ações
- Write action: Você deve primeiro colocar o foco no elemento usando uma ação de
clickantes de usarwrite. O texto é digitado caractere por caractere para simular a entrada pelo teclado. - Scroll selector: Se você quiser rolar um elemento específico em vez da página inteira, forneça o parâmetro
selectorparascroll. - Wait with selector: Você pode esperar até que um elemento específico esteja visível usando
waitcom um parâmetroselector, ou esperar por uma duração fixa usandomilliseconds. - Actions are sequential: As ações são executadas em ordem, e o Firecrawl espera que as interações da página sejam concluídas antes de passar para a próxima ação.
Exemplos de Ações Avançadas
cURL
cURL
cURL
Exemplo de uso
cURL
- Retornar o conteúdo completo da página em markdown.
- Incluir o markdown, o HTML bruto, o HTML, os links e uma captura de tela na resposta.
- Incluir apenas as tags HTML
<h1>,<p>,<a>e elementos com a classe.main-content, excluindo quaisquer elementos com os IDs#ade#footer. - Aguardar 1000 milissegundos (1 segundo) antes de iniciar o scraping para permitir o carregamento da página.
- Definir a duração máxima da solicitação de scraping em 15000 milissegundos (15 segundos).
- Analisar PDFs explicitamente via
parsers: ["pdf"].
Extração de JSON via formatos
formats para extrair dados estruturados em uma única chamada:
Endpoint de extração
Rastreando várias páginas
/v2/crawl.
cURL
Verificar job de crawl
cURL
Paginação/Próxima URL
next, uma URL para a próxima página de resultados.
Prévia do prompt e dos parâmetros de crawl
prompt em linguagem natural para o Firecrawl deduzir as configurações de crawl. Veja a prévia delas primeiro:
cURL
Opções do crawler
/v2/crawl, você pode configurar o comportamento do crawler com:
includePaths
- Tipo:
array - Descrição: Padrões de regex a incluir.
- Exemplo:
["^/blog/.*$", "^/docs/.*$"]
excludePaths
- Tipo:
array - Descrição: Padrões de regex a serem excluídos.
- Exemplo:
["^/admin/.*$", "^/private/.*$"]
maxDiscoveryDepth
- Tipo:
integer - Descrição: Profundidade máxima de descoberta para encontrar novas URLs.
limit
- Type:
integer - Description: Número máximo de páginas a rastrear.
- Default:
10000
crawlEntireDomain
- Tipo:
boolean - Descrição: Explora por páginas relacionadas (irmãs/pais) para cobrir todo o domínio.
- Padrão:
false
allowExternalLinks
- Tipo:
boolean - Descrição: Segue links para domínios externos.
- Padrão:
false
allowSubdomains
- Tipo:
boolean - Descrição: Segue subdomínios do domínio principal.
- Padrão:
false
delay
- Tipo:
number - Descrição: Atraso, em segundos, entre as extrações.
- Padrão:
undefined
scrapeOptions
- Tipo:
object - Descrição: Opções para o scraper (veja Formatos acima).
- Exemplo:
{ "formats": ["markdown", "links", {"type": "screenshot", "fullPage": true}], "includeTags": ["h1", "p", "a", ".main-content"], "excludeTags": ["#ad", "#footer"], "onlyMainContent": false, "waitFor": 1000, "timeout": 15000} - Padrões:
formats: ["markdown"], cache ativado por padrão (maxAge ~ 2 dias)
Exemplo de uso
cURL
Mapeamento de links de sites
/v2/map identifica URLs relacionadas a um determinado site.
Uso
cURL
Opções de mapeamento
search
- Tipo:
string - Descrição: Filtra links que contêm determinado texto.
limit
- Tipo:
integer - Descrição: Número máximo de links a serem retornados.
- Padrão:
100
sitemap
- Tipo:
"only" | "include" | "skip" - Descrição: Controla o uso do sitemap durante o mapeamento.
- Padrão:
"include"
includeSubdomains
- Tipo:
boolean - Descrição: Inclui os subdomínios do site.
- Padrão:
true

