# Índice de research (/pt-BR/features/research)

<!-- agent-signals: reading_time_min: 6 · est_tokens: 3415 · updated: 2026-07-30 -->
Related: [Busca](/pt-BR/features/search.md), [Destaques da Busca](/pt-BR/features/search-highlights.md), [Scraping](/pt-BR/features/scrape.md), [Raspagem mais rápida](/pt-BR/features/fast-scraping.md), [Raspagem em lote](/pt-BR/features/batch-scrape.md), [Modo JSON - Resultado Estruturado](/pt-BR/features/llm-extract.md)

Firecrawl Research é um índice criado especificamente para agentes de research científica e de engenharia. Ele disponibiliza um conjunto de ferramentas voltado à research para buscar artigos, inspecionar metadados de artigos, ler trechos relevantes do texto completo, descobrir artigos relacionados por meio de expansão estrutural e buscar em repositórios do GitHub relacionados à research.

* Encontre artigos por tópico, método, benchmark, autor ou categoria
* Inspecione metadados canônicos de artigos e IDs de origem
* Leia os trechos de um artigo que respondem a uma pergunta específica
* Expanda a partir de artigos-semente sólidos para artigos relacionados, artigos citantes ou referências
* Busque no histórico e nos READMEs do GitHub notas de implementação, bugs e discussões de design

