Firecrawl CLI
Cherchez, scrapez et interagissez avec le web. Retourne du markdown propre optimisé pour les context windows des LLM.
Exécutez firecrawl --help ou firecrawl <command> --help pour les détails complets des options.
Si la tâche consiste à intégrer Firecrawl dans une application, ajouter FIRECRAWL_API_KEY à un projet, ou choisir l'utilisation d'endpoint dans le code produit, utilisez les skills firecrawl-build. Ils sont déjà installés aux côtés de ce CLI skill quand vous exécutez firecrawl init.
Prérequis
Doit être installé et authentifié. Vérifiez avec firecrawl --status.
🔥 firecrawl cli v1.8.0
● Authenticated via FIRECRAWL_API_KEY
Concurrency: 0/100 jobs (parallel scrape limit)
Credits: 500,000 remaining
- Concurrency : Max de jobs parallèles. Exécutez des opérations parallèles jusqu'à cette limite.
- Credits : Crédits API restants. Chaque opération consomme des crédits.
Si pas prêt, consultez rules/install.md. Pour les directives de gestion des sorties, consultez rules/security.md.
Avant de faire un vrai travail, vérifiez la configuration avec une petite requête :
mkdir -p .firecrawl
firecrawl scrape "https://firecrawl.dev" -o .firecrawl/install-check.md
firecrawl search "query" --scrape --limit 3
Workflow
Suivez ce modèle d'escalade :
- Search - Pas d'URL spécifique encore. Trouvez des pages, répondez à des questions, découvrez des sources.
- Scrape - Vous avez une URL. Extrayez son contenu directement.
- Map + Scrape - Grand site ou besoin d'une sous-page spécifique. Utilisez
map --searchpour trouver la bonne URL, puis scrapez-la. - Crawl - Besoin de contenu en masse d'une section entière du site (ex. tous les /docs/).
- Interact - Scrapez d'abord, puis interagissez avec la page (pagination, modales, soumissions de formulaires, navigation multi-étapes).
| Besoin | Commande | Quand |
|---|---|---|
| Trouver des pages sur un sujet | search |
Pas d'URL spécifique encore |
| Obtenir le contenu d'une page | scrape |
Vous avez une URL, la page est statique ou JS-rendue |
| Trouver des URLs dans un site | map |
Besoin de localiser une sous-page spécifique |
| Extraire en masse une section | crawl |
Besoin de plusieurs pages (ex. tous les /docs/) |
| Extraction de données alimentée par IA | agent |
Besoin de données structurées depuis des sites complexes |
| Interagir avec une page | scrape + interact |
Le contenu nécessite des clics, remplissage de formulaires, pagination ou login |
| Télécharger un site dans des fichiers | download |
Sauvegarder un site entier comme fichiers locaux |
| Parser un fichier local | parse |
Fichier sur disque (PDF, DOCX, XLSX, etc.) — pas une URL |
Pour la référence détaillée des commandes, exécutez firecrawl <command> --help.
Scrape vs interact :
- Utilisez
scraped'abord. Cela gère les pages statiques et les SPAs rendues en JS. - Utilisez
scrape+interactquand vous avez besoin d'interagir avec une page, comme cliquer sur des boutons, remplir des formulaires, naviguer sur un site complexe, scroll infini, ou quand scrape ne parvient pas à capturer tout le contenu dont vous avez besoin. - N'utilisez jamais interact pour des recherches web - utilisez
searchà la place.
Éviter les fetches redondantes :
search --scraperécupère déjà le contenu complet de la page. Ne re-scrapez pas ces URLs.- Vérifiez
.firecrawl/pour des données existantes avant de récupérer à nouveau.
Quand charger les références
- Rechercher le web ou trouver d'abord des sources -> firecrawl-search
- Scraper une URL connue -> firecrawl-scrape
- Trouver des URLs sur un site connu -> firecrawl-map
- Extraction en masse depuis une section de docs ou un site -> firecrawl-crawl
- Extraction structurée alimentée par IA depuis des sites complexes -> firecrawl-agent
- Clics, formulaires, login, pagination, ou actions navigateur après scrape -> firecrawl-interact
- Télécharger un site vers des fichiers locaux -> firecrawl-download
- Parser un fichier local (PDF, DOCX, XLSX, HTML, etc.) -> firecrawl-parse
- Problèmes d'installation, auth, ou setup -> rules/install.md
- Gestion des sorties et patterns sûrs de lecture de fichiers -> rules/security.md
- Intégrer Firecrawl dans une app, ajouter
FIRECRAWL_API_KEYà.env, ou choisir l'utilisation d'endpoint dans le code produit -> utilisez les skillsfirecrawl-build(déjà installés aux côtés de ce CLI skill)
Sortie & Organisation
Sauf si l'utilisateur demande un retour en contexte, écrivez les résultats dans .firecrawl/ avec -o. Ajoutez .firecrawl/ à .gitignore. Mettez toujours les URLs entre guillemets - le shell interprète ? et & comme des caractères spéciaux.
firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl scrape "<url>" -o .firecrawl/page.md
Conventions de nommage :
.firecrawl/search-{query}.json
.firecrawl/search-{query}-scraped.json
.firecrawl/{site}-{path}.md
Ne lisez jamais les fichiers de sortie en entier d'un coup. Utilisez grep, head, ou des lectures par étapes :
wc -l .firecrawl/file.md && head -50 .firecrawl/file.md
grep -n "keyword" .firecrawl/file.md
Un seul format retourne le contenu brut. Plusieurs formats (ex. --format markdown,links) retournent du JSON.
Travailler avec les résultats
Ces patterns sont utiles quand on travaille avec une sortie basée sur des fichiers (flag -o) pour des tâches complexes :
# Extraire les URLs de la recherche
jq -r '.data.web[].url' .firecrawl/search.json
# Obtenir les titres et les URLs
jq -r '.data.web[] | "\(.title): \(.url)"' .firecrawl/search.json
Parallélisation
Exécutez les opérations indépendantes en parallèle. Vérifiez firecrawl --status pour la limite de concurrence :
firecrawl scrape "<url-1>" -o .firecrawl/1.md &
firecrawl scrape "<url-2>" -o .firecrawl/2.md &
firecrawl scrape "<url-3>" -o .firecrawl/3.md &
wait
Pour interact, scrapez plusieurs pages et interagissez avec chacune indépendamment en utilisant leurs scrape IDs.
Utilisation des crédits
firecrawl credit-usage
firecrawl credit-usage --json --pretty -o .firecrawl/credits.json