Intermédiaire 11 minStack

Firecrawl : alimenter un RAG local avec des pages web

Réponse directe

Firecrawl est un robot d'exploration open source (cœur AGPL-3.0, plus de 186 000 étoiles GitHub fin septembre 2026) qui transforme une page ou un site entier en markdown ou JSON propre pour un modèle. Il s'auto-héberge en Docker Compose, mais la pile par défaut n'inclut ni captures d'écran, ni actions de page, ni le contournement anti-bot avancé du service géré : ces fonctions restent réservées à Firecrawl Cloud.

Firecrawl transforme une adresse web en texte propre, directement lisible par un modèle : le menu, la bannière cookies, les scripts et le pied de page disparaissent, l'article reste. C'est la première étape d'un pipeline RAG, celle qui décide de la qualité de tout ce qui suit. Le projet est ouvert et s'héberge chez soi, ce qui le rend compatible avec une installation entièrement locale — à condition de savoir précisément ce que la version auto-hébergée ne fait pas, par rapport au service en ligne du même nom.

Par Mohamed Meguedmi·Màj 2026-09-28·Testé sur Windows, macOS, Linux

#Le problème que ça résout

Donner une page web à un modèle local en lui collant son code HTML gâche l'essentiel de la fenêtre de contexte en balises, en menus et en scripts. Pire : le modèle traite les entrées de navigation comme du contenu et vous répond à côté. Toute chaîne de recherche documentaire sérieuse commence donc par une étape d'extraction qui répond à une seule question : dans cette page, qu'est-ce qui est l'article ?

Firecrawl fait ce travail, et la logique de parcours qui va autour : suivre les liens internes, s'arrêter à une limite que vous fixez, exécuter le JavaScript des sites qui n'affichent rien sans lui, et rendre un résultat structuré par page. La sortie est du markdown ou du JSON, deux formats qui se découpent proprement en morceaux pour l'indexation. Le projet, hébergé sur GitHub sous le nom firecrawl/firecrawl et décrit par ses auteurs comme « the web data API to search, scrape, and interact at scale », comptait plus de 186 000 étoiles fin septembre 2026 — un signe de traction qui compte quand on choisit une dépendance à maintenir dans la durée.

#Scrape, crawl, map, extract : quatre métiers différents

Le kit RAG Local

Tes documents, ton IA : un RAG local fiable sur tes PDF, notes et mails — sans rien envoyer dans le cloud.

  • Espace en ligne à vie
  • PDF + fichiers
  • Mises à jour à vie
Les quatre opérations et leur usage réel
OpérationCe qu'elle faitQuand l'utiliser
ScrapeUne adresse en entrée, le contenu nettoyé en sortieVous connaissez déjà la page exacte
CrawlParcourt un site depuis une adresse de départ en suivant les liens internesIngérer une documentation entière
MapRenvoie la liste des adresses d'un site sans récupérer le contenuDécider quoi ingérer avant d'y passer du temps
ExtractExtrait des champs structurés selon un schéma que vous fournissezVous voulez un tableau de prix ou de caractéristiques, pas de la prose

Deux habitudes évitent la majorité des mauvaises surprises : lancer un map avant un crawl, pour voir la forme du site avant de lancer un travail dessus ; et fixer une limite de pages explicite à chaque crawl, parce qu'une documentation avec pagination et variantes de langue est souvent dix fois plus grande qu'elle n'en a l'air.

#L'héberger chez soi

