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:
Uso#
- Obtenha uma chave de API em firecrawl.dev
- Defina a chave de API como uma variável de ambiente chamada
FIRECRAWL_API_KEYou passe-a diretamente paraClient::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#
| Construtor | Descrição |
|---|---|
ParseFile::from_bytes(filename, bytes) | Cria a partir de um nome de arquivo e bytes na memória |
ParseFile::from_path(path) | Lê os bytes do disco e deriva o nome do arquivo |
.with_content_type(content_type) | Adiciona uma indicação de tipo MIME (por ex. text/html, application/pdf) |
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,Attributesonly_main_content: boolinclude_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: boolremove_base64_images: boolfast_mode: boolblock_ads: boolproxy: ParseProxyType(BasicouAuto)json_options: JsonOptionsattribute_selectors: Vec<AttributeSelector>zero_data_retention: boolintegration: 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.
| Opção | Descrição |
|---|---|
Client::new(api_key) | Cria um cliente para o serviço em nuvem do Firecrawl (https://api.firecrawl.dev) |
Client::new_selfhosted(api_url, api_key) | Cria um cliente para uma instância auto-hospedada do Firecrawl |
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.

