Installation
Nécessite PHP 8.1 ou version ultérieure.
Intégration Laravel
.env :
Utilisation
- Obtenez une clé API sur firecrawl.dev
- Définissez la clé API comme variable d’environnement nommée
FIRECRAWL_API_KEY, ou passez-la àFirecrawlClient::create(apiKey: ...)
Utiliser la façade Laravel
Firecrawl ou l’injection de dépendances :
Scraping d’une URL
scrape.
Extraction de JSON
JsonFormat via le point de terminaison scrape :
Effectuer le crawl d’un site web
crawl.
Démarrer un crawl
startCrawl.
Vérification de l’état du crawl
getCrawlStatus.
Annuler un crawl
cancelCrawl.
Erreurs de crawl
getCrawlErrors.
Cartographier un site web
map.
Rechercher sur le Web
search.
Scraping par lots
batchScrape.
startBatchScrape, getBatchScrapeStatus et cancelBatchScrape :
Agent
agent.
startAgent, getAgentStatus et cancelAgent :
Utilisation & métriques
Outils du Laravel AI SDK
laravel/ai), afin que les agents puissent scraper, rechercher, cartographier et crawl le web sans serveur MCP ni appels HTTP manuels.
Nécessite
firecrawl/firecrawl-sdk 1.9.0 ou une version ultérieure, ainsi que laravel/ai 0.9 ou une version ultérieure (PHP 8.3+, Laravel 12+). Les classes d’outils ne sont chargées que si laravel/ai est installé.FirecrawlClient à partir du conteneur, de sorte que votre configuration existante dans config/firecrawl.php et FIRECRAWL_API_KEY sont réutilisées telles quelles :
Outils disponibles
Les noms des outils correspondent à ceux du serveur MCP Firecrawl, afin que les agents retrouvent le même vocabulaire sur toutes les interfaces. Enregistrez les quatre d’un seul coup avec le helper de spread :
FirecrawlTools::all() en transmet une aux quatre outils :
Paramètres de l’outil
Les valeurs de
limit hors limites sont ramenées à la borne la plus proche au lieu d’être rejetées. Ainsi, un modèle qui demande 99 résultats de recherche en recevra 20 plutôt qu’une erreur.
Comportement de l’outil
firecrawl_search et firecrawl_map renvoient des tableaux JSON de résultats. firecrawl_scrape renvoie la page au format markdown.
Résultats du crawl
firecrawl_crawl attend jusqu’à 55 secondes que le crawl se termine, puis renvoie un objet JSON qui indique clairement le résultat. Les crawls échoués, annulés ou partiels restent visibles pour le modèle via le champ status, au lieu d’être tronqués sans avertissement :
omittedPages compte les pages omises pour rester dans le budget de sortie, et note indique au modèle que d’autres pages existent sur le serveur et qu’il doit utiliser une limite plus faible ou scraper des pages spécifiques avec firecrawl_scrape. L’outil signale la pagination au lieu de la suivre ; les agents qui ont besoin de toutes les pages d’un crawl volumineux doivent donc utiliser FirecrawlClient directement.
Si le crawl est toujours en cours lorsque le délai d’attente expire, l’outil le signale et rappelle au modèle que le crawl peut encore se terminer côté serveur. Chaque démarrage de crawl inclut une clé d’idempotence UUID, donc une nouvelle tentative au niveau HTTP ne crée jamais de crawl en double.
Si votre agent s’exécute dans un job mis en file d’attente, gardez une limite de crawl basse ou augmentez le délai d’expiration du job du worker. Le délai d’attente, la cadence d’interrogation et la limite par page sont des propriétés protégées ; étendez donc la classe pour les ajuster :
Browser
Créer une session
Exécuter du code
Session interactive liée au scraping
interact(...)exécute du code dans la session de navigateur liée au scraping (et l’initialise lors de la première utilisation).stopInteractiveBrowser(...)arrête explicitement la session interactive lorsque vous avez terminé.
Lister et fermer les sessions
Configuration
FirecrawlClient::create() prend en charge les options suivantes :
Client HTTP personnalisé
GuzzleHttp\ClientInterface préconfigurée pour contrôler le pool de connexions, le middleware, les paramètres de proxy et d’autres fonctionnalités HTTP. Lorsqu’elle est fournie, le paramètre timeoutSeconds est ignoré au profit de la configuration propre au client.
Gestion des erreurs
Firecrawl\Exceptions.
Vous êtes un agent IA et vous avez besoin d’une clé API Firecrawl ? Consultez firecrawl.dev/agent-onboarding/SKILL.md pour la procédure d’intégration automatisée.

