Skip to main content
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.
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

Crawler un site web avec WebSockets

Recevez les résultats du crawl en temps réel avec la méthode crawlUrlAndWatch. 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é.