Home
Login

Transformez l'ensemble d'un site web en Markdown ou en données structurées prêtes pour les LLM, avec extraction, exploration et extraction via une seule API.

AGPL-3.0TypeScript 40.4kmendableaifirecrawl Last Updated: 2025-06-22

Présentation détaillée du projet Firecrawl

Aperçu du projet

Firecrawl est un service API qui reçoit une URL, la et la convertit en markdown propre ou en données structurées. toutes les sous-pages accessibles, fournissant des données propres pour chaque page. Aucune carte du site n'est requise.

Fonctionnalités principales

1. Grattage de pages web (Scraping)

  • Gratte une seule URL et obtient le contenu dans un format prêt pour LLM
  • Prend en charge plusieurs formats de sortie : markdown, données structurées, captures d'écran, HTML
  • Obtient des données structurées via l'extraction LLM

2. Exploration de sites web (Crawling)

  • toutes les URL d'une page web et renvoie le contenu dans un format prêt pour LLM
  • Découvre toutes les sous-pages accessibles sans avoir besoin d'une carte du site
  • Prend en charge la profondeur d'exploration personnalisée et les règles d'exclusion

3. Cartographie de sites web (Map)

  • Saisissez un site web pour obtenir toutes les URL du site web - vitesse extrêmement rapide
  • Prend en charge la recherche de modèles d'URL spécifiques

4. Recherche web (Search)

  • Recherche sur le web et obtient le contenu complet des résultats
  • Paramètres de recherche personnalisables (langue, pays, etc.)
  • Possibilité de choisir de récupérer différents formats de contenu à partir des résultats de recherche

5. Extraction de données (Extract)

  • Utilise l'IA pour obtenir des données structurées à partir d'une seule page, de plusieurs pages ou de l'ensemble d'un site web
  • Prend en charge la définition de règles d'extraction via des invites et des schémas JSON
  • Prend en charge les modèles d'URL génériques

6. Traitement par lots (Batching)

  • Nouvel endpoint asynchrone pour gratter des milliers d'URL simultanément
  • Soumet des tâches de grattage par lots et renvoie l'ID de la tâche pour vérifier l'état

Caractéristiques techniques

Formats prêts pour LLM

  • Markdown : Format de document propre
  • Données structurées : Données extraites au format JSON
  • Captures d'écran : Capture visuelle de la page
  • HTML : Contenu HTML brut
  • Liens et métadonnées : Extraction des informations de la page

Gestion des situations complexes

  • Proxies et mécanismes anti-robots : Contourne les restrictions d'accès
  • Contenu dynamique : Gère le contenu rendu par JavaScript
  • Analyse de la sortie : Analyse intelligente du contenu
  • Orchestration : Gestion des processus complexes

Capacités de personnalisation

  • Exclusion de balises : Filtre le contenu indésirable
  • Exploration authentifiée : Explore le contenu nécessitant une authentification à l'aide d'en-têtes personnalisés
  • Profondeur d'exploration maximale : Contrôle la portée de l'exploration
  • Analyse des médias : Prend en charge les PDF, DOCX, images

Fonctionnalités interactives (Actions)

Diverses actions peuvent être effectuées avant de gratter le contenu :

  • Cliquez : Cliquez sur les éléments de la page
  • Défilement : Opérations de défilement de la page
  • Saisie : Saisie de texte
  • Attente : Attente du chargement de la page
  • Touche : Opérations de clavier

Exemples d'utilisation de l'API

un site web

curl -X POST https://api.firecrawl.dev/v1/crawl \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-d '{
  "url": "https://docs.firecrawl.dev",
  "limit": 10,
  "scrapeOptions": {
    "formats": ["markdown", "html"]
  }
}'

Gratter une seule page

curl -X POST https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
  "url": "https://docs.firecrawl.dev",
  "formats" : ["markdown", "html"]
}'

Extraction de données structurées

curl -X POST https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
  "url": "https://www.mendable.ai/",
  "formats": ["json"],
  "jsonOptions": {
    "schema": {
      "type": "object",
      "properties": {
        "company_mission": {"type": "string"},
        "supports_sso": {"type": "boolean"},
        "is_open_source": {"type": "boolean"},
        "is_in_yc": {"type": "boolean"}
      },
      "required": ["company_mission", "supports_sso", "is_open_source", "is_in_yc"]
    }
  }
}'

