> ## 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

> Usa Firecrawl en LangChain como cargador de documentos o herramienta de agente.

<Note>
  **Paquete oficial:** [`langchain-firecrawl`](https://pypi.org/project/langchain-firecrawl/) · [código fuente](https://github.com/firecrawl/langchain-firecrawl)

  Realiza scraping, crawling, mapeo, extracción y búsquedas desde LangChain, como cargador de documentos o herramienta de agente.
</Note>

<div id="install">
  ## Instalación
</div>

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

Obtén una clave de [firecrawl.dev](https://www.firecrawl.dev/app/api-keys) y configúrala en tu entorno (o pasa `api_key=...`):

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

<div id="document-loader">
  ## Cargador de documentos
</div>

`FirecrawlLoader` devuelve objetos `Document` de LangChain. Selecciona un `mode`:

| Modo      | Qué carga                  |
| --------- | -------------------------- |
| `scrape`  | Una página                 |
| `crawl`   | Un sitio web completo      |
| `map`     | URL detectadas             |
| `extract` | Datos estructurados        |
| `search`  | Resultados de búsqueda 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">
  ## Herramientas de agente
</div>

Cada capacidad también es una `BaseTool` que puedes vincular a un agente:

```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>

El cargador de JavaScript está incluido en `@langchain/community` y requiere el SDK de Firecrawl para JS como dependencia entre pares:

```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, // por defecto usa FIRECRAWL_API_KEY
  mode: "scrape", // "scrape" para una sola página, "crawl" para subpáginas
});

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

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

* [`langchain-firecrawl` en PyPI](https://pypi.org/project/langchain-firecrawl/)
* Documentación de [scraping de Firecrawl](/es/features/scrape) y [crawl](/es/features/crawl)
* [SDK de Python de Firecrawl](/es/sdks/python) y [SDK de Node](/es/sdks/node)
