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

> Use o Firecrawl no LangChain como carregador de documentos ou como ferramenta de agente.

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

  Faça scraping, rastreamento, mapeamento, extração e buscas no LangChain, como carregador de documentos ou com ferramenta de agente
</Note>

<div id="install">
  ## Instalação
</div>

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

Obtenha uma chave em [firecrawl.dev](https://www.firecrawl.dev/app/api-keys) e configure-a no seu ambiente (ou passe `api_key=...`):

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

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

`FirecrawlLoader` retorna `Document`s do LangChain. Escolha um `mode`:

| Modo      | O que carrega              |
| --------- | -------------------------- |
| `scrape`  | Uma página                 |
| `crawl`   | Um site inteiro            |
| `map`     | URLs descobertas           |
| `extract` | Dados estruturados         |
| `search`  | Resultados da busca na 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">
  ## Ferramentas de agente
</div>

Cada recurso também é uma `BaseTool` que você pode associar a um 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>

O carregador JavaScript está disponível em `@langchain/community` e tem o SDK JS do Firecrawl como dependência de mesmo nível:

```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 padrão, usa FIRECRAWL_API_KEY
  mode: "scrape", // "scrape" para uma única página, "crawl" para subpáginas
});

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

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

* [`langchain-firecrawl` no PyPI](https://pypi.org/project/langchain-firecrawl/)
* Documentação de [scraping do Firecrawl](/pt-BR/features/scrape) e [rastreamento](/pt-BR/features/crawl)
* [SDK Python do Firecrawl](/pt-BR/sdks/python) e [SDK de Node](/pt-BR/sdks/node)
