Skip to main content

Installation

Pour installer le SDK Python Firecrawl, utilisez pip :
Python

Utilisation

Récupérez une clé API sur firecrawl.dev, puis définissez-la comme variable d’environnement FIRECRAWL_API_KEY ou passez-la directement à la classe Firecrawl.
Pas de clé API ? Vous pouvez instancier Firecrawl sans clé et utiliser scrape, search et interact dans 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é.
Python

Extraction d’une URL

Pour extraire une URL unique, utilisez la méthode scrape. Elle renvoie le contenu de la page sous forme de donnée structurée, y compris le markdown, les métadonnées et tous les autres formats demandés.
Python
Le SDK Python convertit tous les noms de champs de la réponse de camelCase en snake_case. Par exemple, les champs de métadonnées tels que ogImage, ogTitle et sourceURL de l’API deviennent og_image, og_title et source_url dans la réponse du SDK.

Analyse des fichiers envoyés

Utilisez parse pour envoyer des fichiers locaux (html, pdf, docx, xlsx, etc.) directement à /v2/parse. parse ne prend pas en charge changeTracking ni les options réservées au navigateur, comme actions, wait_for, location, mobile, screenshot et branding.
Python

Explorer un site web

Pour explorer un site web, utilisez la méthode crawl. Elle prend en arguments l’URL de départ et des options facultatives. Ces options permettent de définir des paramètres supplémentaires pour la tâche d’exploration, comme le nombre maximal de pages à parcourir, les domaines autorisés et le format de sortie. Consultez Pagination pour la pagination automatique/manuelle et les limites.
Python

Exploration du sitemap uniquement

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 ignorée).
Python

Démarrer un crawl

Vous préférez ne pas bloquer l’exécution ? Consultez la section Classe Async ci-dessous.
Lancez une tâche sans attendre avec start_crawl. Elle renvoie un ID de tâche que vous pouvez utiliser pour vérifier l’état. Utilisez crawl lorsque vous voulez un attenteur qui bloque jusqu’à la fin. Voir Pagination pour le comportement et les limites de pagination.
Python

Vérifier l’état d’un crawl

Vérifiez l’état d’une tâche de crawl avec get_crawl_status. Indiquez l’ID de tâche pour obtenir l’état actuel ainsi que les résultats déjà collectés.
Python

Annuler un crawl

Annulez une tâche de crawl avec la méthode cancel_crawl. Passez l’ID de tâche renvoyé par start_crawl pour obtenir l’état de l’annulation.
Python

Cartographier un site web

Utilisez map pour générer une liste d’URL à partir d’un site web. Les options permettent d’adapter le processus de cartographie, par exemple en excluant les sous-domaines ou en s’appuyant sur le sitemap.
Python

Exploration d’un site web avec WebSockets

Pour explorer un site web avec WebSockets, lancez la tâche avec start_crawl et abonnez-vous à l’aide du helper watcher. Créez un watcher avec l’ID de la tâche et attachez des gestionnaires (par exemple pour page, completed, failed) avant d’appeler start().
Python
Les points de terminaison Firecrawl pour crawl et batch scrape renvoient une URL next lorsqu’il reste des données. Le SDK Python effectue par défaut une pagination automatique et agrège tous les documents ; dans ce cas, next vaut None. Vous pouvez désactiver l’auto‑pagination ou définir des limites pour contrôler le comportement de la pagination.

PaginationConfig

Utilisez PaginationConfig pour contrôler le comportement de la pagination lorsque vous appelez get_crawl_status ou get_batch_scrape_status :
Python

Aides à la pagination manuelle

Lorsque auto_paginate=False, la réponse inclut une URL next si davantage de données sont disponibles. Utilisez ces méthodes utilitaires pour récupérer les pages suivantes :
  • get_crawl_status_page(next_url) - Récupère la page suivante des résultats de crawl en utilisant l’URL opaque next provenant d’une réponse précédente.
  • get_batch_scrape_status_page(next_url) - Récupère la page suivante des résultats de scraping par lot en utilisant l’URL opaque next provenant d’une réponse précédente.
Ces méthodes renvoient le même type de réponse que l’appel de statut initial, y compris une nouvelle URL next s’il reste d’autres pages.

Crawl

Utilisez la méthode « waiter » crawl pour l’approche la plus simple, ou démarrez un job et paginez manuellement.
Crawl simple (pagination automatique, par défaut)
Crawl manuel avec contrôle de la pagination
Démarrez un job, puis récupérez une page à la fois avec auto_paginate=False. Utilisez get_crawl_status_page pour récupérer les pages suivantes :
Python
Exploration manuelle avec limites (pagination automatique + arrêt anticipé)
Laissez la pagination automatique activée, mais arrêtez plus tôt avec max_pages, max_results ou max_wait_time :
Python

Scrape par lots

Utilisez la méthode de waiter batch_scrape, ou lancez un job et paginez manuellement.
Extraction par lot simple (pagination automatique, par défaut)
Scraping par lot manuel avec contrôle de la pagination
Lancez une tâche, puis récupérez les résultats page par page avec auto_paginate=False. Utilisez get_batch_scrape_status_page pour récupérer les pages suivantes :
Python
Extraction par lots manuelle avec limites (pagination automatique + arrêt anticipé)
Laissez la pagination automatique activée, mais arrêtez plus tôt avec max_pages, max_results ou max_wait_time :
Python

Gestion des erreurs

Lorsqu’une requête échoue, le SDK lève une exception accompagnée d’un message descriptif indiquant l’origine du problème. Entourez vos appels de try/except pour intercepter ces exceptions et gérer les erreurs dans votre application.

Classe asynchrone

Pour les opérations asynchrones, utilisez la classe AsyncFirecrawl. Ses méthodes reprennent celles de Firecrawl, mais elles ne bloquent pas le thread principal.
Python
Python
Lancez des sessions de navigateur dans le cloud et exécutez du code à distance.

Créer une session

Python

Exécuter du code

Python
Exécuter JavaScript plutôt que Python :
Python

Profils

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

Connexion via le CDP

Pour un contrôle total de Playwright, connectez-vous directement en utilisant l’URL du CDP :
Python

Lister & fermer des sessions

Python

Session interactive liée au scrape

Utilisez un ID de tâche de scrape pour continuer à interagir avec le contexte de page rejoué issu de ce scrape :
  • interact(job_id, ...) exécute du code dans la session de navigateur liée au scrape.
  • Le premier appel à interact initialise automatiquement la session à partir du contexte du scrape.
  • Les appels suivants à interact sur le même ID de tâche réutilisent cet état actif du navigateur.
  • stop_interaction(job_id) arrête la session interactive une fois que vous avez terminé.
Python
Êtes-vous un agent IA qui a besoin d’une clé API Firecrawl ? Consultez firecrawl.dev/agent-onboarding/SKILL.md pour obtenir les instructions d’intégration automatisée.