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

> A biblioteca de conhecimento para a superinteligência

<AlexandriaJourney />

O Alexandria dá aos agentes acesso a structured data por meio do Firecrawl. Descubra uma ferramenta, inspecione suas entradas e execute-a. A descoberta é gratuita; a execução consome os créditos indicados na ferramenta.

[Explorar providers](https://www.firecrawl.dev/app/alexandria) · [Gerenciar termos do provider](https://www.firecrawl.dev/app/settings?tab=data-sources)

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

Instale a [CLI](/pt-BR/sdks/cli) ou conecte o [servidor MCP](/pt-BR/mcp-server).

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

    # Inspecione entradas e preços.
    firecrawl find-tools --providers particle --level tools --expand options,response

    # Execute a ferramenta.
    firecrawl scrape particle/podcasts/episodes/search --options '{"keyword_search":"AI agents","limit":2}'
    ```

    Instale com `npm install -g firecrawl-cli` e faça login com `firecrawl login`.
  </Tab>

  <Tab title="MCP">
    Peça ao seu agente: "Encontre as ferramentas de podcast da Particle, inspecione as entradas e os preços da busca de episódios e depois encontre conversas sobre agentes de IA."

    O agente usa `firecrawl_search` para descobrir ferramentas, `firecrawl_find_tools` para inspecioná-las e `firecrawl_scrape` para executá-las.
  </Tab>
</Tabs>

<h2 id="use-it-from-the-sdks-and-api">
  Use a partir dos SDKs e da API
</h2>

<Steps>
  <Step title="Encontre a ferramenta certa">
    Descreva o que você precisa. O Alexandria retorna ferramentas relevantes junto com os resultados da 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>

    Os resultados contêm páginas `web` e `tools` ranqueadas. Cada ferramenta inclui seu provider, capability, entradas, contrato de response e preço.
  </Step>

  <Step title="Verifique o que ela exige">
    Leia as `options`, a `response` e o preço de execução da ferramenta escolhida antes de chamá-la. Consulte [Find Tools](#find-tools) para mais detalhes.
  </Step>

  <Step title="Obtenha os dados">
    Use `scrape` para chamar a ferramenta com as entradas definidas em seu contrato. Informe o provider e a capability em `alexandria`; nenhuma URL de página é necessária.

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

    Leia o resultado em `episodes.alexandria[0].data`. Verifique se há erros em cada resultado de ferramenta antes de usar seus dados. Respostas HTTP brutas encapsulam o resultado do SDK em `data`.
  </Step>
</Steps>

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

Use `findTools` / `find_tools` para explorar os providers e inspecionar suas ferramentas gratuitamente. Siga a request `next` de um item para obter mais detalhes; o `next` de nível superior pagina o catálogo.

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

  // Cada request next revela outra parte do 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">
  Preços e acesso
</h2>

* **Descoberta de ferramentas:** gratuita. Use `sources: ["alexandria"]` para obter apenas ferramentas, ou `["web", "alexandria"]` para incluir resultados da web pagos.
* **Execução:** cobrada pelo preço listado da ferramenta.
* **Termos do provider:** um erro `THIRD_PARTY_DATA_TERMS_REQUIRED` inclui `requiresAction.url`. Um administrador da organização deve revisar e aceitar os termos nesse endereço. Agentes precisam de autorização explícita do usuário antes de aceitar os termos. Execuções do [Agent](/pt-BR/features/agent#data-providers-that-need-terms) ignoram providers cujos termos sua equipe ainda não aceitou e os listam em `exchange.skippedProviders`.

<AccordionGroup>
  <Accordion title="Encontrar ferramentas para um site">
    Adicione `domainTools: true` a uma busca ou a um scraping comum de URL para incluir as ferramentas correspondentes ao site. A correspondência é gratuita; a busca na web ou o scraping da página são cobrados normalmente. Os resultados incluem `matchedBy` e `matchedUrls`.

    A busca ativa a correspondência por domínio por padrão quando `sources` inclui `alexandria`; defina `domainTools: false` para desativá-la. Em scrapings de URL, a correspondência por domínio vem desativada por padrão.
  </Accordion>
</AccordionGroup>

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

Relate issues ou solicite capabilities com `firecrawl alexandria feedback`. Execute `firecrawl alexandria feedback --help` para ver as opções.
