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

# LlamaIndex

> Firecrawl se integra con LlamaIndex como lector de documentos.

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

```bash theme={null}
pip install firecrawl-py llama-index llama-index-readers-web
```

<div id="usage">
  ## Uso
</div>

`FireCrawlWebReader` admite tres modos: `scrape` para una página individual, `crawl` para un sitio y `extract` para extraer datos estructurados.

<div id="using-firecrawl-to-gather-an-entire-website">
  ### Usar Firecrawl para recopilar todo un sitio web
</div>

```python theme={null}
from llama_index.readers.web import FireCrawlWebReader
from llama_index.core import SummaryIndex
import os


# Inicializa FireCrawlWebReader para rastrear un sitio web
firecrawl_reader = FireCrawlWebReader(
    api_key="<your_api_key>",  # Sustituye por tu clave de API real de https://www.firecrawl.dev/
    mode="crawl",  # "scrape", "crawl" o "extract"
    params={"additional": "parameters"}  # Parámetros adicionales opcionales
)

# Establece la variable de entorno para la clave de OpenAI
os.environ["OPENAI_API_KEY"] = "<OPENAI_API_KEY>"

# Carga documentos desde una URL de una sola página
documents = firecrawl_reader.load_data(url="http://paulgraham.com/")
index = SummaryIndex.from_documents(documents)

# Configura el nivel de registro en DEBUG para obtener salidas más detalladas
query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
display(Markdown(f"<b>{response}</b>"))
```

<div id="using-firecrawl-to-gather-a-single-page">
  ### Usar Firecrawl para recopilar una sola página
</div>

```python theme={null}
from llama_index.readers.web import FireCrawlWebReader

# Inicializa FireCrawlWebReader con tu clave de API y el modo deseado
firecrawl_reader = FireCrawlWebReader(
    api_key="<your_api_key>",  # Reemplaza con tu clave de API real de https://www.firecrawl.dev/
    mode="scrape",  # "scrape", "crawl" o "extract"
    params={"additional": "parameters"}  # Parámetros adicionales opcionales
)

# Carga documentos desde una URL específica
documents = firecrawl_reader.load_data(url="http://paulgraham.com/worked.html")
index = SummaryIndex.from_documents(documents)

# Configura el registro en DEBUG para obtener salidas más detalladas
query_engine = index.as_query_engine()
response = query_engine.query("What did the author do growing up?")
display(Markdown(f"<b>{response}</b>"))
```
