- Il gère les complexités : proxies, mise en cache, limites de débit, contenu bloqué par JS
- Prend en charge le contenu dynamique : sites web dynamiques, sites rendus par JS, PDF, images
- Produit du markdown propre, des données structurées, des captures d’écran ou du html.
Essayez-le dans le Playground
Testez le scraping dans le Playground interactif — aucun code à écrire.
Si une requête échoue, consultez Erreurs pour accéder au catalogue complet des codes d’erreur, de leurs causes, des correctifs et des conseils de nouvelle tentative.
Extraire le contenu d’une URL avec Firecrawl
point de terminaison /scrape
Installation
Utilisation
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, les formats question et highlights coûtent 4 crédits supplémentaires par page et par format, 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 ou vidéo coûte 4 crédits supplémentaires par page.Réponse
Formats de scraping
- Markdown (
markdown) - Résumé (
summary) - HTML (
html) - version nettoyée du HTML de la page - HTML brut (
rawHtml) - HTML non modifié tel que reçu depuis la page - Capture d’écran (
screenshot, avec des options commefullPage,quality,viewport) — les URL de capture d’écran expirent après 24 heures - Liens (
links) - JSON (
json) - sortie structurée - Images (
images) - extrait toutes les URL d’images de la page - Branding (
branding) - extrait l’identité de marque et le design system - Audio (
audio) - extrait l’audio MP3 à partir d’URL vidéo prises en charge, par ex. YouTube (retourne une URL GCS signée, expire après 1 heure) - Vidéo (
video) - extrait la vidéo de meilleure qualité à partir d’URL vidéo prises en charge, par ex. YouTube ou TikTok (retourne une URL GCS signée, expire après 1 heure) - Requête (
query, avecpromptetmodefacultatif) - posez une question en langage naturel sur la page ; la réponse est renvoyée dans le champanswer
Extraire des données structurées
Point de terminaison /scrape (avec json)
JSON
Extraction sans schéma
prompt au point de terminaison. Le LLM choisit la structure des données.
JSON
Options du format JSON
json, passez un objet dans formats avec les paramètres suivants :
schema: schéma JSON pour la sortie structurée.prompt: invite facultative pour orienter l’extraction lorsqu’un schéma est présent ou lorsque vous souhaitez un guidage léger.
Extraire l’identité de marque
endpoint /scrape (avec branding)
Réponse
Le format d’habillage de marque retourne un objetBrandingProfile complet avec la structure suivante :
Output
Structure du profil de marque
branding contient les propriétés suivantes :
colorScheme: Schéma de couleurs détecté (« light » ou « dark »)logo: URL du logo principalcolors: Objet contenant les couleurs de la marque :primary,secondary,accent: Couleurs principales de la marquebackground,textPrimary,textSecondary: Couleurs de l’interfacelink,success,warning,error: Couleurs sémantiques
fonts: Tableau des familles de polices utilisées sur la pagetypography: Informations détaillées sur la typographie :fontFamilies: Familles de polices principales, titres et codefontSizes: Définitions des tailles pour les titres et le corps du textefontWeights: Définitions des graisses (light, regular, medium, bold)lineHeights: Valeurs d’interlignage pour différents types de texte
spacing: Informations sur les espacements et la mise en page :baseUnit: Unité d’espacement de base en pixelsborderRadius: Rayon de bordure par défautpadding,margins: Valeurs d’espacement
components: Styles des composants d’interface :buttonPrimary,buttonSecondary: Styles des boutonsinput: Styles des champs de saisie
icons: Informations sur le style des icônesimages: Images de la marque (logo, favicon, og:image)animations: Paramètres d’animation et de transitionlayout: Configuration de la mise en page (grille, hauteurs d’en-tête/pied de page)personality: Traits de personnalité de la marque (ton, énergie, public cible)
Combiner avec d’autres formats
Extraction audio
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).
Extraction vidéo
video extrait la vidéo en meilleure qualité à partir des sites web pris en charge (par ex. YouTube et TikTok) et renvoie une URL signée Google Cloud Storage. Cela permet de créer des pipelines de traitement vidéo, des outils de modération ou des workflows d’archivage multimédia.
L’extraction vidéo coûte 5 crédits par page (1 de base + 4 supplémentaires).
Format question
question pour poser une question en langage naturel à propos de la page. Firecrawl renvoie la réponse dans le champ answer de la réponse.
Le format
question coûte 5 crédits par page (1 de base + 4 supplémentaires pour l’appel au LLM).question(obligatoire pourtype: "question") : la question à laquelle répondre. Maximum : 10 000 caractères.
question avec d’autres formats — par exemple, demander markdown et question ensemble pour obtenir le contenu de la page et une réponse en un seul appel.
question est également disponible dans /search via scrapeOptions, ce qui exécute la même extraction sur chaque résultat de recherche.
Format highlights
highlights pour trouver le texte source pertinent sur la page. Firecrawl renvoie le texte sélectionné dans le champ highlights de la réponse.
Le format
highlights coûte 5 crédits par page (1 de base + 4 supplémentaires pour l’appel au LLM).query(obligatoire pourtype: "highlights") : la requête de sélection du texte source. Maximum : 10 000 caractères.
highlights avec d’autres formats — par exemple, demander markdown et highlights ensemble pour obtenir le contenu de la page et le texte source en un seul appel.
highlights est également disponible dans /search via scrapeOptions, qui exécute la même extraction sur chaque résultat de recherche.
Interagir avec la page à l’aide des actions
wait avant et après l’exécution d’autres actions afin de laisser suffisamment de temps au chargement de la page.
Exemple
Résultat
actions.
Localisation et langue
Fonctionnement
Utilisation
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.
Mise en cache et maxAge
- Fenêtre de fraîcheur par défaut :
maxAge = 172800000ms (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 demaxAgenon nulle si une fraîcheur maximale à chaque requête n’est pas critique. - Éviter le stockage : définissez
storeInCachesurfalsesi vous ne voulez pas que Firecrawl mette en cache/stocke les résultats pour cette requête. - Consultation du cache uniquement : définissez
minAgepour 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 erreur404avec le codeSCRAPE_NO_CACHED_DATAest renvoyée. DéfinissezminAgeà1pour accepter toute donnée en cache, quel que soit son âge. - Suivi des modifications : les requêtes qui incluent
changeTrackingcontournent le cache, doncmaxAgeest 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.
Extraction par lots de plusieurs URL
Fonctionnement
/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.
Utilisation
Réponse
Synchrone
Terminé
Asynchrone
/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.
Mode amélioré
Rétention zéro des données (ZDR)
zeroDataRetention: true dans votre requête :
cURL
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.

