Passer au contenu principal
Héros clair

Bienvenue dans Firecrawl

Firecrawl est un service d’API qui prend une URL, la crawle et la convertit en Markdown propre. Nous explorons toutes les sous-pages accessibles et vous fournissons un Markdown propre pour chacune. Aucun sitemap nécessaire.

Comment l’utiliser ?

Nous proposons une API simple d’utilisation avec notre version hébergée. Vous trouverez l’aire de test (playground) et la documentation ici. Vous pouvez aussi auto-héberger le backend si vous le souhaitez. Consultez les ressources suivantes pour démarrer : Vous souhaitez un SDK ou une intégration ? Faites-le-nous savoir en ouvrant une issue.

Clé API

Pour utiliser l’API, vous devez créer un compte sur Firecrawl et récupérer une clé API.

Fonctionnalités

  • Scrape : récupère une URL et renvoie son contenu dans un format prêt pour les LLM (markdown, résumé, données structurées via le mode JSON, capture d’écran, HTML)
  • Crawl : explore toutes les URL d’une page web et renvoie le contenu dans un format prêt pour les LLM
  • Map : indiquez un site web et obtenez toutes les URL du site — extrêmement rapide
  • Search : recherchez sur le web et obtenez le contenu complet des résultats
  • Extract : extrayez des données structurées à partir d’une page, de plusieurs pages ou de sites entiers avec l’IA.

Capacités avancées

  • Formats prêts pour les LLM : Markdown, résumé, données structurées, capture d’écran, HTML, liens, métadonnées
  • Les cas difficiles : proxys, mécanismes anti-bot, contenu dynamique (rendu JS), analyse de sortie, orchestration
  • Ultra-rapide : obtenez des résultats en quelques secondes — conçu pour la vitesse et les cas d’usage à haut débit.
  • Personnalisation : exclure des balises, explorer derrière des murs d’authentification avec des en-têtes personnalisés, profondeur d’exploration maximale, etc.
  • Analyse des médias : PDF, DOCX, images.
  • Fiabilité avant tout : conçu pour obtenir les données dont vous avez besoin — quelle que soit la difficulté.
  • Actions : cliquer, faire défiler, saisir, attendre et plus encore avant d’extraire des données
Vous trouverez l’ensemble des capacités de Firecrawl et leur utilisation dans notre documentation

Installer Firecrawl

# pip install firecrawl-py

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-VOTRE-CLE-API")

Scraping

Pour récupérer le contenu d’une seule URL, utilisez la méthode scrape. Elle prend l’URL en paramètre et renvoie les données récupérées sous forme de dictionnaire.
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

# Extraire le contenu d’un site :
doc = firecrawl.scrape("https://firecrawl.dev", formats=["markdown", "html"])
print(doc)

Réponse

Les SDK renvoient directement l’objet de données. cURL renvoie la charge utile exactement comme indiqué ci-dessous.
{
  "success": true,
  "data" : {
    "markdown": "Launch Week I est là ! [Découvrez notre sortie du Jour 2 🚀](https://www.firecrawl.dev/blog/launch-week-i-day-2-doubled-rate-limits)[💥 2 mois offerts...",
    "html": "<!DOCTYPE html><html lang=\"en\" class=\"light\" style=\"color-scheme: light;\"><body class=\"__variable_36bd41 __variable_d7dc5d font-inter ...",
    "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": "follow, index",
      "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": "https://firecrawl.dev",
      "statusCode": 200
    }
  }
}

Exploration

La fonctionnalité d’exploration permet de découvrir et d’extraire automatiquement le contenu d’une URL et de toutes ses sous-pages accessibles. Avec nos SDK, appelez simplement la méthode d’exploration : elle soumet un travail d’exploration, attend son achèvement et renvoie les résultats complets pour l’ensemble du site.

Utilisation

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-VOTRE_CLÉ_API")

docs = firecrawl.crawl(url="https://docs.firecrawl.dev", limit=10)
print(docs)
Si vous utilisez directement notre API, cURL ou les fonctions start crawl dans les SDK, un ID sera renvoyé que vous pourrez utiliser pour vérifier l’état du crawl.
{
  "success": true,
  "id": "123-456-789",
  "url": "https://api.firecrawl.dev/v2/crawl/123-456-789"
}

Obtenir l’état d’un crawl

Permet de vérifier l’état d’un job de crawl et de récupérer son résultat.
status = firecrawl.get_crawl_status("<crawl-id>")
print(status)

Réponse

La réponse varie selon l’état du crawl. Pour les réponses incomplètes ou volumineuses dépassant 10 Mo, un paramètre d’URL next est fourni. Vous devez requêter cette URL pour récupérer les 10 Mo suivants de données. Si le paramètre next est absent, cela indique la fin des données du crawl.
{
  "status": "scraping",
  "total": 36,
  "completed": 10,
  "creditsUsed": 10,
  "expiresAt": "2024-00-00T00:00:00.000Z",
  "next": "https://api.firecrawl.dev/v2/crawl/123-456-789?skip=10",
  "data": [
    {
      "markdown": "[Page d’accueil de la documentation Firecrawl ![logo clair](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...",
      "html": "<!DOCTYPE html><html lang=\"en\" class=\"js-focus-visible lg:[--scroll-mt:9.5rem]\" data-js-focus-visible=\"\">...",
      "metadata": {
        "title": "Créer un « chat avec un site web » avec Groq Llama 3 | Firecrawl",
        "language": "en",
        "sourceURL": "https://docs.firecrawl.dev/learn/rag-llama3",
        "description": "Découvrez comment utiliser Firecrawl, Groq Llama 3 et LangChain pour créer un bot de « chat avec votre site web ».",
        "ogLocaleAlternate": [],
        "statusCode": 200
      }
    },
    ...
  ]
}

