Pular para o conteúdo principal

Instalação

O SDK oficial do Firecrawl para Rust é mantido no monorepo do Firecrawl em apps/rust-sdk. Para instalar o SDK do Firecrawl para Rust, adicione a dependência do crates.io:
Ou instale com o Cargo:
Requer Rust 1.70 ou superior.

Uso

  1. Obtenha uma chave de API em firecrawl.dev
  2. Defina a chave de API como uma variável de ambiente chamada FIRECRAWL_API_KEY ou passe-a diretamente para Client::new(...)
Faça scraping de uma página e imprima seu markdown:
As seções abaixo abordam o rastreamento, o mapeamento, a busca e outros métodos do SDK.

Scraping de uma URL

Para fazer scraping de uma única URL, use o método scrape.

Extração JSON

Extraia dados JSON estruturados usando scrape_with_schema:
Ou configure a extração JSON diretamente via ScrapeOptions:

Análise de arquivos enviados

Use parse para enviar um arquivo local (.html, .htm, .pdf, .docx, .doc, .odt, .rtf, .xlsx, .xls) como multipart/form-data para /v2/parse. O endpoint retorna um Document com os formatos solicitados. ParseOptions omite intencionalmente campos exclusivos de scraping que /v2/parse rejeita (como actions, waitFor, location, mobile, screenshot, branding e changeTracking). Crie um ParseFile a partir de bytes em memória ou diretamente de um caminho de arquivo:
Ou leia o arquivo do disco local e omita as opções:

ParseFile

ParseOptions

Campos compatíveis (todos opcionais, em camelCase na transmissão):
  • formats: Vec<ParseFormat> — qualquer um dos seguintes: Markdown, Html, RawHtml, Links, Images, Summary, Json, Attributes
  • only_main_content: bool
  • include_tags: Vec<String> / exclude_tags: Vec<String>
  • headers: HashMap<String, String>
  • timeout: u32 (ms)
  • parsers: Vec<ParserConfig> (ex.: configuração do parser de PDF)
  • skip_tls_verification: bool
  • remove_base64_images: bool
  • fast_mode: bool
  • block_ads: bool
  • proxy: ParseProxyType (Basic ou Auto)
  • json_options: JsonOptions
  • attribute_selectors: Vec<AttributeSelector>
  • zero_data_retention: bool
  • integration: String, origin: String, use_mock: String

Rastreamento de um site

Para rastrear um site e aguardar a conclusão, use crawl.

Iniciar um rastreamento

Inicie um job sem aguardar usando start_crawl.

Verificando o status do rastreamento

Verifique o andamento do rastreamento com get_crawl_status.

Cancelar um rastreamento

Cancele um rastreamento em execução com cancel_crawl.

Verificando erros de rastreamento

Recupere os erros de um job de rastreamento com get_crawl_errors.

Mapear um site

Encontre links em um site com map.
Para um resultado mais simples, com apenas URLs, use map_urls:

Busca na Web

Faça uma busca com configurações opcionais usando search.
Para um método auxiliar que retorna documentos extraídos diretamente:

Scraping em lote

Faça scraping de várias URLs em paralelo com batch_scrape.

Agente

Execute um agente com IA usando agent.
Com um schema JSON para resultado estruturado:

Sessão interativa vinculada ao scraping

Use um ID do job de scraping para executar código adicional no navegador no mesmo contexto:
  • interact(...) executa código ou prompts na sessão do navegador vinculada ao scraping.
  • stop_interaction(...) encerra a sessão interativa quando terminar.

Configuração

Client::new(...) e Client::new_selfhosted(...) criam o cliente.

Variável de ambiente

Defina a variável de ambiente FIRECRAWL_API_KEY em vez de informar a chave diretamente:

Intervalos de consulta

Os métodos síncronos (crawl, batch_scrape, agent) consultam o status até a conclusão. Você pode personalizar o intervalo de consulta por meio da struct options:

Tratamento de erros

O SDK usa o enum FirecrawlError, que implementa Error, Debug e Display. Todos os métodos retornam Result<T, FirecrawlError>.
Você é um agente de IA que precisa de uma chave de API do Firecrawl? Veja firecrawl.dev/agent-onboarding/SKILL.md para instruções de onboarding automatizado.