> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-claude-eager-dijkstra-27eiio.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Recherchez sur le web, extrayez n’importe quelle page et interagissez avec elle, le tout via une seule API.

export const AgentSetupButton = () => {
  const prompt = "Read and follow https://www.firecrawl.dev/agent-onboarding/SKILL.md";
  const writeClipboard = async text => {
    try {
      await navigator.clipboard.writeText(text);
      return true;
    } catch {
      const textarea = document.createElement("textarea");
      textarea.value = text;
      textarea.setAttribute("readonly", "");
      textarea.style.position = "fixed";
      textarea.style.top = "-9999px";
      document.body.appendChild(textarea);
      textarea.select();
      let copied = false;
      try {
        copied = document.execCommand("copy");
      } catch {
        copied = false;
      }
      document.body.removeChild(textarea);
      return copied;
    }
  };
  const [copied, setCopied] = useState(false);
  const [status, setStatus] = useState("");
  const timeoutRef = useRef(null);
  useEffect(() => () => window.clearTimeout(timeoutRef.current), []);
  const copyPrompt = async () => {
    const copied = await writeClipboard(prompt);
    if (copied) {
      window.clearTimeout(timeoutRef.current);
      setCopied(true);
      setStatus("Agent setup prompt copied to clipboard.");
      timeoutRef.current = window.setTimeout(() => {
        setCopied(false);
        setStatus("");
      }, 2000);
    } else {
      setCopied(false);
      setStatus("Could not copy the agent setup prompt.");
    }
  };
  const icon = copied ? <svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="m20 6-11 11-5-5" />
    </svg> : <svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <rect width="14" height="14" x="8" y="8" rx="2" />
      <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
    </svg>;
  return <div className="fc-agent-prompt not-prose">
      <button type="button" className={`fc-agent-prompt-button${copied ? " is-copied" : ""}`} onClick={copyPrompt} aria-label={copied ? "Copied agent setup prompt" : "Setup for agents"}>
        {icon}
        <span>{copied ? "Copied" : "Setup for agents"}</span>
      </button>
      <span className="fc-sr-only" aria-live="polite">
        {status}
      </span>
    </div>;
};

<div id="get-started">
  ## Premiers pas
</div>

Connectez-vous via Streamable HTTP. L’URL du serveur sans clé (Search, Scrape et Parse ; aucune information d’identification requise) est `https://mcp.firecrawl.dev/v2/mcp`.

* Codex : `codex mcp add firecrawl --url https://mcp.firecrawl.dev/v2/mcp`
* Claude Code : `claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp`
* Cursor ou tout client configuré en JSON : `{"mcpServers": {"firecrawl": {"url": "https://mcp.firecrawl.dev/v2/mcp"}}}`
* OpenCode (`opencode.json`) : `{"mcp": {"firecrawl": {"type": "remote", "url": "https://mcp.firecrawl.dev/v2/mcp", "enabled": true}}}`
* ChatGPT ou Claude.ai (connexion au compte) : collez `https://mcp.firecrawl.dev/v2/mcp-oauth` dans les paramètres du connecteur du client.

Tous les modes de connexion, la configuration de la clé API et les instructions de dépannage : [Configuration MCP](/fr/mcp-server.md).

<div id="build-directly-with-the-api">
  ### Créez directement avec l’API
</div>

Extrayez votre première page dès maintenant. Aucun compte ni clé API ne sont requis pour cette requête.

```bash cURL theme={null}
# Aucune clé API requise pour démarrer — ajoutez -H "Authorization: Bearer $FIRECRAWL_API_KEY" pour des limites de débit plus élevées :
curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://firecrawl.dev",
    "formats": ["markdown", "html"]
  }'
```

