Skip to main content

Node

Scrapez, crawlez et extrayez des données structurées depuis des sites web avec le SDK Node de Firecrawl.
5 min read

Scrapez des pages individuelles, lancez un crawl sur des sites entiers et cartographiez les URL depuis votre application Node.js. Le SDK gère la pagination, les nouvelles tentatives et l’interrogation asynchrone des tâches pour que vous puissiez vous concentrer sur l’exploitation des données retournées.

Installation#

Installez le SDK avec npm :

Node

Utilisation#

  1. Récupérez une clé d’API sur firecrawl.dev
  2. Définissez la clé d’API comme variable d’environnement nommée FIRECRAWL_API_KEY, ou transmettez-la en paramètre à la classe Firecrawl.
Note

Pas de clé d’API ? Vous pouvez instancier Firecrawl sans clé et utiliser scrape, search et interact sur l’offre Free sans clé (avec une limite de débit par IP — voir Limites de débit). Toutes les autres méthodes nécessitent une clé.

Voici un exemple d’utilisation du SDK avec gestion des erreurs :

Node

Scraper une URL#

Récupérez les données structurées d’une page à partir d’une URL avec la méthode scrape.

Node.js

Analyse des fichiers importés#

Utilisez parse lorsque vous souhaitez importer un fichier local (html, pdf, docx, xlsx, etc.) au lieu d’effectuer du scraping à partir d’une URL. parse ne prend pas en charge changeTracking ni les options propres au navigateur comme screenshot, branding, actions, waitFor, location et mobile.

Node

Crawl d’un site web#

Crawlez l’ensemble d’un site web à partir d’une seule URL avec la méthode crawl. Vous pouvez définir une limite de pages, restreindre le crawl à des domaines spécifiques et choisir les formats de sortie. Consultez Pagination pour la pagination automatique et manuelle.

Node.js

Crawl uniquement via le sitemap#

Utilisez sitemap: "only" pour explorer uniquement les URL du sitemap (l’URL de départ est toujours incluse et la découverte de liens HTML est désactivée).

Node

Démarrer un crawl#

Lancez un crawl sans attendre qu’il se termine avec startCrawl. La méthode renvoie un ID de tâche que vous pourrez interroger plus tard. Utilisez plutôt crawl lorsque vous voulez bloquer jusqu’à la fin. Voir Pagination pour le comportement de pagination et les limites.

Node

Vérifier l’état du crawl#

Vérifiez si un crawl est toujours en cours, terminé ou a échoué avec la méthode checkCrawlStatus. Passez l’ID de tâche renvoyé par startCrawl.

Node

Annuler un crawl#

Annulez un crawl en cours avec la méthode cancelCrawl. Passez l’ID de tâche renvoyé par startCrawl.

Node

Cartographier un site web#

Découvrez toutes les URL d’un site web avec la méthode map. Fournissez une URL de départ et obtenez en retour la liste des pages découvertes.

Node.js

Exécuter un agent#

Confiez une tâche de recherche ou d’extraction à un agent à l’aide de la méthode agent. Fournissez un prompt, un schema facultatif pour structurer la sortie et maxCredits pour plafonner les crédits que l’exécution peut consommer.

Node

Les exécutions d’agent sont asynchrones. Utilisez startAgent pour obtenir immédiatement un ID de tâche, puis interrogez son état avec getAgentStatus.

Node

Chaque exécution enregistre également une trace d’exécution et des instantanés de sortie, que vous pouvez consulter avec getAgentTrace et getAgentSnapshot. Consultez Agent pour le schéma des événements et la liste complète des paramètres.

Crawler un site web avec WebSockets#

Recevez les résultats du crawl en temps réel avec watcher(jobId, options). Vous recevez chaque page dès qu’elle est explorée, au lieu d’attendre la fin de la tâche complète.

Node

Les points de terminaison Firecrawl pour crawl et batch renvoient une URL next lorsqu’il reste des données. Le SDK Node effectue, par défaut, une pagination automatique et agrège tous les documents ; dans ce cas, next vaut null. Vous pouvez désactiver la pagination automatique ou définir des limites.

Crawl#

Utilisez la méthode d’attente crawl pour la solution la plus simple, ou démarrez un job et paginez manuellement.

Exploration simple (pagination automatique, par défaut)
Crawl manuel avec contrôle de la pagination (page unique)
  • Lancez un job, puis récupérez les pages une par une avec autoPaginate: false.
Node
Exploration manuelle avec limites (pagination automatique + arrêt anticipé)
  • Conservez la pagination automatique activée, mais arrêtez plus tôt avec maxPages, maxResults ou maxWaitTime.
Node

Scrape par lots#

Utilisez la méthode du waiter batchScrape, ou lancez un job et paginez manuellement.

Collecte par lots simple (pagination automatique, par défaut)
Scraping par lots manuel avec contrôle de la pagination (page unique)
  • Lancez un job, puis récupérez les pages une par une avec autoPaginate: false.
Node
Scrape manuel par lots avec limites (pagination automatique + arrêt anticipé)
  • Laissez la pagination automatique activée, mais arrêtez plus tôt avec maxPages, maxResults ou maxWaitTime.
Node

Démarrez des sessions de navigateur dans le cloud et exécutez du code à distance.

Créer une session#

Node

Exécuter du code#

Node

Exécutez JavaScript plutôt que Python :

Node

Exécutez Bash avec agent-browser :

Node

Profils#

Enregistrez et réutilisez l’état du navigateur (cookies, localStorage, etc.) d’une session à l’autre :

Node

Connexion via le CDP#

Pour bénéficier d’un contrôle complet via Playwright, connectez-vous directement à l’aide de l’URL CDP :

Node

Lister & fermer les sessions#

Node

Session interactive liée au scraping#

Utilisez l’ID d’une tâche de scraping pour continuer à interagir avec le contexte de page rejoué de ce scraping :

  • interact(jobId, {...}) exécute du code dans la session de navigateur liée au scraping.
  • Le premier appel à interact initialise automatiquement la session à partir du contexte de scraping.
  • Les appels suivants à interact avec le même ID de tâche réutilisent cet état actif du navigateur.
  • stopInteraction(jobId) arrête la session interactive une fois que vous avez terminé.
Node

Gestion des erreurs#

Le SDK lève des exceptions explicites pour toute erreur renvoyée par l’API Firecrawl. Encadrez les appels dans des blocs try/catch, comme dans les exemples ci-dessus.

Êtes-vous un agent IA qui a besoin d’une clé API Firecrawl ? Consultez firecrawl.dev/agent-onboarding/SKILL.md pour obtenir des instructions d’onboarding automatisé.