from firecrawl import Firecrawlfirecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")# Extraire le contenu d’un site :doc = firecrawl.scrape("https://firecrawl.dev", formats=["markdown", "html"])print(doc)
Pour plus d’informations sur les paramètres, consultez la référence de l’API.
Chaque opération de scrape consomme 1 crédit. Des crédits supplémentaires sont facturés pour certaines options : le mode JSON coûte 4 crédits supplémentaires par page, le proxy avancé coûte 4 crédits supplémentaires par page, le traitement des PDF coûte 1 crédit par page de PDF, et l’extraction audio coûte 4 crédits supplémentaires par page.
Vous pouvez désormais extraire sans schéma en passant simplement un prompt au point de terminaison. Le LLM choisit la structure des données.
from firecrawl import Firecrawlapp = Firecrawl(api_key="fc-YOUR-API-KEY")result = app.scrape( 'https://firecrawl.dev', formats=[{ "type": "json", "prompt": "Extrait la mission de l’entreprise à partir de la page." }], only_main_content=False, timeout=120000)print(result)
Résultat :
JSON
{ "success": true, "data": { "json": { "company_mission": "Collecte et extraction de données web propulsées par l’IA", }, "metadata": { "title": "Firecrawl", "description": "Collecte et extraction de données web propulsées par l’IA", "robots": "follow, index", "ogTitle": "Firecrawl", "ogDescription": "Collecte et extraction de données web propulsées par l’IA", "ogUrl": "https://firecrawl.dev/", "ogImage": "https://firecrawl.dev/og.png", "ogLocaleAlternate": [], "ogSiteName": "Firecrawl", "sourceURL": "https://firecrawl.dev/" }, }}
Le format « branding » extrait des informations complètes sur l’identité de marque à partir d’une page web, notamment les couleurs, les polices, la typographie, les espacements, les composants d’interface, et bien plus encore. C’est utile pour l’analyse de design systems, la veille de marque, ou la création d’outils qui doivent comprendre l’identité visuelle d’un site web.
from firecrawl import Firecrawlfirecrawl = Firecrawl(api_key='fc-VOTRE_CLE_API')result = firecrawl.scrape( url='https://firecrawl.dev', formats=['branding'])print(result['branding'])
Le format audio extrait l’audio de sites web pris en charge (par ex. YouTube) sous forme de fichiers MP3 et renvoie une URL signée de Google Cloud Storage. Cela est utile pour créer des pipelines de traitement audio, des services de transcription ou des outils de podcast.
L’extraction audio coûte 5 crédits par page (1 de base + 4 supplémentaires).
from firecrawl import Firecrawlfirecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")doc = firecrawl.scrape("https://www.youtube.com/watch?v=dQw4w9WgXcQ", formats=["audio"])print(doc.audio) # URL GCS signée vers le fichier MP3
Firecrawl vous permet d’effectuer diverses actions sur une page web avant d’en extraire le contenu. C’est particulièrement utile pour interagir avec du contenu dynamique, naviguer entre les pages ou accéder à du contenu nécessitant une interaction de l’utilisateur.
Nous recommandons Interact plutôt que les actions : notre nouvelle méthode, plus puissante, pour interagir avec les pages extraites.Interact fonctionne comme une session de navigateur avec état qui reste active d’un appel à l’autre. Vous pouvez ainsi piloter une page étape par étape de l’une des deux façons suivantes :
En langage naturel pour des flux flexibles et non déterministes. Par ex. « rechercher des “wireless headphones”, filtrer sur 4+ étoiles à moins de 200 $, puis renvoyer les résultats ».
Avec du code Playwright ou agent-browser pour des étapes déterministes. Par ex. await page.click('#export').
Interact prend également en charge les profils, les sessions persistantes et une vue navigateur en direct intégrable (avec un mode interactif dans lequel les utilisateurs finaux peuvent piloter eux-mêmes le navigateur).
Voici un exemple d’utilisation des actions pour accéder à google.com, rechercher Firecrawl, cliquer sur le premier résultat et prendre une capture d’écran.Il est recommandé d’utiliser presque systématiquement l’action wait avant et après l’exécution d’autres actions afin de laisser suffisamment de temps au chargement de la page.
{ "success": true, "data": { "markdown": "Notre première Launch Week est terminée ! [Voir le récapitulatif 🚀](blog/firecrawl-launch-week-1-recap)...", "actions": { "screenshots": [ "https://alttmdsdujxrfnakrkyi.supabase.co/storage/v1/object/public/media/screenshot-75ef2d87-31e0-4349-a478-fb432a29e241.png" ], "scrapes": [ { "url": "https://www.firecrawl.dev/", "html": "<html><body><h1>Firecrawl</h1></body></html>" } ] }, "metadata": { "title": "Accueil - Firecrawl", "description": "Firecrawl explore et convertit n’importe quel site web en markdown propre.", "language": "en", "keywords": "Firecrawl,Markdown,Données,Mendable,LangChain", "robots": "index, follow", "ogTitle": "Firecrawl", "ogDescription": "Transformez n’importe quel site web en données prêtes pour les LLM.", "ogUrl": "https://www.firecrawl.dev/", "ogImage": "https://www.firecrawl.dev/og.png?123", "ogLocaleAlternate": [], "ogSiteName": "Firecrawl" "sourceURL": "http://google.com", "statusCode": 200 } }}
Pour les workflows qui nécessitent un contrôle plus avancé du navigateur après le scraping, comme des sessions authentifiées, une navigation en plusieurs étapes ou une vue en direct de la page, nous recommandons Interact plutôt que d’étendre le tableau actions.
Lorsque vous renseignez les paramètres de localisation, Firecrawl utilisera, si possible, un proxy adapté et adoptera la langue et le fuseau horaire correspondants. Par défaut, la localisation est définie sur « US » si aucun paramètre n’est fourni.
Pour utiliser les paramètres de localisation et de langue, incluez l’objet location dans le corps de votre requête avec les propriétés suivantes :
country : code pays ISO 3166-1 alpha-2 (p. ex. « US », « AU », « DE », « JP »). Par défaut : « US ».
languages : un tableau des langues et paramètres régionaux préférés pour la requête, par ordre de priorité. Par défaut : la langue de la localisation spécifiée.
Pour accélérer les requêtes, Firecrawl renvoie par défaut les résultats depuis le cache lorsqu’une copie récente est disponible.
Fenêtre de fraîcheur par défaut : maxAge = 172800000 ms (2 jours). Si une page en cache est plus récente que ce délai, elle est renvoyée instantanément ; sinon, la page est explorée puis mise en cache.
Performances : cela peut accélérer les scrapes jusqu’à 5x lorsque les données n’ont pas besoin d’être ultra fraîches.
Toujours récupérer du contenu frais : définissez maxAge à 0. Cela contourne complètement le cache : chaque requête passe par l’intégralité du pipeline de scraping, ce qui allonge le temps de traitement et augmente le risque d’échec. Utilisez une valeur de maxAge non nulle si une fraîcheur maximale à chaque requête n’est pas critique.
Éviter le stockage : définissez storeInCache sur false si vous ne voulez pas que Firecrawl mette en cache/stocke les résultats pour cette requête.
Consultation du cache uniquement : définissez minAge pour effectuer une consultation du cache uniquement sans déclencher de nouveau scrape. La valeur est en millisecondes et spécifie l’ancienneté minimale que doivent avoir les données en cache. Si aucune donnée en cache n’est trouvée, une erreur 404 avec le code SCRAPE_NO_CACHED_DATA est renvoyée. Définissez minAge à 1 pour accepter toute donnée en cache, quel que soit son âge.
Suivi des modifications : les requêtes qui incluent changeTracking contournent le cache, donc maxAge est ignoré.
Crédits : les résultats en cache coûtent toujours 1 crédit par page. La mise en cache améliore la vitesse, pas l’utilisation des crédits.
Exemple (forcer du contenu frais) :
from firecrawl import Firecrawlfirecrawl = Firecrawl(api_key='fc-YOUR_API_KEY')doc = firecrawl.scrape(url='https://example.com', max_age=0, formats=['markdown'])print(doc)
Exemple (utiliser une fenêtre de cache de 10 minutes) :
Vous pouvez désormais lancer l’extraction par lots de plusieurs URL simultanément. La fonction prend en arguments les URL de départ ainsi que des paramètres optionnels. L’argument params vous permet de définir des options supplémentaires pour la tâche d’extraction par lots, comme les formats de sortie.
C’est très proche du fonctionnement du point de terminaison /crawl. Il lance un job de scraping par lot et renvoie un ID de job pour en vérifier l’état.Le SDK propose deux méthodes, synchrone et asynchrone. La méthode synchrone renvoie les résultats du job de scraping par lot, tandis que la méthode asynchrone renvoie un ID de job que vous pouvez utiliser pour en suivre l’état.
Si vous utilisez les méthodes synchrones des SDK, elles renverront les résultats du travail de scraping par lot. Sinon, elles renverront un identifiant de travail que vous pourrez utiliser pour vérifier l’état du scraping par lot.
Vous pouvez ensuite utiliser l’ID de la tâche pour vérifier l’état du batch scrape en appelant le point de terminaison /batch/scrape/{id}. Ce point de terminaison est destiné à être utilisé pendant l’exécution de la tâche ou juste après son achèvement, car les tâches de batch scrape expirent après 24 heures.
Pour les sites web complexes, Firecrawl propose un mode amélioré qui offre de meilleurs taux de réussite tout en préservant la confidentialité.En savoir plus sur le Mode amélioré.
Firecrawl prend en charge la rétention zéro des données (ZDR) pour les équipes ayant des exigences strictes en matière de traitement des données. Lorsqu’elle est activée, Firecrawl ne conserve aucun contenu de page ni aucune donnée extraite au-delà de la durée de vie de la requête.Pour activer ZDR, définissez zeroDataRetention: true dans votre requête :
ZDR est disponible sur les offres Enterprise et doit être activé pour votre équipe. Rendez-vous sur firecrawl.dev/enterprise pour démarrer.ZDR ajoute 1 crédit supplémentaire par page en plus du coût de base du scrape.
Les captures d’écran ne sont pas disponibles en mode ZDR. Comme elles nécessitent un envoi vers un stockage persistant, elles sont incompatibles avec la garantie ZDR. Les requêtes qui incluent à la fois zeroDataRetention: true et un format screenshot renverront une erreur.
Êtes-vous un agent IA ayant besoin d’une clé API Firecrawl ? Consultez firecrawl.dev/agent-onboarding/SKILL.md pour obtenir les instructions d’intégration automatisée.