Ajoutez une [clé d’API](https://www.firecrawl.dev/app/api-keys) si vous avez besoin de limites plus élevées. Consultez le [SDK Python](/fr/sdks/python), le [SDK Node](/fr/sdks/node) ou la [référence de l’API](/fr/api-reference/endpoint/scrape) pour l’intégrer à votre application.

<div id="other-ways-to-get-started">
  ## Autres façons de commencer
</div>

<div id="install-the-firecrawl-cli">
  ### Installer le CLI Firecrawl
</div>

Une seule commande installe le CLI Firecrawl, vous authentifie dans votre Browser et ajoute des skills à chaque agent de codage détecté.

```bash theme={null}
npx -y firecrawl-cli@latest init --all --browser
```

<Note>
  Redémarrez votre agent de codage après la configuration afin qu’il puisse découvrir les nouveaux skills. Consultez
  [CLI](/fr/sdks/cli) pour la configuration complète.
</Note>

<div id="set-up-with-an-agent">
  ### Configurer avec un agent
</div>

Fournissez à votre agent ce prompt de configuration Firecrawl, ou consultez [toutes les options de configuration MCP](/fr/mcp-server).

<AgentSetupButton />

<Note>
  **Pour les agents IA :** Utilisez [llms.txt](https://docs.firecrawl.dev/llms.txt) pour accéder à un index de la documentation, ou [llms-full.txt](https://docs.firecrawl.dev/llms-full.txt) pour consulter le texte complet.
</Note>

<div id="build-and-test-directly">
  ### Créez et testez directement
</div>

<CardGroup cols={2}>
  <Card title="Obtenez votre clé d'API" icon="key" href="https://www.firecrawl.dev/app/api-keys">
    Créez un compte gratuit pour un accès direct à l'API et des limites plus élevées
  </Card>

  <Card title="Essayez-le dans le Playground" icon="play" href="https://www.firecrawl.dev/playground">
    Testez Firecrawl dans le navigateur sans écrire de code
  </Card>
</CardGroup>

***

<div id="what-can-firecrawl-do">
  ## Que peut faire Firecrawl ?
</div>

<CardGroup cols={3}>
  <Card title="Recherche" icon="magnifying-glass" href="#search">
    Rechercher sur le web et obtenir le contenu complet des pages à partir des résultats
  </Card>

  <Card title="Scrape" icon="file-lines" href="#scrape">
    Extraire le contenu de n’importe quelle URL en markdown, HTML ou JSON structuré
  </Card>

  <Card title="Interact" icon="hand-pointer" href="#interact">
    Continuer à travailler avec n’importe quelle page scrapée : cliquer, remplir des formulaires, extraire du contenu dynamique
  </Card>
</CardGroup>

<div id="why-firecrawl">
  ### Pourquoi Firecrawl ?
</div>

* **Sortie prête pour les LLM** : Markdown propre, JSON structuré, captures d’écran, et plus encore.
* **Gère les aspects complexes** : proxys, protections anti-bot, rendu JavaScript et contenu dynamique.
* **Fiable** : conçu pour la production, avec une haute disponibilité et des résultats constants.
* **Rapide** : des résultats en quelques secondes, optimisé pour un débit élevé.
* **MCP Server** : connectez Firecrawl à n’importe quel outil d’IA via le [Model Context Protocol](/fr/mcp-server).

<div className="firecrawl-cta-box">
  <div style={{ display: "flex", alignItems: "flex-start", gap: "8px", marginBottom: "8px" }}>
    <Icon icon="sack-dollar" color="#ff4d00" size={22} />

    <div className="firecrawl-cta-title" style={{ margin: 0 }}>
      <span style={{ color: "#ff4d00" }}>Prime : récompense de 5 000 crédits</span>
      <span style={{ fontWeight: 400 }}> en échange de retours pertinents sur Firecrawl</span>
    </div>
  </div>

  <p className="firecrawl-cta-description">
    Pour être éligible, participez à un entretien riche en informations (cas d'utilisation réfléchis et concrets, etc.) avec notre assistant de retours Firecrawl. Cela ne prend que quelques minutes, peut être interrompu à tout moment et convient aussi bien aux humains qu'aux agents (collez simplement le lien dans votre environnement agentique !). Vous découvrez Firecrawl ? Votre avis compte aussi.
  </p>

  <a href={"https://www.firecrawl.dev/survey/dsag9?src=" + (props.src || "docs-introduction")} className="firecrawl-cta-btn-primary firecrawl-cta-btn-inline">
    Démarrer l'entretien
  </a>

  <p className="firecrawl-cta-description" style={{ fontSize: "12px", fontStyle: "italic", margin: "12px 0 0 0" }}>
    Indiquez votre e-mail pour être éligible. La qualité des entretiens est évaluée à la fin de chaque semaine.
  </p>
</div>

***

<div id="search">
  ## Recherche
</div>

Effectuez une recherche sur le web et obtenez le contenu complet des pages à partir des résultats en un seul appel. Consultez la [documentation de la fonctionnalité de recherche](/fr/features/search) pour toutes les options.

<CodeGroup>
  ```python Python theme={null}
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(
    # Aucune clé API requise pour démarrer — ajoutez-en une pour des limites de débit plus élevées :
    # api_key="fc-YOUR-API-KEY",
  )

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

  ```js Node theme={null}
  import { Firecrawl } from 'firecrawl';

  const firecrawl = new Firecrawl({
    // Aucune clé API requise pour démarrer — ajoutez-en une pour des limites de débit plus élevées :
    // apiKey: "fc-YOUR-API-KEY",
  });

  const results = await firecrawl.search('firecrawl', {
    limit: 3,
    scrapeOptions: { formats: ['markdown'] }
  });
  console.log(results);
  ```

  ```bash cURL theme={null}
  # Aucune clé API requise pour démarrer — ajoutez -H "Authorization: Bearer $FIRECRAWL_API_KEY" pour des limites de débit plus élevées :
  curl -s -X POST "https://api.firecrawl.dev/v2/search" \
    -H "Content-Type: application/json" \
    -d '{
      "query": "firecrawl",
      "limit": 3
    }'
  ```

  ```bash CLI theme={null}
  # Rechercher sur le web
  firecrawl search "firecrawl web scraping" --limit 5 --pretty
  ```
</CodeGroup>

<Accordion title="Réponse">
  Les SDK renverront directement l’objet `data`. cURL renverra la charge utile complète.

  ```json JSON theme={null}
  {
    "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/firecrawl/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
        },
        ...
      ]
    }
  }
  ```
</Accordion>

<div id="scrape">
  ## Scrape
</div>

Extrayez n’importe quelle URL et obtenez son contenu en markdown, HTML ou d’autres formats. Consultez la [documentation de la fonctionnalité Scrape](/fr/features/scrape) pour toutes les options.

<CodeGroup>
  ```python Python theme={null}
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(
    # Aucune clé API requise pour démarrer — ajoutez-en une pour des limites de débit plus élevées :
    # api_key="fc-YOUR-API-KEY",
  )

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

  ```js Node theme={null}
  import { Firecrawl } from 'firecrawl';

  const firecrawl = new Firecrawl({
    // Aucune clé API requise pour démarrer — ajoutez-en une pour des limites de débit plus élevées :
    // apiKey: "fc-YOUR-API-KEY",
  });

  // Récupérer le contenu d'un site :
  const doc = await firecrawl.scrape('https://firecrawl.dev', { formats: ['markdown', 'html'] });
  console.log(doc);
  ```

  ```bash cURL theme={null}
  # Aucune clé API requise pour démarrer — ajoutez -H "Authorization: Bearer $FIRECRAWL_API_KEY" pour des limites de débit plus élevées :
  curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
    -H "Content-Type: application/json" \
    -d '{
      "url": "https://firecrawl.dev",
      "formats": ["markdown", "html"]
    }'
  ```

  ```bash CLI theme={null}
  # Scrape a URL and get markdown
  firecrawl https://firecrawl.dev

  # Avec plusieurs formats (renvoie du JSON)
  firecrawl https://firecrawl.dev --format markdown,html,links --pretty
  ```
