# Índice de investigación

> Busca artículos, lee pasajes de artículos y encuentra trabajos relacionados

Firecrawl Research es un índice diseñado específicamente para agentes de investigación científica y de ingeniería. Ofrece un conjunto de herramientas orientado a la investigación para buscar artículos, inspeccionar sus metadatos, leer pasajes relevantes del texto completo y descubrir artículos relacionados mediante expansión estructural.

El índice cubre aproximadamente 43 millones de resúmenes de artículos. La mayor parte del corpus corresponde a biomedicina y ciencias de la vida — **PubMed**, **bioRxiv** y **medRxiv** — junto con **arXiv** para física, matemáticas e informática. Se puede acceder a los artículos mediante sus IDs de origen, por lo que las referencias `pmid:`, `pmcid:` y `doi:` funcionan igual que las de `arxiv:`.

* Encuentra artículos por tema, método, benchmark, autor o categoría
* Inspecciona metadatos canónicos de los artículos e IDs de origen
* Lee los pasajes de un artículo que responden a una pregunta específica
* Amplía a partir de artículos semilla sólidos hacia artículos relacionados, citas o referencias

<Note>
  Para darle a tu agente acceso al Índice de investigación, te recomendamos encarecidamente utilizar nuestro [CLI](/es/sdks/cli) o [MCP](/es/mcp-server), junto con nuestra [**skill de investigación dedicada**](https://github.com/firecrawl/skills/blob/main/skills/firecrawl-research-index/SKILL.md), que puedes instalar con:

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

<div id="how-this-relates-to-search">
  ## Relación con `/search`
</div>

Firecrawl tiene dos funciones llamadas &quot;research&quot;, y no son la misma:

|                                        | Índice de investigación (esta página)                                                                                                             | `/search` con `categories: ["research"]`                                                                     |
| :------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Qué busca                              | Un índice de ~43 M de resúmenes de artículos — PubMed, bioRxiv, medRxiv, arXiv                                                           | La web abierta, limitada a ~14 **sitios web** académicos (arxiv.org, nature.com, pubmed.ncbi.nlm.nih.gov, …) |
| Qué devuelve                           | Registros de artículos ordenados por relevancia: `paperId` y `primaryId` canónicos, IDs de origen, título, resumen completo y puntuación | Resultados web habituales: URL, título y fragmento                                                           |
| Puede leer el contenido de un artículo | Sí — lecturas a nivel de pasaje mediante `GET /search/research/papers/{id}`                                                              | No                                                                                                           |
| Puede ampliarse mediante citas         | Sí — `GET /search/research/papers/{id}/similar`                                                                                          | No                                                                                                           |
| Endpoint                               | `GET /search/research/papers`                                                                                                            | `POST /search`                                                                                               |

Use Índice de investigación para trabajar con bibliografía: buscar artículos, leerlos y seguir sus citas. Use [`categories: ["research"]`](/es/features/search#search-categories) cuando quiera páginas web habituales alojadas en dominios académicos.

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

| Tarea                              | Endpoint                                                                                      |
| ---------------------------------- | --------------------------------------------------------------------------------------------- |
| Buscar artículos                   | [`GET /search/research/papers`](/es/api-reference/endpoint/research-search-papers)               |
| Inspeccionar metadatos o leer pasajes | [`GET /search/research/papers/{id}`](/es/api-reference/endpoint/research-paper)                  |
| Buscar artículos relacionados      | [`GET /search/research/papers/{id}/similar`](/es/api-reference/endpoint/research-related-papers) |

<div id="search-papers">
  ## Buscar artículos
</div>

Busca resúmenes de artículos con una consulta en lenguaje natural. La respuesta incluye artículos ordenados por relevancia con `paperId` canónico, `primaryId` preferido, IDs de origen, título, resumen, puntuación y señales de ranking opcionales.

<CodeGroup>
  ```bash cURL
  # No se necesita una clave de API para empezar; agrega -H "Authorization: Bearer $FIRECRAWL_API_KEY" para límites de tasa más altos:
  curl -s "https://api.firecrawl.dev/v2/search/research/papers?query=diffusion%20image%20synthesis&k=20"
  ```

  ```bash CLI
  firecrawl research search-papers "diffusion image synthesis" --limit 20
  ```

  ```python Python
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(
    # No se necesita una clave de API para empezar; agrega una para límites de tasa más altos:
    # api_key="fc-YOUR-API-KEY",
  )

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

  ```js Node
  import { Firecrawl } from "firecrawl";

  const firecrawl = new Firecrawl({
    // No se necesita una clave de API para empezar; agrega una para límites de tasa más altos:
    // apiKey: "fc-YOUR-API-KEY",
  });

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

Filtros opcionales:

* `authors`: filtro por coincidencia parcial del autor; todos los filtros deben cumplirse
* `categories`: filtro por categoría del artículo, como `cs.LG`
* `from`: límite inferior inclusivo de creación/actualización, `YYYY-MM-DD`
* `to`: límite superior inclusivo de creación/actualización, `YYYY-MM-DD`

<div id="biomedical-example">
  ### Ejemplo biomédico
</div>

La mayor parte del índice está dedicada a las ciencias de la vida, por lo que las consultas clínicas y de biología molecular funcionan de la misma manera:

<CodeGroup>
  ```bash cURL
  # No necesitas una clave de API para empezar; añade -H "Authorization: Bearer $FIRECRAWL_API_KEY" para obtener límites de tasa más altos:
  curl -s "https://api.firecrawl.dev/v2/search/research/papers?query=CRISPR%20base%20editing%20off-target%20effects%20in%20primary%20human%20T%20cells&k=20"
  ```

  ```bash CLI
  firecrawl research search-papers "CRISPR base editing off-target effects in primary human T cells" --limit 20
  ```

  ```python Python
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(
    # No necesitas una clave de API para empezar; añade una para obtener límites de tasa más altos:
    # api_key="fc-YOUR-API-KEY",
  )

  result = firecrawl.v2.search_papers(
    "CRISPR base editing off-target effects in primary human T cells",
    k=20,
  )
  print(result)
  ```

  ```js Node
  import { Firecrawl } from "firecrawl";

  const firecrawl = new Firecrawl({
    // No necesitas una clave de API para empezar; añade una para obtener límites de tasa más altos:
    // apiKey: "fc-YOUR-API-KEY",
  });

  const result = await firecrawl.research.searchPapers(
    "CRISPR base editing off-target effects in primary human T cells",
    { k: 20 },
  );
  console.log(result);
  ```
</CodeGroup>

Los resultados incluyen un `primaryId` en el espacio de nombres que use la fuente, por lo que los resultados biomédicos se devuelven como `pmid:<id>`, `pmcid:<id>` o `doi:<doi>`. Pasa ese valor directamente a los endpoints de inspección, lectura y relacionados que se muestran a continuación.

<div id="inspect-a-paper">
  ## Inspeccionar un artículo científico
</div>

Usa un `paperId` canónico o un `primaryId` específico de la fuente. Los formatos aceptados para `primaryId` son `arxiv:<id>`, `pmid:<id>`, `pmcid:<id>` y `doi:<doi>`; por ejemplo, `curl -s ".../v2/search/research/papers/pmid:<id>"` para un registro de PubMed.

<CodeGroup>
  ```bash cURL
  # No se necesita una clave de API para empezar; agrega -H "Authorization: Bearer $FIRECRAWL_API_KEY" para obtener límites de tasa superiores:
  curl -s "https://api.firecrawl.dev/v2/search/research/papers/arxiv:1706.03762"
  ```

  ```bash CLI
  firecrawl research inspect-paper arxiv:1706.03762
  ```

  ```python Python
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(
    # No se necesita una clave de API para empezar; agrega una para obtener límites de tasa superiores:
    # api_key="fc-YOUR-API-KEY",
  )

  paper = firecrawl.v2.inspect_paper("arxiv:1706.03762")
  print(paper)
  ```

  ```js Node
  import { Firecrawl } from "firecrawl";

  const firecrawl = new Firecrawl({
    // No se necesita una clave de API para empezar; agrega una para obtener límites de tasa superiores:
    // apiKey: "fc-YOUR-API-KEY",
  });

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

<div id="read-paper-passages">
  ## Leer pasajes del artículo
</div>

Agrega `query` a la misma ruta del artículo para recuperar los pasajes más relevantes del texto completo para una pregunta. Esto es útil para verificar si un artículo candidato realmente contiene un método, un conjunto de datos, una restricción o un resultado antes de incluirlo.

<CodeGroup>
  ```bash cURL
  # No se necesita una clave de API para empezar; agrega -H "Authorization: Bearer $FIRECRAWL_API_KEY" para límites de tasa más altos:
  curl -s "https://api.firecrawl.dev/v2/search/research/papers/arxiv:1706.03762?query=what%20is%20the%20attention%20mechanism&k=4"
  ```

  ```bash CLI
  firecrawl research read-paper arxiv:1706.03762 --question "What is the attention mechanism?" --limit 4
  ```

  ```python Python
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(
    # No se necesita una clave de API para empezar; agrega una para límites de tasa más altos:
    # api_key="fc-YOUR-API-KEY",
  )

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

  ```js Node
  import { Firecrawl } from "firecrawl";

  const firecrawl = new Firecrawl({
    // No se necesita una clave de API para empezar; agrega una para límites de tasa más 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);
  ```
</CodeGroup>

<div id="find-related-papers">
  ## Encontrar artículos relacionados
</div>

Parte de uno o más artículos semilla mediante expansión semántica y clasifica los candidatos según una `intent` expresada en lenguaje natural.

<CodeGroup>
  ```bash cURL
  # No se necesita una clave de API para empezar; agrega -H "Authorization: Bearer $FIRECRAWL_API_KEY" para obtener límites de tasa más altos:
  curl -s "https://api.firecrawl.dev/v2/search/research/papers/arxiv:1706.03762/similar?intent=efficient%20transformers&mode=similar&k=20"
  ```

  ```bash CLI
  firecrawl research related-papers arxiv:1706.03762 --intent "efficient transformers" --limit 20
  ```

  ```python Python
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(
    # No se necesita una clave de API para empezar; agrega una para obtener límites de tasa más altos:
    # api_key="fc-YOUR-API-KEY",
  )

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

  ```js Node
  import { Firecrawl } from "firecrawl";

  const firecrawl = new Firecrawl({
    // No se necesita una clave de API para empezar; agrega una para obtener límites de tasa más 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);
  ```
</CodeGroup>

Modos:

* `similar`: vecindario de cocitación y acoplamiento bibliográfico
* `citers`: artículos que citan el artículo semilla
* `references`: artículos citados por el artículo semilla
