> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-locadex-parallel-t9n-main-ydzk9zxoc20klj1uk5u1gd5b.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Alexandria

> La biblioteca de conocimiento para la superinteligencia

<AlexandriaJourney />

Alexandria ofrece a los agentes acceso a datos estructurados a través de Firecrawl. Descubre una herramienta, inspecciona sus entradas y ejecútala. El descubrimiento es gratuito; la ejecución consume los créditos indicados en cada herramienta.

[Explorar proveedores](https://www.firecrawl.dev/app/alexandria) · [Gestionar términos del proveedor](https://www.firecrawl.dev/app/settings?tab=data-sources)

<h2 id="built-for-agents">
  Creado para agentes
</h2>

Instala la [CLI](/es/sdks/cli) o conecta el [MCP server](/es/mcp-server).

<Tabs>
  <Tab title="Firecrawl CLI">
    ```bash theme={null}
    # Encuentra herramientas junto con resultados web.
    firecrawl search "podcast conversations about AI agents" --sources web,alexandria --domain-tools --limit 2

    # Inspecciona entradas y precios.
    firecrawl find-tools --providers particle --level tools --expand options,response

    # Ejecuta la herramienta.
    firecrawl scrape particle/podcasts/episodes/search --options '{"keyword_search":"AI agents","limit":2}'
    ```

    Instálala con `npm install -g firecrawl-cli` e inicia sesión con `firecrawl login`.
  </Tab>

  <Tab title="MCP">
    Pídele a tu agente: «Encuentra las herramientas de podcast de Particle, inspecciona las entradas y los precios de la búsqueda de episodios y luego busca conversaciones sobre agentes de IA».

    El agente usa `firecrawl_search` para descubrir herramientas, `firecrawl_find_tools` para inspeccionarlas y `firecrawl_scrape` para ejecutarlas.
  </Tab>
</Tabs>

<h2 id="use-it-from-the-sdks-and-api">
  Úsalo desde los SDKs y la API
</h2>

<Steps>
  <Step title="Encuentra la herramienta adecuada">
    Describe lo que necesitas. Alexandria devuelve herramientas relevantes junto con tus resultados web.

    <CodeGroup>
      ```javascript JavaScript theme={null}
      const result = await firecrawl.search(
        "podcast conversations about AI agents",
        {
          sources: ["web", "alexandria"],
          limit: 2,
        },
      );
      ```

      ```python Python theme={null}
      result = firecrawl.search(
          "podcast conversations about AI agents",
          sources=["web", "alexandria"],
          limit=2,
      )
      ```

      ```bash cURL theme={null}
      curl https://api.firecrawl.dev/v2/search \
        -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
        "query": "podcast conversations about AI agents",
        "sources": [
          "web",
          "alexandria"
        ],
        "limit": 2
      }'
      ```
    </CodeGroup>

    Los resultados contienen páginas `web` y `tools` ordenadas por relevancia. Cada herramienta incluye su provider, capability, entradas, contrato de respuesta y precio.
  </Step>

  <Step title="Comprueba qué necesita">
    Revisa las `options`, la `response` y el precio de ejecución de la herramienta seleccionada antes de llamarla. Consulta [Find Tools](#find-tools) para más detalles.
  </Step>

  <Step title="Obtén los datos">
    Usa `scrape` para llamar a la herramienta con las entradas de su contrato. Indica el provider y la capability dentro de `alexandria`; no hace falta ninguna URL de página.

    <CodeGroup>
      ```javascript JavaScript theme={null}
      const episodes = await firecrawl.scrape({
        alexandria: {
          provider: "particle",
          capability: "podcasts/episodes/search",
          options: {
            semantic_search: "AI agents",
            limit: 2,
          },
        },
      });

      console.log(episodes.alexandria[0].data);
      ```

      ```python Python theme={null}
      episodes = firecrawl.scrape(
          alexandria={
              "provider": "particle",
              "capability": "podcasts/episodes/search",
              "options": {
                  "semantic_search": "AI agents",
                  "limit": 2,
              },
          },
      )

      print(episodes.alexandria[0].data)
      ```

      ```bash cURL theme={null}
      REQUEST_ID="$(uuidgen)"

      curl https://api.firecrawl.dev/v2/scrape \
        -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
        -H "Content-Type: application/json" \
        -H "x-request-id: $REQUEST_ID" \
        -d '{
        "alexandria": {
          "provider": "particle",
          "capability": "podcasts/episodes/search",
          "options": {
            "semantic_search": "AI agents",
            "limit": 2
          }
        }
      }'
      ```
    </CodeGroup>

    Lee el resultado en `episodes.alexandria[0].data`. Comprueba si hay errores en el resultado de cada herramienta antes de usar sus datos. Las respuestas HTTP sin procesar encapsulan el resultado del SDK en `data`.
  </Step>
</Steps>

<h2 id="find-tools">
  Find Tools
</h2>

Usa `findTools` / `find_tools` para explorar providers e inspeccionar sus herramientas de forma gratuita. Sigue la solicitud `next` de un elemento para obtener más detalles; el `next` de nivel superior pagina el catálogo.

<CodeGroup>
  ```javascript JavaScript theme={null}
  const catalogue = await firecrawl.findTools({
    providers: ["particle"],
    limit: 2,
  });

  // Cada solicitud next revela otra parte del catálogo.
  const next = catalogue.items[0]?.next;
  if (next) {
    const details = await firecrawl.scrape({ alexandria: next });
    console.log(details.alexandria[0].data);
  }
  ```

  ```python Python theme={null}
  catalogue = firecrawl.find_tools(providers=["particle"], limit=2)

  if catalogue.items and catalogue.items[0].get("next"):
      details = firecrawl.scrape(alexandria=catalogue.items[0]["next"])
      print(details.alexandria[0].data)
  ```
</CodeGroup>

<h2 id="pricing-and-access">
  Precios y acceso
</h2>

* **Descubrimiento de herramientas:** gratis. Usa `sources: ["alexandria"]` solo para herramientas, o `["web", "alexandria"]` para incluir resultados web de pago.
* **Ejecución:** se cobra al precio indicado de la herramienta.
* **Términos del provider:** un error `THIRD_PARTY_DATA_TERMS_REQUIRED` incluye `requiresAction.url`. Un administrador de la organización debe revisar y aceptar allí los términos. Los agentes necesitan autorización explícita del usuario antes de aceptar los términos. Las ejecuciones de [Agent](/es/features/agent#data-providers-that-need-terms) omiten los providers cuyos términos tu equipo no ha aceptado y los indican en `exchange.skippedProviders`.

<AccordionGroup>
  <Accordion title="Encontrar herramientas para un sitio web">
    Añade `domainTools: true` a un search o a un scrape de URL normal para incluir las herramientas que coincidan con el sitio web. La coincidencia es gratuita; la búsqueda web o el scrape de la página se facturan con normalidad. Los resultados incluyen `matchedBy` y `matchedUrls`.

    Search habilita la coincidencia por domain de forma predeterminada cuando `sources` incluye `alexandria`; establece `domainTools: false` para deshabilitarla. En los scrapes de URL, la coincidencia por domain está desactivada de forma predeterminada.
  </Accordion>
</AccordionGroup>

<h2 id="feedback">
  Feedback
</h2>

Informa de issues o solicita capabilities con `firecrawl alexandria feedback`. Ejecuta `firecrawl alexandria feedback --help` para ver las options.