</CodeGroup>

<Accordion title="Réponse">
  Les SDK vont renvoyer directement l’objet data. cURL renverra la charge utile exactement comme indiqué ci-dessous.

  ```json theme={null}
  {
    "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,
        "contentType": "text/html"
      }
    }
  }
  ```
</Accordion>

<div id="interact">
  ## Interact
</div>

Scrapez une page, puis continuez à travailler avec elle : cliquez sur des boutons, remplissez des formulaires, extrayez du contenu dynamique ou naviguez plus en profondeur. Décrivez ce que vous voulez en anglais courant ou écrivez du code pour un contrôle total. Consultez la [documentation de la fonctionnalité Interact](/fr/features/interact) pour toutes les options.

<CodeGroup>
  ```python Python theme={null}
  from firecrawl import Firecrawl

  app = Firecrawl(
    # Aucune clé API requise pour démarrer — ajoutez-en une pour des limites de débit plus élevées :
    # api_key="fc-YOUR-API-KEY",
  )

  # 1. Scraper la page d'accueil d'Amazon
  result = app.scrape("https://www.amazon.com", formats=["markdown"])
  scrape_id = result.metadata.scrape_id

  # 2. Interagir — rechercher un produit et obtenir son prix
  app.interact(scrape_id, prompt="Search for iPhone 16 Pro Max")
  response = app.interact(scrape_id, prompt="Click on the first result and tell me the price")
  print(response.output)

  # 3. Arrêter la session
  app.stop_interaction(scrape_id)
  ```

  ```js Node theme={null}
  import { Firecrawl } from 'firecrawl';

  const app = new Firecrawl({
    // Aucune clé API requise pour démarrer — ajoutez-en une pour des limites de débit plus élevées :
    // apiKey: 'fc-YOUR-API-KEY',
  });

  // 1. Scraper la page d'accueil d'Amazon
  const result = await app.scrape('https://www.amazon.com', { formats: ['markdown'] });
  const scrapeId = result.metadata?.scrapeId;

  // 2. Interagir — rechercher un produit et obtenir son prix
  await app.interact(scrapeId, { prompt: 'Search for iPhone 16 Pro Max' });
  const response = await app.interact(scrapeId, { prompt: 'Click on the first result and tell me the price' });
  console.log(response.output);

  // 3. Arrêter la session
  await app.stopInteraction(scrapeId);
  ```

  ```bash cURL theme={null}
  # 1. Scraper la page d'accueil d'Amazon
  # Aucune API key requise pour démarrer — ajoutez -H "Authorization: Bearer $FIRECRAWL_API_KEY" pour des limites de débit plus élevées :
  RESPONSE=$(curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
    -H "Content-Type: application/json" \
    -d '{"url": "https://www.amazon.com", "formats": ["markdown"]}')

  SCRAPE_ID=$(echo $RESPONSE | jq -r '.data.metadata.scrapeId')

  # 2. Interagir — rechercher un produit et obtenir son prix
  curl -s -X POST "https://api.firecrawl.dev/v2/scrape/$SCRAPE_ID/interact" \
    -H "Content-Type: application/json" \
    -d '{"prompt": "Search for iPhone 16 Pro Max"}'

  curl -s -X POST "https://api.firecrawl.dev/v2/scrape/$SCRAPE_ID/interact" \
    -H "Content-Type: application/json" \
    -d '{"prompt": "Click on the first result and tell me the price"}'

  # 3. Arrêter la session
  curl -s -X DELETE "https://api.firecrawl.dev/v2/scrape/$SCRAPE_ID/interact"
  ```

  ```bash CLI theme={null}
  # 1. Scrape la page d'accueil d'Amazon (l'ID de scrape est sauvegardé automatiquement)
  firecrawl scrape https://www.amazon.com

  # 2. Interagir — rechercher un produit et obtenir son prix
  firecrawl interact "Search for iPhone 16 Pro Max"
  firecrawl interact "Click on the first result and tell me the price"

  # 3. Arrêter la session
  firecrawl interact stop
  ```