C'est la voie qui nous intéresse si l'objectif est de garder la chaîne sur votre matériel. Il s'agit d'une pile Docker Compose de plusieurs services : l'API, PostgreSQL comme file d'attente par défaut (un moteur FoundationDB optionnel existe pour qui en a l'usage), Redis, RabbitMQ, et Playwright comme service de navigateur sans interface pour les pages qui n'existent qu'une fois le JavaScript exécuté. Le guide officiel épingle une version précise du dépôt plutôt que la branche principale — v2.11.162 fin septembre 2026 — et prévient qu'une autre version peut utiliser un fichier Compose différent. La commande officielle pour démarrer la pile est docker compose up --build -d, et l'API répond ensuite en local sur le port 3002, avec les mêmes formats de requête que la version en ligne.

#Ce qu'il faut avant de lancer la pile

Quatre prérequis suffisent d'après la documentation officielle : Git pour récupérer le dépôt, Docker Engine ou Docker Desktop, Docker Compose v2 (invoqué comme docker compose, sans tiret), et curl pour vérifier que l'API répond une fois la pile démarrée. Le port 3002 doit être libre, et la machine doit avoir assez de capacité pour construire et faire tourner plusieurs conteneurs en parallèle — sans qu'un chiffre précis de RAM ou de CPU soit garanti par le projet.

  1. 01
    Lire d'abord la page d'auto-hébergement du projet
    C'est la seule source à jour, et elle indique explicitement que le démarrage rapide en réseau de confiance désactive l'authentification de l'API et n'est pas une architecture de production.
  2. 02
    Trancher la question du navigateur
    Sans rendu par navigateur, vous obtenez le HTML statique : parfait pour une documentation, inutile sur une application web monopage qui construit son contenu en JavaScript.
  3. 03
    Vérifier la licence contre votre usage
    Le cœur du projet est sous licence AGPL-3.0, une licence libre à réciprocité forte ; les SDK clients sont eux distribués sous licence MIT. Pour un produit commercial qui redistribue le code modifié, on la lit au lieu de la supposer.
  4. 04
    Dimensionner l'exploitation
    Le projet ne publie pas de taille minimale de machine garantie pour cette pile : c'est vous qui assumez les mises à jour, les secrets, le stockage, la supervision et la reprise après incident, contrairement au service géré.
  5. 05
    Ajouter le stockage durable avant de compter dessus
    Le démarrage rapide n'ajoute aucun volume persistant : d'après la documentation, il « démarre sans stockage durable, TLS, haute disponibilité, ni toutes les capacités de Firecrawl Cloud ». Sans volumes ajoutés à la main pour PostgreSQL, Redis et RabbitMQ, les données ne survivent pas au remplacement des conteneurs — à traiter avant de faire confiance à un corpus ingéré une seule fois.
!
Auto-héberger n'est pas être anonyme
Le robot va chercher les pages depuis votre adresse IP, avec un agent utilisateur identifiable, et reste soumis aux conditions d'utilisation du site visé et à son fichier robots.txt. Héberger le logiciel change l'endroit où le texte est traité, pas le droit de le collecter.
→
Un service « en bonne santé » peut quand même échouer
Le point de contrôle /v0/health/readiness de l'API est un battement de cœur, pas un test de bout en bout : la documentation officielle précise qu'il « ne vérifie ni Redis, ni PostgreSQL, ni RabbitMQ, ni Playwright, ni les workers, ni l'accès réseau sortant ». Si un appel à /v2/scrape échoue alors que ce contrôle est vert, direction les journaux des conteneurs api et playwright-service plutôt que le healthcheck.

#Piloter Firecrawl depuis un agent : le serveur MCP officiel

Pour connecter un agent compatible MCP (Claude Code, Cursor, ou un client maison) à cette instance auto-hébergée sans écrire d'intégration HTTP, le projet publie un serveur MCP officiel, firecrawl-mcp-server. Avec son profil complet, il expose jusqu'à 26 outils par défaut, feedback compris. La variable d'environnement FIRECRAWL_API_URL le pointe vers votre déploiement local au lieu du service en ligne, avec une clé d'API optionnelle si votre instance en exige une. C'est le chemin le plus direct pour donner à un agent local la capacité de chercher, explorer et extraire du web sans faire transiter le trafic par un tiers — à condition que l'agent lui-même tourne sur votre machine ou un réseau de confiance.

#Ce que la pile locale n'a pas

Le point que beaucoup découvrent après avoir déployé la pile, pas avant : l'auto-hébergement par défaut ne couvre pas tout ce que fait le service en ligne. D'après la documentation officielle, les captures d'écran et les actions de page (cliquer, faire défiler, remplir un formulaire avant de lire le résultat) ne sont pas disponibles dans la pile par défaut. Il en va de même pour les fonctions Agent et Browser, l'option « interact », le retour d'usage, et certains formats spécialisés (menu, audio, vidéo) : ces briques restent réservées à Firecrawl Cloud. Le contournement anti-bot avancé du moteur propriétaire du service géré n'est pas non plus inclus tel quel.

Autre nuance utile avant de se lancer : l'extraction assistée par un modèle de langage (le mode « extract » piloté par une instruction en langage naturel plutôt que par un schéma) suppose de connecter vous-même un fournisseur compatible avec l'API OpenAI, ou Ollama, et de tester ce chemin séparément. Ce n'est pas branché automatiquement dans la pile auto-hébergée. Rien de tout cela n'empêche d'utiliser Firecrawl en local pour alimenter un RAG — c'est justement le cas d'usage central de ce guide — mais mieux vaut le savoir avant de promettre une fonctionnalité à une équipe.

#Où ça se place dans un RAG local

Une chaîne locale qui fonctionne compte quatre étages, et Firecrawl n'occupe que le premier : l'ingestion transforme les adresses en documents ; le découpage et l'encodage les convertissent en vecteurs avec un modèle d'embedding local ; une base vectorielle stocke ces vecteurs et renvoie les passages les plus proches d'une question ; enfin un modèle local rédige la réponse à partir de ces passages.

Pour des fichiers déjà présents sur votre disque — PDF, documents bureautiques, présentations — ce n'est pas un robot d'exploration qu'il vous faut mais un convertisseur de documents comme Docling. Et si votre besoin est qu'un modèle consulte le web au moment où il répond, plutôt qu'un corpus ingéré à l'avance, un métamoteur de recherche auto-hébergé comme SearXNG est la brique adaptée : il renvoie des résultats à la demande au lieu d'un index à rafraîchir.

#Quand ne pas l'utiliser

Le bon outil selon le besoin
Votre besoinCe qui convient mieux
Convertir une page de temps en tempsUne petite bibliothèque HTML vers markdown dans votre script
Ingérer des PDF et des documents locauxUn convertisseur de documents comme Docling, pas un robot web
Des réponses web en direct dans une conversationUn moteur de recherche auto-hébergé branché au modèle
Des captures d'écran ou des actions de page complexesLe service géré Firecrawl Cloud, absent de la pile par défaut
Une documentation entière, régulièrement, de façon automatiséeFirecrawl auto-hébergé — c'est exactement son cas

#Le point de vigilance juridique

Collecter automatiquement des pages engage votre responsabilité, pas celle de l'outil. Les conditions générales du site visé, ses directives robots.txt, le droit applicable et l'usage que vous faites du contenu comptent davantage que la technique employée. Pour un corpus interne d'entreprise, la question se double de celle du traitement des données personnelles éventuellement présentes dans les pages collectées, et de la nécessité de documenter d'où vient chaque source dans le registre de traitement.

#FAQ

Firecrawl est-il gratuit en auto-hébergement ?+
Le code du cœur est ouvert sous licence AGPL-3.0 (les SDK clients sous licence MIT) et s'exécute sur votre matériel sans coût de licence. Vous payez en revanche en temps d'exploitation : c'est une pile de plusieurs conteneurs — API, worker, file d'attente, navigateur sans interface — que vous maintenez vous-même, sans le support du service géré.
La version auto-hébergée fait-elle tout ce que fait le service en ligne ?+
Non. La documentation officielle liste explicitement ce qui manque à la pile par défaut : captures d'écran, actions de page, fonctions Agent et Browser, contournement anti-bot avancé et certains formats spécialisés. Le cœur — récupérer et convertir des pages en scrape, crawl, map et extract — fonctionne pleinement.
Faut-il un GPU pour Firecrawl ?+
Non. Explorer le web, exécuter le rendu JavaScript via le service Playwright et convertir le HTML en markdown sont des tâches de processeur, de mémoire et de réseau, pas de calcul GPU. Comptez plutôt sur du CPU et de la RAM disponibles pour faire tourner plusieurs conteneurs en parallèle. Le GPU n'intervient que plus loin dans la chaîne, pour l'embedding et la génération de la réponse par le modèle local qui exploite ensuite le texte extrait.
Peut-il lire les sites qui ont besoin de JavaScript ?+
Oui : la pile par défaut inclut justement un service Playwright dédié au rendu par navigateur, qui exécute le JavaScript de la page avant l'extraction. Sans ce service actif, Firecrawl ne récupère que le HTML statique livré par le serveur, ce qui échoue sur les applications monopage qui construisent leur contenu côté client après le chargement initial. En cas de page vide, vérifiez d'abord les journaux du conteneur playwright-service.
Quelle différence entre crawl et map ?+
Map liste les adresses trouvées sur un site sans récupérer leur contenu : c'est rapide et léger, idéal pour évaluer la taille d'un site avant de s'engager. Crawl récupère et convertit réellement chaque page suivie. Cartographier d'abord, puis explorer un sous-ensemble filtré, évite d'ingérer des centaines de pages dont vous ne vouliez pas.
L'extraction par IA (mode extract) fonctionne-t-elle directement en local ?+
Pas sans configuration : l'extraction pilotée par une instruction en langage naturel suppose de connecter vous-même un fournisseur compatible avec l'API OpenAI ou Ollama, puis de tester ce chemin séparément. Ce n'est pas branché par défaut dans la pile auto-hébergée, contrairement au service en ligne.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.