# CrewAI

> Saiba como usar o Firecrawl com o CrewAI

<div id="using-firecrawl-with-crewai">
  ## Usando o Firecrawl com o CrewAI
</div>

O Firecrawl está integrado ao [CrewAI, o framework para orquestração de agentes de IA](https://www.crewai.com/). Esta página apresenta todas as ferramentas do Firecrawl adicionadas ao framework.

<div id="installing-firecrawl-tools-inside-of-crewai">
  ### Instalando as ferramentas do Firecrawl no CrewAI
</div>

* Obtenha uma chave de API no seu [painel do firecrawl.dev](https://firecrawl.dev) e defina-a nas variáveis de ambiente (`FIRECRAWL_API_KEY`).
* Instale o [SDK do Firecrawl](https://github.com/firecrawl/firecrawl) junto com o pacote `crewai[tools]`:

```
pip install firecrawl-py 'crewai[tools]'
```

<div id="tools">
  ## Ferramentas
</div>

<div id="firecrawlcrawlwebsitetool">
  ### Ferramenta FirecrawlCrawlWebsite
</div>

<div id="example">
  #### Exemplo
</div>

Use o FirecrawlScrapeFromWebsiteTool da seguinte forma para permitir que seu agente carregue sites:

```python
from crewai_tools import FirecrawlCrawlWebsiteTool

tool = FirecrawlCrawlWebsiteTool(url='firecrawl.dev')
```

<div id="arguments">
  #### Arguments
</div>

- `api_key`: Opcional. Especifica a chave de API do Firecrawl. O padrão é a variável de ambiente `FIRECRAWL_API_KEY`.
- `url`: A URL base a partir da qual o rastreamento será iniciado.
- `page_options`: Opcional.
  - `onlyMainContent`: Opcional. Retorna apenas o conteúdo principal da página, excluindo cabeçalhos, menus de navegação, rodapés etc.
  - `includeHtml`: Opcional. Inclui o conteúdo HTML bruto da página. Gerará uma chave `html` na resposta.
- `crawler_options`: Opcional. Opções para controlar o comportamento do rastreamento.
  - `includes`: Opcional. Padrões de URL a serem incluídos no rastreamento.
  - `exclude`: Opcional. Padrões de URL a serem excluídos do rastreamento.
  - `generateImgAltText`: Opcional. Gera texto alternativo para imagens usando LLMs (requer um plano pago).
  - `returnOnlyUrls`: Opcional. Se verdadeiro, retorna apenas as URLs como uma lista no status do rastreamento. Observação: a resposta será uma lista de URLs dentro de `data`, não uma lista de documentos.
  - `maxDepth`: Opcional. Profundidade máxima de rastreamento. Profundidade 1 é a URL base, profundidade 2 inclui a URL base e seus filhos diretos, e assim por diante.
  - `mode`: Opcional. O modo de rastreamento a ser usado. O modo Fast faz o rastreamento 4x mais rápido em sites sem sitemap, mas pode não ser tão preciso e não deve ser usado em sites fortemente renderizados com JavaScript.
  - `limit`: Opcional. Número máximo de páginas a serem rastreadas.
  - `timeout`: Opcional. Tempo limite em milissegundos para a operação de rastreamento.

<div id="firecrawlscrapewebsitetool">
  ### FirecrawlScrapeWebsiteTool
</div>

<div id="example-2">
  #### Exemplo
</div>

Use o FirecrawlScrapeWebsiteTool da seguinte forma para permitir que seu agente carregue sites:

```python
from crewai_tools import FirecrawlScrapeWebsiteTool

tool = FirecrawlScrapeWebsiteTool(url='firecrawl.dev')
```

<div id="arguments-2">
  #### Argumentos
</div>

- `api_key`: Opcional. Especifica a chave de API do Firecrawl. O padrão é a variável de ambiente `FIRECRAWL_API_KEY`.
- `url`: A URL a ser extraída (scraped).
- `page_options`: Opcional.
  - `onlyMainContent`: Opcional. Retorna apenas o conteúdo principal da página, excluindo headers, navs, footers etc.
  - `includeHtml`: Opcional. Inclui o HTML bruto da página. Gerará uma chave `html` na resposta.
- `extractor_options`: Opcional. Opções para extração, baseada em LLM, de informações estruturadas a partir do conteúdo da página.
  - `mode`: O modo de extração a ser usado, atualmente suporta `llm-extraction`.
  - `extractionPrompt`: Opcional. Um prompt descrevendo quais informações extrair da página.
  - `extractionSchema`: Opcional. O esquema dos dados a serem extraídos.
- `timeout`: Opcional. Tempo limite, em milissegundos, para a requisição.

<div id="firecrawlsearchtool">
  ### FirecrawlSearchTool
</div>

<div id="example-3">
  #### Exemplo
</div>

Use o FirecrawlSearchTool da seguinte maneira para permitir que seu agente carregue sites:

```python
from crewai_tools import FirecrawlSearchTool

tool = FirecrawlSearchTool(query='o que é o Firecrawl?')
```

<div id="arguments-3">
  #### Argumentos
</div>

- `api_key`: Opcional. Especifica a chave da API do Firecrawl. O padrão é a variável de ambiente `FIRECRAWL_API_KEY`.
- `query`: String de consulta de pesquisa a ser usada na busca.
- `page_options`: Opcional. Opções para formatação do resultado.
  - `onlyMainContent`: Opcional. Retorna apenas o conteúdo principal da página, excluindo cabeçalhos, menus de navegação, rodapés etc.
  - `includeHtml`: Opcional. Inclui o conteúdo HTML bruto da página. Retornará uma chave `html` na resposta.
  - `fetchPageContent`: Opcional. Busca o conteúdo completo da página.
- `search_options`: Opcional. Opções para controlar o comportamento do crawling.
  - `limit`: Opcional. Número máximo de páginas a serem rastreadas.
