Instalación
El SDK oficial de Rust está alojado en el monorepo de Firecrawl, en apps/rust-sdk. Para instalar el SDK de Rust de Firecrawl, añade la dependencia desde crates.io:Requiere Rust 1.70 o una versión posterior.
Uso
- Obtén una clave de API de firecrawl.dev
- Configura la clave de API como una variable de entorno llamada
FIRECRAWL_API_KEYo pásala directamente aClient::new(...)
Hacer scraping de una URL
Para hacer scraping de una sola URL, usa el métodoscrape.
Extracción JSON
Extrae JSON estructurado conscrape_with_schema:
ScrapeOptions:
Procesamiento de archivos subidos
Usaparse para subir un archivo local (.html, .htm, .pdf, .docx, .doc, .odt, .rtf, .xlsx, .xls) como datos de formulario multipart a /v2/parse. El endpoint devuelve un Document con los formatos solicitados.
ParseOptions omite intencionadamente los campos exclusivos de scrape que /v2/parse rechaza (como actions, waitFor, location, mobile, screenshot, branding y changeTracking).
Crea un ParseFile a partir de bytes en memoria o directamente desde una ruta:
ParseFile
ParseOptions
Campos admitidos (todos opcionales, en camelCase en la solicitud):
formats: Vec<ParseFormat>— cualquiera deMarkdown,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>(p. ej., configuración del analizador de PDF)skip_tls_verification: boolremove_base64_images: boolfast_mode: boolblock_ads: boolproxy: ParseProxyType(BasicoAuto)json_options: JsonOptionsattribute_selectors: Vec<AttributeSelector>zero_data_retention: boolintegration: String,origin: String,use_mock: String
Rastreo de un sitio web
Para rastrear un sitio web y esperar a que finalice, usacrawl.
Iniciar un rastreo
Inicia un trabajo sin esperar utilizandostart_crawl.
Consultar el estado del rastreo
Consulta el progreso del rastreo conget_crawl_status.
Cancelar un rastreo
Cancela un rastreo en curso concancel_crawl.
Comprobar errores de rastreo
Recupera los errores de un trabajo de rastreo conget_crawl_errors.
Mapeo de un sitio web
Descubre enlaces de un sitio conmap.
map_urls:
Búsqueda en la web
Busca con opciones de configuración al utilizarsearch.
Scraping por lotes
Realiza scraping de varias URL en paralelo conbatch_scrape.
Agente
Ejecuta un agente basado en IA conagent.
Sesión interactiva vinculada al scraping
Usa un ID de trabajo de scraping para ejecutar código adicional del navegador en el mismo contexto:interact(...)ejecuta código o prompts en la sesión del navegador vinculada al scraping.stop_interaction(...)detiene la sesión interactiva cuando hayas terminado.
Configuración
Client::new(...) y Client::new_selfhosted(...) crean el cliente.
Variable de entorno
Define la variable de entornoFIRECRAWL_API_KEY en lugar de pasar la clave directamente:
Intervalos de sondeo
Los métodos síncronos (crawl, batch_scrape, agent) siguen consultando el estado hasta completarse. Puedes personalizar el intervalo de sondeo mediante la estructura options:
Manejo de errores
El SDK usa el enumFirecrawlError, que implementa Error, Debug y Display. Todos los métodos devuelven Result<T, FirecrawlError>.
¿Eres un agente de IA que necesita una clave de API de Firecrawl? Consulta firecrawl.dev/agent-onboarding/SKILL.md para obtener instrucciones de incorporación automatizadas.

