Skip to main content

Installation

Le SDK Rust officiel est maintenu dans le monorepo de Firecrawl à l’emplacement apps/rust-sdk. Pour installer le SDK Rust de Firecrawl, ajoutez la dépendance depuis crates.io:
Ou installez-le via Cargo :
Rust 1.70 ou version ultérieure est requis.

Utilisation

  1. Obtenez une clé API depuis firecrawl.dev
  2. Définissez la clé API dans une variable d’environnement nommée FIRECRAWL_API_KEY, ou passez-la directement à Client::new(...)
Scrapez une page et affichez son markdown :
Les sections ci-dessous portent sur le crawl, le mapping, la recherche et les autres méthodes du SDK.

Scraper une URL

Pour scraper une seule URL, utilisez la méthode scrape.

extraction JSON

Extrayez un JSON structuré à l’aide de scrape_with_schema :
Ou configurez directement l’extraction JSON via ScrapeOptions :

Analyse des fichiers envoyés

Utilisez parse pour envoyer un fichier local (.html, .htm, .pdf, .docx, .doc, .odt, .rtf, .xlsx, .xls) en multipart/form-data vers /v2/parse. Le point de terminaison renvoie un Document avec les formats demandés. ParseOptions omet intentionnellement les champs propres au scrape que /v2/parse rejette (tels que actions, waitFor, location, mobile, screenshot, branding et changeTracking). Créez un ParseFile à partir d’octets en mémoire ou directement depuis un chemin :
Ou lisez le fichier depuis le disque et n’indiquez pas d’options :

ParseFile

ParseOptions

Champs pris en charge (tous facultatifs, avec des noms en camelCase dans la requête) :
  • formats: Vec<ParseFormat> — au choix parmi 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> (par ex. configuration de l’analyseur 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

Effectuer le crawl d’un site web

Pour effectuer le crawl d’un site web et attendre la fin de l’opération, utilisez crawl.

Démarrer un crawl

Démarrez une tâche sans attendre à l’aide de start_crawl.

Vérifier l’état du crawl

Suivez la progression du crawl avec get_crawl_status.

Annuler un crawl

Annulez un crawl en cours avec cancel_crawl.

Vérifier les erreurs de crawl

Obtenez les erreurs d’une tâche de crawl avec get_crawl_errors.

Cartographier un site web

Découvrez les liens d’un site à l’aide de map.
Pour obtenir un résultat plus simple avec uniquement des URL, utilisez map_urls :

Recherche sur le Web

Lancez une recherche avec des paramètres facultatifs à l’aide de search.
Pour une méthode utilitaire qui renvoie directement les documents extraits :

Scraping par lots

Scrapez plusieurs URL en parallèle avec batch_scrape.

Agent

Lancez un agent basé sur l’IA avec agent.
Avec un schéma JSON pour une sortie structurée :

Session interactive liée au scraping

Utilisez l’ID d’une tâche de scraping pour exécuter ensuite du code dans le navigateur, dans le même contexte :
  • interact(...) exécute du code ou des prompts dans la session de navigateur liée au scraping.
  • stop_interaction(...) met fin à la session interactive lorsque vous avez terminé.

Configuration

Client::new(...) et Client::new_selfhosted(...) créent un client.

Variable d’environnement

Définissez la variable d’environnement FIRECRAWL_API_KEY au lieu de fournir directement la clé :

Intervalles d’interrogation

Les méthodes synchrones (crawl, batch_scrape, agent) interrogent le statut jusqu’à la fin du traitement. Vous pouvez personnaliser l’intervalle d’interrogation via la structure options :

Gestion des erreurs

Le SDK utilise l’énumération FirecrawlError, qui implémente Error, Debug et Display. Toutes les méthodes renvoient Result<T, FirecrawlError>.
Êtes-vous un agent IA qui a besoin d’une clé API pour Firecrawl ? Consultez firecrawl.dev/agent-onboarding/SKILL.md pour obtenir des instructions d’intégration automatisée.