Mode JSON

Avec le mode JSON, vous pouvez facilement extraire des données structurées à partir de n’importe quelle URL. Nous prenons en charge les schémas Pydantic pour vous simplifier la tâche. Voici comment l’utiliser :
from firecrawl import Firecrawl
from pydantic import BaseModel
app = Firecrawl(api_key="fc-YOUR-API-KEY")

class JsonSchema(BaseModel):
    company_mission: str
    supports_sso: bool
    is_open_source: bool
    is_in_yc: bool

result = app.scrape(
    'https://firecrawl.dev',
    formats=[{
      "type": "json",
      "schema": JsonSchema
    }],
    only_main_content=False,
    timeout=120000
)

print(result)
Résultat :
JSON
{
    "success": true,
    "data": {
      "json": {
        "company_mission": "Scraping et extraction de données web propulsés par l’IA",
        "supports_sso": true,
        "is_open_source": true,
        "is_in_yc": true
      },
      "metadata": {
        "title": "Firecrawl",
        "description": "Scraping et extraction de données web propulsés par l’IA",
        "robots": "suivre, indexer",
        "ogTitle": "Firecrawl",
        "ogDescription": "Scraping et extraction de données web propulsés par l’IA",
        "ogUrl": "https://firecrawl.dev/",
        "ogImage": "https://firecrawl.dev/og.png",
        "ogLocaleAlternate": [],
        "ogSiteName": "Firecrawl"
        "sourceURL": "https://firecrawl.dev/"
      },
    }
}
L’API de recherche de Firecrawl vous permet d’effectuer des recherches sur le web et, en option, de scraper les résultats en une seule opération.
  • Choisissez des formats de sortie spécifiques (Markdown, HTML, liens, captures d’écran)
  • Choisissez des sources spécifiques (web, actualités, images)
  • Recherchez sur le web avec des paramètres personnalisables (localisation, etc.)
Pour plus de détails, consultez la référence de l’API du point de terminaison /search.
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

results = firecrawl.search(
    query="firecrawl",
    limit=3,
)
print(results)

Réponse

Les SDK renverront directement l’objet de données. cURL renverra la charge utile complète.
JSON
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://www.firecrawl.dev/",
        "title": "Firecrawl - L’API de données web pour l’IA",
        "description": "L’API d’exploration, de scraping et de recherche pour l’IA. Conçue pour passer à l’échelle. Firecrawl met l’ensemble du web à la portée des agents et développeurs d’IA.",
        "position": 1
      },
      {
        "url": "https://github.com/mendableai/firecrawl",
        "title": "mendableai/firecrawl : Transformez des sites entiers en contenus prêts pour les LLM… - GitHub",
        "description": "Firecrawl est un service d’API qui prend une URL, l’explore et la convertit en Markdown propre ou en données structurées.",
        "position": 2
      },
      ...
    ],
    "images": [
      {
        "title": "Guide de démarrage rapide | Firecrawl",
        "imageUrl": "https://mintlify.s3.us-west-1.amazonaws.com/firecrawl/logo/logo.png",
        "imageWidth": 5814,
        "imageHeight": 1200,
        "url": "https://docs.firecrawl.dev/",
        "position": 1
      },
      ...
    ],
    "news": [
      {
        "title": "La startup de Y Combinator Firecrawl est prête à payer 1 M$ pour embaucher trois agents IA comme employés",
        "url": "https://techcrunch.com/2025/05/17/y-combinator-startup-firecrawl-is-ready-to-pay-1m-to-hire-three-ai-agents-as-employees/",
        "snippet": "Elle a désormais publié trois nouvelles annonces sur le job board de YC pour « agents IA uniquement » et a réservé un budget total de 1 million de dollars pour y parvenir.",
        "date": "il y a 3 mois"
        "position": 1
      },
      ...
    ]
  }
}

Extraction sans schéma

Vous pouvez désormais extraire sans schéma en transmettant simplement un prompt au point de terminaison. Le LLM détermine la structure des données.
from firecrawl import Firecrawl

app = 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/"
      },
    }
}

Interagir avec une page à l’aide des actions

Firecrawl vous permet d’exécuter 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 des pages ou accéder à du contenu nécessitant une interaction de l’utilisateur. Voici un exemple montrant comment utiliser des actions pour se rendre sur 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/ou après les autres actions afin de laisser à la page le temps de se charger.

Exemple

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

doc = firecrawl.scrape('https://example.com/login', {
  formats=['markdown'],
  actions=[
    { type: 'write', text: 'john@example.com' },
    { type: 'press', key: 'Tab' },
    { type: 'write', text: 'secret' },
    { type: 'click', selector: 'button[type="submit"]' },
    { type: 'wait', milliseconds: 1500 },
    { type: 'screenshot', fullPage: true },
  ],
});

print(doc.markdown, doc.screenshot);

Résultat

{
  "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
    }
  }
}

Open Source vs Cloud

Firecrawl est open source et disponible sous la licence AGPL-3.0. Pour offrir le meilleur produit possible, nous proposons une version hébergée de Firecrawl en plus de notre offre open source. La solution cloud nous permet d’innover en continu et de maintenir un service de haute qualité, pérenne, pour tous les utilisateurs. Firecrawl Cloud est disponible sur firecrawl.dev et propose un ensemble de fonctionnalités non disponibles dans la version open source :
Firecrawl Cloud vs Open Source

Contributions

Nous apprécions vos contributions ! Veuillez lire notre guide de contribution avant de proposer une pull request.