</CodeGroup>

<Accordion title="Réponse">
  ```json Response theme={null}
  {
    "success": true,
    "cdpUrl": "wss://browser.firecrawl.dev/...",
    "liveViewUrl": "https://liveview.firecrawl.dev/...",
    "interactiveLiveViewUrl": "https://liveview.firecrawl.dev/...",
    "output": "The iPhone 16 Pro Max (256GB) is priced at $1,199.00.",
    "exitCode": 0,
    "killed": false
  }
  ```
</Accordion>

***

<div id="more-capabilities">
  ## Plus de fonctionnalités
</div>

<CardGroup cols={2}>
  <Card title="Interact" icon="hand-pointer" href="/fr/features/interact">
    Cliquer, remplir des formulaires, extraire du contenu dynamique
  </Card>

  <Card title="Webhooks" icon="webhook" href="/fr/webhooks">
    Envoi asynchrone d’événements
  </Card>

  <Card title="Browser Sandbox" icon="browser" href="/fr/features/browser">
    Gérer des sessions de navigateur pour des workflows interactifs
  </Card>

  <Card title="Parse" icon="file-magnifying-glass" href="/fr/features/parse">
    Transformer des PDF, DOCX, XLSX, HTML locaux et plus encore en Markdown ou JSON structuré
  </Card>

  <Card title="Map" icon="map" href="/fr/features/map">
    Découvrir toutes les URL d’un site web
  </Card>

  <Card title="Crawl" icon="spider-web" href="/fr/features/crawl">
    Collecter récursivement le contenu de sites entiers
  </Card>
</CardGroup>

***

<div id="resources">
  ## Ressources
</div>

<CardGroup cols={2}>
  <Card title="Référence de l’API" icon="code" href="/fr/api-reference/v2-introduction">
    Documentation complète de l’API avec des exemples interactifs
  </Card>

  <Card title="SDKs" icon="boxes-stacked" href="/fr/sdks/overview">
    SDKs Python, Node.js, CLI et communautaires
  </Card>

  <Card title="Open Source" icon="github" href="/fr/contributing/open-source-or-cloud">
    Hébergez Firecrawl vous-même ou contribuez au projet
  </Card>

  <Card title="Intégrations" icon="puzzle-piece" href="/fr/developer-guides/llm-sdks-and-frameworks/openai">
    LangChain, LlamaIndex, OpenAI et plus encore
  </Card>
</CardGroup>
