> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# LangChain

> Utilisez Firecrawl dans LangChain comme chargeur de documents ou comme outil d’agent.

<Note>
  **Package officiel :** [`langchain-firecrawl`](https://pypi.org/project/langchain-firecrawl/) · [code source](https://github.com/firecrawl/langchain-firecrawl)

  Utilisez LangChain pour scraper, crawl, cartographier, extraire et rechercher avec Firecrawl, comme chargeur de documents ou outil d’agent.
</Note>

<div id="install">
  ## Installation
</div>

```bash theme={null}
pip install langchain-firecrawl
```

Obtenez une clé sur [firecrawl.dev](https://www.firecrawl.dev/app/api-keys) et définissez-la dans votre environnement (ou passez `api_key=...`) :

```bash theme={null}
export FIRECRAWL_API_KEY="fc-your-api-key"
```

<div id="document-loader">
  ## Chargeur de documents
</div>

`FirecrawlLoader` renvoie des `Document` LangChain. Choisissez un `mode` :

| Mode      | Contenu chargé                 |
| --------- | ------------------------------ |
| `scrape`  | Une page                       |
| `crawl`   | Un site entier                 |
| `map`     | Les URL découvertes            |
| `extract` | Des données structurées        |
| `search`  | Des résultats de recherche web |

```python theme={null}
from langchain_firecrawl import FirecrawlLoader

loader = FirecrawlLoader(url="https://www.firecrawl.dev", mode="scrape")
docs = loader.load()

print(docs[0].page_content[:200])
print(docs[0].metadata)
```

<div id="agent-tools">
  ## Outils Agent
</div>

Chaque fonctionnalité est également un `BaseTool` que vous pouvez associer à un agent :

```python theme={null}
from langchain_firecrawl import (
    FirecrawlScrape,
    FirecrawlCrawl,
    FirecrawlMap,
    FirecrawlExtract,
    FirecrawlSearch,
)

scrape = FirecrawlScrape()
result = scrape.invoke({"url": "https://www.firecrawl.dev"})
print(result["markdown"])

search = FirecrawlSearch()
print(search.invoke({"query": "best web scraping libraries", "limit": 5}))
```

<div id="langchain-js">
  ## LangChain JS
</div>

Le chargeur JavaScript est inclus dans `@langchain/community` et requiert le SDK JavaScript de Firecrawl comme dépendance homologue :

```bash theme={null}
npm install @langchain/community @mendable/firecrawl-js
```

```typescript theme={null}
import { FireCrawlLoader } from "@langchain/community/document_loaders/web/firecrawl";

const loader = new FireCrawlLoader({
  url: "https://firecrawl.dev",
  apiKey: process.env.FIRECRAWL_API_KEY, // par défaut : FIRECRAWL_API_KEY
  mode: "scrape", // "scrape" pour une page unique, "crawl" pour les sous-pages
});

const docs = await loader.load();
```

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

* [`langchain-firecrawl` sur PyPI](https://pypi.org/project/langchain-firecrawl/)
* Documentation sur [Firecrawl scrape](/fr/features/scrape) et [crawl](/fr/features/crawl)
* [Firecrawl Python SDK](/fr/sdks/python) et [Node SDK](/fr/sdks/node)