Prise en charge des SDK

Python SDK

pip install firecrawl-py
from firecrawl.firecrawl import FirecrawlApp
from firecrawl.firecrawl import ScrapeOptions

app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

# Gratter un site web
scrape_status = app.scrape_url(
    'https://firecrawl.dev',
    formats=["markdown", "html"]
)
print(scrape_status)

crawl_status = app.crawl_url(
    'https://firecrawl.dev',
    limit=100,
    scrape_options=ScrapeOptions(formats=["markdown", "html"]),
    poll_interval=30
)
print(crawl_status)

Node.js SDK

npm install @mendable/firecrawl-js
import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';

const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});

// Gratter un site web
const scrapeResponse = await app.scrapeUrl('https://firecrawl.dev', {
  formats: ['markdown', 'html'],
});

if (scrapeResponse) {
  console.log(scrapeResponse)
}

//  un site web
const crawlResponse = await app.crawlUrl('https://firecrawl.dev', {
  limit: 100,
  scrapeOptions: {
    formats: ['markdown', 'html'],
  }
} satisfies CrawlParams, true, 30) satisfies CrawlStatusResponse;

Prise en charge de l'intégration

Intégration du framework LLM

  • Langchain : Versions Python et JavaScript
  • Llama Index : Connecteur de données
  • Crew.ai : Framework d'agents IA
  • Composio : Intégration d'outils
  • PraisonAI : Orchestration de l'IA
  • Superinterface : Fonctionnalités d'assistant
  • Vectorize : Intégration de la vectorisation

Frameworks low-code

  • Dify : Plateforme de construction d'applications IA
  • Langflow : Flux d'IA visuels
  • Flowise AI : Construction d'IA sans code
  • Cargo : Intégration de données
  • Pipedream : Automatisation du flux de travail

Autres intégrations

  • Zapier : Flux de travail automatisés
  • Pabbly Connect : Intégration d'applications

Licence et déploiement

Licence open source

  • Principalement sous licence GNU Affero General Public License v3.0 (AGPL-3.0)
  • Les SDK et certains composants de l'interface utilisateur sont sous licence MIT

Service hébergé

  • Une version hébergée est disponible sur firecrawl.dev
  • Les solutions cloud offrent des fonctionnalités supplémentaires et une assistance de niveau entreprise

Auto-hébergement

  • Prend en charge le déploiement local
  • Actuellement en cours de développement, intégrant des modules personnalisés dans un référentiel monolithique
  • Peut être exécuté localement, mais n'est pas encore entièrement prêt pour un déploiement auto-hébergé

Cas d'utilisation

  1. Préparation des données d'IA : Fournir des données d'entraînement propres pour LLM
  2. Agrégation de contenu : Collecter et organiser le contenu de plusieurs sites web
  3. Analyse concurrentielle : Surveiller les changements sur les sites web des concurrents
  4. Recherche SEO : Analyser la structure et le contenu du site web
  5. Exploration de données : Extraire des informations structurées des sites web
  6. Génération de documents : Convertir le contenu du site web en format de document

Précautions d'utilisation

Les utilisateurs sont responsables du respect des politiques des sites web lors de l'utilisation de Firecrawl pour le grattage, la recherche et l'exploration. Il est conseillé aux utilisateurs de respecter les politiques de confidentialité et les conditions d'utilisation des sites web applicables avant de lancer toute activité de grattage. Par défaut, Firecrawl respecte les instructions spécifiées dans le fichier robots.txt du site web lors de l'exploration.

État du projet

Le projet est actuellement en développement actif, l'équipe intégrant des modules personnalisés dans un référentiel monolithique. Bien qu'il ne soit pas encore entièrement prêt pour un déploiement auto-hébergé, il peut être exécuté localement pour le développement et les tests. Le projet possède une communauté active et des mises à jour continues, et est une solution de pointe dans le domaine de l'extraction de données web.

Star History Chart