<Note>
  Para dar ao seu agente acesso ao Índice de research, recomendamos fortemente usar nossa [CLI](/pt-BR/sdks/cli) ou [MCP](/pt-BR/mcp-server), em conjunto com nossa [**skill de research dedicada**](https://github.com/firecrawl/skills/blob/main/skills/firecrawl-research-index/SKILL.md), que você pode instalar com:

  ```bash
  npx skills add firecrawl/skills@firecrawl-research-index
  ```
</Note>

<div id="endpoints">
  ## Endpoints [#endpoints]
</div>

| Tarefa                               | Endpoint                                                                                            |
| ------------------------------------ | --------------------------------------------------------------------------------------------------- |
| Buscar artigos                       | [`GET /search/research/papers`](/pt-BR/api-reference/endpoint/research-search-papers)               |
| Inspecionar metadados ou ler trechos | [`GET /search/research/papers/{id}`](/pt-BR/api-reference/endpoint/research-paper)                  |
| Encontrar artigos relacionados       | [`GET /search/research/papers/{id}/similar`](/pt-BR/api-reference/endpoint/research-related-papers) |
| Buscar no histórico do GitHub        | [`GET /search/research/github`](/pt-BR/api-reference/endpoint/research-github-search)               |

<div id="search-papers">
  ## Buscar artigos [#buscar-artigos]
</div>

Pesquise resumos de artigos com uma consulta em linguagem natural. A resposta retorna artigos ranqueados com `paperId` canônico, `primaryId` preferencial, IDs de origem, título, resumo, pontuação e sinais opcionais de ranqueamento.

<CodeGroup>
  <CodeBlockTabs defaultValue="cURL" groupId="cli+curl+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="CLI">
        CLI
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="cURL">
      ```bash  
      # Nenhuma chave de API é necessária para começar; adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa mais altos:
      curl -s "https://api.firecrawl.dev/v2/search/research/papers?query=diffusion%20image%20synthesis&k=20"
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      firecrawl research search-papers "diffusion image synthesis" --limit 20
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Python">
      ```python  
      from firecrawl import Firecrawl

      firecrawl = Firecrawl(
        # Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        # api_key="fc-YOUR-API-KEY",
      )

      result = firecrawl.v2.search_papers("diffusion image synthesis", k=20)
      print(result)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      import { Firecrawl } from "firecrawl";

      const firecrawl = new Firecrawl({
        // Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        // apiKey: "fc-YOUR-API-KEY",
      });

      const result = await firecrawl.research.searchPapers("diffusion image synthesis", {
        k: 20,
      });
      console.log(result);
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

Filtros opcionais:

* `authors`: filtro por parte do nome do autor; todos os filtros devem corresponder
* `categories`: filtro por categoria do artigo, como `cs.LG`
* `from`: limite inferior inclusivo de criação/atualização, `YYYY-MM-DD`
* `to`: limite superior inclusivo de criação/atualização, `YYYY-MM-DD`

<div id="inspect-a-paper">
  ## Inspecionar um artigo [#inspecionar-um-artigo]
</div>

Use um `paperId` canônico ou um `primaryId` específico da fonte.

<CodeGroup>
  <CodeBlockTabs defaultValue="cURL" groupId="cli+curl+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="CLI">
        CLI
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="cURL">
      ```bash  
      # Não é necessária uma chave de API para começar; adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa maiores:
      curl -s "https://api.firecrawl.dev/v2/search/research/papers/arxiv:1706.03762"
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      firecrawl research inspect-paper arxiv:1706.03762
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Python">
      ```python  
      from firecrawl import Firecrawl

      firecrawl = Firecrawl(
        # Não é necessária uma chave de API para começar; adicione uma para limites de taxa maiores:
        # api_key="fc-YOUR-API-KEY",
      )

      paper = firecrawl.v2.inspect_paper("arxiv:1706.03762")
      print(paper)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      import { Firecrawl } from "firecrawl";

      const firecrawl = new Firecrawl({
        // Não é necessária uma chave de API para começar; adicione uma para limites de taxa maiores:
        // apiKey: "fc-YOUR-API-KEY",
      });

      const paper = await firecrawl.research.getPaper("arxiv:1706.03762");
      console.log(paper);
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

<div id="read-paper-passages">
  ## Ler trechos de artigos [#ler-trechos-de-artigos]
</div>

Adicione `query` ao mesmo caminho do artigo para obter os principais trechos do texto completo para uma pergunta. Isso é útil para verificar se um artigo em potencial realmente contém um método, conjunto de dados, restrição ou resultado antes de incluí-lo.

<CodeGroup>
  <CodeBlockTabs defaultValue="cURL" groupId="cli+curl+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="CLI">
        CLI
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="cURL">
      ```bash  
      # Nenhuma chave de API é necessária para começar; adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa mais altos:
      curl -s "https://api.firecrawl.dev/v2/search/research/papers/arxiv:1706.03762?query=what%20is%20the%20attention%20mechanism&k=4"
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      firecrawl research read-paper arxiv:1706.03762 --question "What is the attention mechanism?" --limit 4
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Python">
      ```python  
      from firecrawl import Firecrawl

      firecrawl = Firecrawl(
        # Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        # api_key="fc-YOUR-API-KEY",
      )

      passages = firecrawl.v2.read_paper(
          "arxiv:1706.03762",
          "What is the attention mechanism?",
          k=4,
      )
      print(passages)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      import { Firecrawl } from "firecrawl";

      const firecrawl = new Firecrawl({
        // Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        // apiKey: "fc-YOUR-API-KEY",
      });

      const passages = await firecrawl.research.getPaper("arxiv:1706.03762", {
        query: "What is the attention mechanism?",
        k: 4,
      });
      console.log(passages);
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

<div id="find-related-papers">
  ## Encontre artigos relacionados [#encontre-artigos-relacionados]
</div>

Expanda a partir de um ou mais artigos-semente por meio de expansão semântica e classifique os candidatos com base em uma `intent` em linguagem natural.

<CodeGroup>
  <CodeBlockTabs defaultValue="cURL" groupId="cli+curl+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="CLI">
        CLI
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="cURL">
      ```bash  
      # Nenhuma chave de API é necessária para começar; adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa mais altos:
      curl -s "https://api.firecrawl.dev/v2/search/research/papers/arxiv:1706.03762/similar?intent=efficient%20transformers&mode=similar&k=20"
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      firecrawl research related-papers arxiv:1706.03762 --intent "efficient transformers" --limit 20
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Python">
      ```python  
      from firecrawl import Firecrawl

      firecrawl = Firecrawl(
        # Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        # api_key="fc-YOUR-API-KEY",
      )

      papers = firecrawl.v2.related_papers(
          "arxiv:1706.03762",
          "efficient transformers",
          mode="similar",
          k=20,
      )
      print(papers)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      import { Firecrawl } from "firecrawl";

      const firecrawl = new Firecrawl({
        // Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        // apiKey: "fc-YOUR-API-KEY",
      });

      const papers = await firecrawl.research.similarPapers("arxiv:1706.03762", {
        intent: "efficient transformers",
        mode: "similar",
        k: 20,
      });
      console.log(papers);
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

Modos:

* `similar`: vizinhança de cocitação e acoplamento bibliográfico
* `citers`: artigos que citam o artigo-semente
* `references`: artigos citados pelo artigo-semente

<div id="search-github-history">
  ## Buscar no histórico do GitHub [#buscar-no-histórico-do-github]
</div>

Busque em issues, pull requests, discussões e READMEs de repositórios no GitHub detalhes de implementação e soluções de engenharia já existentes.

<CodeGroup>
  <CodeBlockTabs defaultValue="cURL" groupId="cli+curl+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="CLI">
        CLI
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="cURL">
      ```bash  
      # Nenhuma chave de API é necessária para começar; adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa mais altos:
      curl -s "https://api.firecrawl.dev/v2/search/research/github?query=flash%20attention%20implementation%20notes&k=10"
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      firecrawl research search-github "flash attention implementation notes" --limit 10
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Python">
      ```python  
      from firecrawl import Firecrawl

      firecrawl = Firecrawl(
        # Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        # api_key="fc-YOUR-API-KEY",
      )

      results = firecrawl.v2.search_github("flash attention implementation notes", k=10)
      print(results)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      import { Firecrawl } from "firecrawl";

      const firecrawl = new Firecrawl({
        // Nenhuma chave de API é necessária para começar; adicione uma para limites de taxa mais altos:
        // apiKey: "fc-YOUR-API-KEY",
      });

      const results = await firecrawl.research.searchGithub(
        "flash attention implementation notes",
        { k: 10 },
      );
      console.log(results);
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

Os resultados do GitHub incluem repositório, URL, metadados de issue/PR quando disponíveis, trecho e conteúdo em markdown correspondente quando disponível.
