Installation
Le SDK PHP officiel est maintenu dans le monorepo de Firecrawl à l’emplacement apps/php-sdk. Pour installer le SDK PHP de Firecrawl, ajoutez la dépendance via Composer :Nécessite PHP 8.1 ou version ultérieure.
Intégration Laravel
Le SDK inclut une prise en charge native de Laravel avec découverte automatique. Après avoir installé le package, publiez le fichier de configuration :.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
Dans une application Laravel, vous pouvez utiliser la façadeFirecrawl ou l’injection de dépendances :
Scraping d’une URL
Pour effectuer le scraping d’une seule URL, utilisez la méthodescrape.
Extraction de JSON
Extrayez du JSON structuré avecJsonFormat via le point de terminaison scrape :
Effectuer le crawl d’un site web
Pour effectuer le crawl d’un site web et attendre la fin de l’opération, utilisezcrawl.
Démarrer un crawl
Lancez une tâche sans attendre avecstartCrawl.
Vérification de l’état du crawl
Consultez la progression du crawl avecgetCrawlStatus.
Annuler un crawl
Pour annuler un crawl en cours, utilisezcancelCrawl.
Erreurs de crawl
Récupérez les erreurs du crawl (le cas échéant) avecgetCrawlErrors.
Cartographier un site web
Découvrez les liens d’un site avecmap.
Rechercher sur le Web
Effectuez une recherche avec des paramètres de recherche facultatifs à l’aide desearch.
Scraping par lots
Extrayez plusieurs URL en parallèle à l’aide debatchScrape.
startBatchScrape, getBatchScrapeStatus et cancelBatchScrape :
Agent
Exécutez un agent propulsé par l’IA avecagent.
startAgent, getAgentStatus et cancelAgent :
Utilisation & métriques
Consultez la concurrence et les crédits restants :Outils du Laravel AI SDK
Le SDK fournit des classes d’outils natives pour le 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
Chaque outil expose un schéma minimal à destination du modèle. Voici les paramètres que l’agent peut transmettre :
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
Les échecs de l’outil, tels que les limites de débit, les délais d’expiration et les URL invalides, sont renvoyés au modèle sous forme de chaînes d’erreur lisibles au lieu de provoquer des exceptions, afin que les exécutions d’agent puissent se poursuivre en mode dégradé. Les sorties sont plafonnées pour rester dans le contexte du modèle : les résultats de scrape sont tronqués à 80 000 caractères, les pages de crawl à 15 000 caractères chacune, dans la limite d’un budget total de 100 000 caractères pour l’ensemble du résultat, et les résultats de recherche et de cartographie suppriment les derniers éléments avec un marqueur d’omission explicite.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
Le SDK PHP inclut des utilitaires Browser Sandbox.Créer une session
Exécuter du code
Session interactive liée au scraping
Utilisez l’ID d’une tâche de scraping pour exécuter du code navigateur supplémentaire dans le même contexte rejoué :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é
Vous pouvez fournir une implémentationGuzzleHttp\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
Le SDK génère des exceptions d’exécution sousFirecrawl\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.

