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 :
Utilisation#
- Obtenez une clé API depuis firecrawl.dev
- 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#
| Constructeur | Description |
|---|---|
ParseFile::from_bytes(filename, bytes) | Créer à partir d’un nom de fichier et d’octets en mémoire |
ParseFile::from_path(path) | Lire les octets depuis le disque et en déduire le nom de fichier |
.with_content_type(content_type) | Ajouter une indication de type MIME (p. ex. text/html, application/pdf) |
ParseOptions#
Champs pris en charge (tous facultatifs, avec des noms en camelCase dans la requête) :
formats: Vec<ParseFormat>— au choix parmiMarkdown,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>(par ex. configuration de l’analyseur 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
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.
| Option | Description |
|---|---|
Client::new(api_key) | Crée un client pour le service cloud de Firecrawl (https://api.firecrawl.dev) |
Client::new_selfhosted(api_url, api_key) | Crée un client pour une instance Firecrawl auto-hébergée |
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.

