# Highlights de búsqueda (/es/features/search-highlights)

<!-- agent-signals: reading_time_min: 3 · est_tokens: 1664 · updated: 2026-07-30 -->
Related: [Búsqueda](/es/features/search.md), [Índice de investigación](/es/features/research.md), [scraping](/es/features/scrape.md), [Scraping más rápido](/es/features/fast-scraping.md), [Raspado en lote](/es/features/batch-scrape.md), [Modo JSON - Resultado estructurado](/es/features/llm-extract.md)

Los Search Highlights reemplazan la descripción simple del sitio web de cada resultado por pasajes de la página relevantes para tu consulta. Están habilitados de forma predeterminada en `/v2/search`; no se requiere ningún parámetro, formato de salida ni `scrapeOptions` adicional.

Los highlights conservan la URL, el título, la posición y la clasificación del resultado de búsqueda. En los resultados web, el texto resaltado se devuelve en `description`; en los resultados de noticias, se devuelve en `snippet`.

<Note>
  Si Firecrawl no puede generar un highlight para un resultado, se conserva la descripción simple o el snippet del sitio web. Que una página no esté disponible no impedirá que se devuelvan los demás resultados de búsqueda.
</Note>

<div id="highlights-are-enabled-by-default">
  ## Highlights están activados de forma predeterminada [#highlights-están-activados-de-forma-predeterminada]
</div>

Usa Search con normalidad y Firecrawl devolverá highlights cuando haya contenido relevante disponible en la página.

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

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

      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

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

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

      firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

      results = firecrawl.search(
          query="how does firecrawl handle javascript rendering",
          limit=5,
      )

      for result in results.web or []:
          print(result.description)
      ```
    </CodeBlockTab>

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

      const firecrawl = new Firecrawl({ apiKey: 'fc-YOUR-API-KEY' });

      const results = await firecrawl.search(
        'how does firecrawl handle javascript rendering',
        {
          limit: 5,
        }
      );

      for (const result of results.web ?? []) {
        console.log(result.description);
      }
      ```
    </CodeBlockTab>

    <CodeBlockTab value="cURL">
      ```bash  
      curl -X POST https://api.firecrawl.dev/v2/search \
        -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "query": "how does firecrawl handle javascript rendering",
          "limit": 5
        }'
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      firecrawl search "how does firecrawl handle javascript rendering" \
        --limit 5
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

<div id="mcp">
  ### MCP [#mcp]
</div>

La herramienta MCP `firecrawl_search` también devuelve highlights de forma predeterminada:

```json title="MCP"
{
  "query": "how does firecrawl handle javascript rendering",
  "limit": 5
}
```

<div id="response">
  ## Respuesta [#respuesta]
</div>

Los highlights usan los campos de descripción existentes, por lo que la estructura de la respuesta se mantiene igual que la de una respuesta normal de búsqueda.

````json
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://www.firecrawl.dev/blog/javascript-web-scraping",
        "title": "Web Scraping With JavaScript: Step-by-Step Guide",
        "description": "# Web Scraping With JavaScript: Step-by-Step Guide\n## When should you use scraping APIs instead of DIY tools?\n### Setting up Firecrawl\n```\nnpm install firecrawl\n```\n\n```\nFIRECRAWL_API_KEY=fc-your-api-key-here\n```\n\n### Solving the JavaScript quotes problem\nYou describe what you want, and Firecrawl handles extraction and validation.",
        "position": 1
      }
    ]
  }
}
````

Los highlights pueden contener Markdown cuando el contenido relevante de la página incluye encabezados, listas, tablas o código. Renderiza o procesa el campo como Markdown si quieres conservar esa estructura.

<div id="disable-highlights">
  ## Deshabilitar highlights [#deshabilitar-highlights]
</div>

Establece `highlights` en `false` cuando prefieras la descripción simple o el fragmento de cada sitio web.

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

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

      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

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

    <CodeBlockTab value="Python">
      ```python  
      results = firecrawl.search(
          query="Firecrawl search API",
          highlights=False,
      )
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      const results = await firecrawl.search('Firecrawl search API', {
        highlights: false,
      });
      ```
    </CodeBlockTab>

    <CodeBlockTab value="cURL">
      ```bash  
      curl -X POST https://api.firecrawl.dev/v2/search \
        -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "query": "Firecrawl search API",
          "highlights": false
        }'
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      firecrawl search "Firecrawl search API" --no-highlights
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

<div id="behavior-by-result-type">
  ## Comportamiento por tipo de resultado [#comportamiento-por-tipo-de-resultado]
</div>

* **Web:** Reemplaza `description` por contenido de la página relevante para la consulta cuando está disponible.
* **News:** Reemplaza `snippet` por contenido de la página relevante para la consulta cuando está disponible.
* **Images:** Los resultados de imágenes se devuelven sin cambios.
* **Search con scraping:** Los highlights afectan la descripción o el snippet de la búsqueda. El contenido solicitado mediante `scrapeOptions` se devuelve por separado y no se reemplaza.
* **Retención de datos cero:** Las búsquedas con ZDR conservan las descripciones y los snippets originales de texto sin formato de los sitios web.

Para ver todos los parámetros de Search y el esquema completo de la respuesta, consulta la [referencia de la API de Search](/es/api-reference/endpoint/search).
