> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/api-targets/es/search-engines/google/ai-overviews.md).

# AI Overviews

Extrae AI Overviews de Google desde los resultados de búsqueda con datos analizados para texto de respuesta, listas con viñetas, paneles de fuentes y listas de información.

El `google_search` y `google_ads` Las fuentes pueden devolver AI Overviews de los resultados de Google Search en todas las regiones globales compatibles. `ai_overviews` El array de resultados admite varios bloques de AI en una sola respuesta, incluidas secciones como “People also ask” y “Things to know.”

Para maximizar la probabilidad de recibir contenido de AI Overviews completamente renderizado, debes incluir los siguientes parámetros:

| Parámetro         | Valor                          |
| ----------------- | ------------------------------ |
| `source`          | `google_search` o `google_ads` |
| `render`          | `html`                         |
| `user_agent_type` | `desktop` o `mobile`           |

El uso de estos parámetros también te permite recibir tanto la respuesta general como el contenido de AI Overviews con una sola solicitud.

{% hint style="danger" %}
Google genera dinámicamente este contenido o carga una versión en caché, por lo que las respuestas generadas por IA pueden variar con el tiempo, incluso con parámetros idénticos.
{% endhint %}

{% hint style="success" %}
Explorar[ **diccionario de datos**](#data-dictionary) para algunas de las funciones SERP de AI Overviews.
{% endhint %}

## Disponibilidad regional de AI Overviews

Google AI Overviews está disponible en la mayoría de los países, salvo algunas excepciones. Actualmente, los principales países excluidos son:

* Francia
* Mónaco
* China
* Irán
* Sudán
* Siria
* Cuba
* Corea del Norte

{% hint style="warning" %}
La función Google AI Overviews se está desplegando continuamente, con más países incluidos con el tiempo.
{% endhint %}

## Ejemplos de solicitud

A continuación se muestran ejemplos de código usando `google_search` la fuente Web Scraper API para capturar Google AI Overviews.

{% tabs %}
{% tab title="cURL" %}

```shell
curl 'https://realtime.oxylabs.io/v1/queries' \\
--user 'USERNAME:PASSWORD' \\
-H 'Content-Type: application/json' \\
-d '{
        "source": "google_search",
        "query": "how to sell on amazon",
        "render": "html",
        "user_agent_type": "desktop",
        "parse": true
        
    }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
from pprint import pprint

# Updated payload.
payload = {
    'source': 'google_search',
    'query': 'how to sell on amazon',
    'render': 'html',
    'user_agent_type': 'desktop',
}

# Get response.
response = requests.request(
    'POST',
    'https://realtime.oxylabs.io/v1/queries',
    auth=('user', 'pass1'),
    json=payload,
)

# Print prettified response to stdout.
pprint(response.json())
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$params = [
    'source' => 'google_search',
    'query' => 'how to sell on amazon',
    'render' => 'html',
    'user_agent_type' => 'desktop',
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://realtime.oxylabs.io/v1/queries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "user" . ":" . "pass1");

$headers = [];
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
echo $result;

if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
```

{% endtab %}

{% tab title="HTTP" %}

```http
https://realtime.oxylabs.io/v1/queries?source=google_search&query=Emporio%20Armani%20EA3192&render=html&user_agent_type=desktop&access_token=12345abcde
```

{% endtab %}

{% tab title="JSON" %}

```json
{
    "source": "google_search",
    "query": "how to sell on amazon",
    "render": "html",
    "user_agent_type": "desktop"
}
```

{% endtab %}
{% endtabs %}

Usamos la integración síncrona [**Realtime**](/products/es/web-scraper-api/integration-methods/realtime.md) método de integración en nuestros ejemplos. Si quieres usar [**Proxy Endpoint**](/products/es/web-scraper-api/integration-methods/proxy-endpoint.md) o asíncrona [**Push-Pull**](/products/es/web-scraper-api/integration-methods/push-pull.md) de integración, consulta la [**sección de métodos de integración**](/products/es/web-scraper-api/integration-methods.md) .

### Trabajando con múltiples AI Overviews

Dado que ahora AI Overviews se devuelve como un array, debes iterar sobre él:

{% tabs %}
{% tab title="JavaScript" %}

```javascript
// Processing all AI Overviews in a response
response.results.ai_overviews.forEach((aiOverview, index) => {
  console.log(`Processing AI Overview #${index + 1}`);
  // Process individual components
  if (aiOverview.answer_text) {
    // Handle answer text
  }
  if (aiOverview.bullet_list) {
    // Handle bullet lists
  }
  // And so on...
});
```

{% endtab %}

{% tab title="Python" %}

```python
# Processing all AI Overviews in a response
for index, ai_overview in enumerate(response['results']['ai_overviews']):
    print(f"Processing AI Overview #{index + 1}")
    # Process individual components
    if 'answer_text' in ai_overview:
        answer_texts = ai_overview['answer_text']
        for answer in answer_texts:
            # Process each answer text
            if 'fragments' in answer:
                for text_item in answer['fragments']:
                    print(f"Answer text: {fragment['text']}")
    
    if 'bullet_list' in ai_overview:
        bullet_lists = ai_overview['bullet_list']
        for bullet_list in bullet_lists:
            if 'list_title' in bullet_list:
                print(f"List title: {bullet_list['list_title']}")
            if 'points' in bullet_list:
                for point in bullet_list['points']:
                    point_text = point['text']
                    print(f"- {point_text}")
    # Continue processing other elements...
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
// Processing all AI Overviews in a response
if (isset($response['results']['ai_overviews']) && is_array($response['results']['ai_overviews'])) {
    foreach ($response['results']['ai_overviews'] as $index => $aiOverview) {
        $indexNumber = $index + 1;
        echo "Processing AI Overview #{$indexNumber}\n";
        
        // Process answer text
        if (isset($aiOverview['answer_text']) && is_array($aiOverview['answer_text'])) {
            foreach ($aiOverview['answer_text'] as $answer) {
                if (isset($answer['fragments']) && is_array($answer['fragments'])) {
                    foreach ($answer['fragments'] as $fragment) {
                        $textItem = $fragment['text'];
                        echo "Answer text: {$textItem}\n";
                    }
                }
            }
        }
        
        // Process bullet lists
        if (isset($aiOverview['bullet_list']) && is_array($aiOverview['bullet_list'])) {
            foreach ($aiOverview['bullet_list'] as $bulletList) {
                if (isset($bulletList['list_title'])) {
                    echo "List title: {$bulletList['list_title']}\n";
                }
                if (isset($bulletList['points']) && is_array($bulletList['points'])) {
                    foreach ($bulletList['points'] as $point) {
                        $pointText = $point['text'];
                        echo "- {$pointText}\n";
                    }
                }
            }
        }
        // Continue processing other elements...
    }
}
?>
```

{% endtab %}
{% endtabs %}

En la mayoría de los casos, solo habrá un AI Overview, pero tu código debe estar preparado para manejar varias entradas.

## Parámetros de la solicitud

### Genérico

Opciones básicas de configuración y personalización para extraer resultados de búsqueda web de Google con AI Overviews.

<table><thead><tr><th width="191">Parámetro</th><th width="377.3333333333333">Descripción</th><th>Valor predeterminado</th></tr></thead><tbody><tr><td><mark style="background-color:green;"><strong>source</strong></mark></td><td>Establece el scraper. Usa <code>google_search</code> o <code>google_ads</code>.</td><td><code>google_search</code></td></tr><tr><td><mark style="background-color:green;"><strong>query</strong></mark></td><td>La palabra clave o frase que se va a buscar.</td><td>-</td></tr><tr><td><code>render</code></td><td>Habilita el renderizado de JavaScript cuando se establece en <code>html</code>. <a href="/products/es/web-scraper-api/features/js-rendering-and-browser-control.md#javascript-rendering"><strong>Más información</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>context</code>:<br><code>expand_aio</code></td><td>Establecer en <code>true</code> para expandir Google AI Overviews (renderizado de JavaScript habilitado).</td><td><code>false</code></td></tr><tr><td><code>parse</code></td><td>Devuelve datos analizados cuando se establece en <code>true</code>.</td><td><code>false</code></td></tr><tr><td><code>callback_url</code></td><td>URL a tu endpoint de callback. <a href="/products/es/web-scraper-api/integration-methods/push-pull.md"><strong>Más información</strong></a></td><td>-</td></tr><tr><td><code>user_agent_type</code></td><td>Tipo de dispositivo y navegador. Usa <code>desktop</code> o <code>mobile</code>.</td><td><code>desktop</code></td></tr></tbody></table>

\- parámetro obligatorio

#### Operadores de búsqueda avanzada de Google

Al hacer scraping, puede resultarte útil combinar operadores de búsqueda avanzada de Google con tu consulta. Esto te permite personalizar el alcance de la búsqueda, asegurando que los resultados sean más relevantes y específicos. Explora estos comandos especiales [**aquí**](https://ahrefs.com/blog/google-advanced-search-operators/). Consulta la consulta de ejemplo a continuación.

```json
{
    "source": "google_search",
    "query": "iphone 15 launch inurl:apple", 
    "render": "html",
    "user_agent_type": "desktop"
}
```

### Localización

Adapta los resultados de búsqueda a ubicaciones geográficas e idiomas específicos.

<table><thead><tr><th width="222">Parámetro</th><th width="350.3333333333333">Descripción</th><th>Valor predeterminado</th></tr></thead><tbody><tr><td><code>geo_location</code></td><td>La ubicación geográfica para la que debe adaptarse el resultado. Usar correctamente este parámetro es extremadamente importante para obtener los datos correctos. Para más información, lee sobre nuestras <code>geo_location</code> estructuras de parámetros sugeridas <a href="/products/es/web-scraper-api/features/localization/serp-localization.md#google"><strong>aquí</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>locale</code></td><td><code>Accept-Language</code> valor de encabezado que cambia el idioma de la interfaz web de tu página de búsqueda de Google. <a href="/products/es/web-scraper-api/features/localization/domain-locale.md#google"><strong>Más información</strong></a>.</td><td>-</td></tr></tbody></table>

### Paginación

Controles para gestionar la paginación y la recuperación de resultados de búsqueda.

<table><thead><tr><th width="222">Parámetro</th><th width="350.3333333333333">Descripción</th><th width="167">Valor predeterminado</th></tr></thead><tbody><tr><td><code>start_page</code></td><td>Número de página inicial.</td><td><code>1</code></td></tr><tr><td><code>páginas</code></td><td>Número de páginas a recuperar.</td><td><code>1</code></td></tr><tr><td><code>límite</code></td><td>Número de resultados a recuperar en cada página.</td><td><code>10</code></td></tr><tr><td><code>context</code>:<code>limit_per_page</code></td><td>Extrae varias páginas usando la misma dirección IP y sesión (cookie establecida). Al especificar los números de página en un array JSON con la <code>page</code> clave y al indicar el número de resultados orgánicos por página usando la <code>límite</code> clave, puedes minimizar la probabilidad de ver resultados orgánicos superpuestos entre páginas (por ejemplo, que el último resultado orgánico de la primera página sea el mismo que el primero de la segunda página). <a href="#request-sample"><strong>Ver ejemplo</strong></a><strong>.</strong></td><td>-</td></tr></tbody></table>

#### Compatibilidad con desplazamiento continuo

La Web Scraper API es totalmente compatible con el desplazamiento continuo de Google Search. Detecta automáticamente diseños de desplazamiento continuo y carga de forma eficiente los resultados orgánicos solicitados sin requerir parámetros adicionales.

#### Límite por página

{% hint style="warning" %}
Debido a cambios recientes en los límites de Google, hemos ajustado el comportamiento de Web Scraper API. El máximo de resultados por página coincidirá con la salida orgánica de Google, que normalmente es de 10 resultados.
{% endhint %}

Para usar esta función, incluye un array JSON con objetos JSON que contengan los siguientes datos:

<table><thead><tr><th width="142">Parámetro</th><th width="446.3333333333333">Descripción</th><th>Ejemplo</th></tr></thead><tbody><tr><td><code>page</code></td><td>El número de la página que quieres extraer. Cualquier valor entero mayor que <code>0</code> funcionará</td><td><code>1</code></td></tr><tr><td><code>límite</code></td><td>El número de resultados de la página en cuestión. Cualquier valor entero entre <code>1</code> y <code>100</code> (inclusive) funcionará.</td><td><code>90</code></td></tr></tbody></table>

#### Ejemplo de solicitud

```json
{
    "source": "google_search",
    "query": "how to sell on amazon",
    "render": "html",
    "user_agent_type": "desktop",
    "parse": true,
    "context": [
        {
            "key": "limit_per_page",
            "value": [
                {"page": 1, "limit": 10},
                {"page": 2, "limit": 90}
                    ]
        }]
}
```

### Filtrado

Opciones para filtrar y refinar los resultados de búsqueda según diversos criterios. Aprende a usar parámetros de contexto [**aquí**](#context-parameters).

<table><thead><tr><th width="245">Parámetro</th><th width="350.3333333333333">Descripción</th><th>Valor predeterminado</th></tr></thead><tbody><tr><td><code>context</code>:<br><code>filter</code></td><td>Establecer el valor de este parámetro en <code>0</code> te permite ver resultados que de otro modo se excluirían por su similitud con otros resultados.</td><td><code>1</code></td></tr><tr><td><code>context</code>:<br><code>safe_search</code></td><td>Búsqueda segura. Establécelo en <code>true</code> para habilitarla.</td><td><code>false</code></td></tr><tr><td><code>context</code>:<br><code>udm</code></td><td><code>udm</code> el parámetro permite alternar entre diferentes pestañas de búsqueda, como imágenes, lugares o videos, para personalizar el tipo de resultados mostrados. Encuentra los valores aceptados <a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FeoShpvYuZlb4hGpCIXNG%2Fudm_values%20(eu%2Bus).json?alt=media&#x26;token=a6b77fab-b170-478c-b06f-b8fbf7ab64c7"><strong>aquí</strong></a>.</td><td>-</td></tr><tr><td><code>context</code>:<br><code>tbm</code></td><td>para coincidir o <code>tbm</code> parámetro. Los valores aceptados son: <code>app</code>, <code>blg</code>, <code>bks</code>, <code>dsc</code>, <code>isch</code>, <code>nws</code>, <code>pts</code>, <code>plcs</code>, <code>rcp</code>, <code>lcl</code></td><td>-</td></tr><tr><td><code>context</code>:<br><code>tbs</code></td><td>Este parámetro es como un contenedor para parámetros de Google más oscuros, como limitar/ordenar resultados por fecha, así como otros filtros, algunos de los cuales dependen del <code>tbm</code> parámetro (p. ej. <code>tbs=app_os:1</code> solo está disponible con el valor <code>tbm</code> valor <code>app</code>). Más información <a href="https://stenevang.wordpress.com/2013/02/22/google-advanced-power-search-url-request-parameters/"><strong>aquí</strong></a>.</td><td>-</td></tr></tbody></table>

{% hint style="warning" %}
`udm` y `tbm` Los parámetros de contexto no se pueden usar juntos en una sola solicitud de scraping; selecciona solo uno. Usar ambos al mismo tiempo puede provocar conflictos o un comportamiento inesperado.
{% endhint %}

### Otros

Configuraciones y controles avanzados adicionales para requisitos especializados.

<table><thead><tr><th width="222">Parámetro</th><th width="350.3333333333333">Descripción</th><th>Valor predeterminado</th></tr></thead><tbody><tr><td><code>context</code>:<br><code>fpstate</code></td><td>Establecer el <code>fpstate</code> valor en <code>aig</code> hará que Google cargue más apps. Este parámetro solo es útil si se usa junto con el parámetro <code>render</code> .</td><td>-</td></tr><tr><td><code>context</code>:<br><code>nfpr</code></td><td><code>true</code> desactivará la autocorrección ortográfica</td><td><code>false</code></td></tr></tbody></table>

### Parámetros de contexto

Todos los parámetros de contexto deben añadirse al array como objetos con `context` clave `pares` y `valor` , por ejemplo:

```json
...
"context": [
    {
        "key": "filter",
        "value": "0"
    }
]
...
```

## Salida estructurada

### Diccionario de datos

Todas las claves disponibles dentro de la función SERP AI Overviews se definen en la siguiente tabla:

<table><thead><tr><th width="249">Clave (results.ai_overviews)</th><th width="383">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>answer_text</code></td><td>Información general sobre el término de consulta de Google Search.</td><td>arreglo</td></tr><tr><td><code>bullet_list</code></td><td>Indica información sobre elementos representados en una lista con viñetas dentro de la función SERP AI Overviews.</td><td>arreglo</td></tr><tr><td><code>source_panel</code></td><td>Una lista de fuentes usadas para generar el resultado de AI Overviews en la función SERP de Google.</td><td>objeto</td></tr><tr><td><code>info_list</code></td><td>Una lista de información usada con mayor frecuencia para representar pasos de un proceso relevantes para la consulta de búsqueda.</td><td>arreglo</td></tr><tr><td><code>pos_overall</code></td><td>Una indicación de la posición del resultado de la función SERP AI Overviews entre todos los resultados SERP de Google disponibles.</td><td>entero</td></tr></tbody></table>

### General

En el siguiente ejemplo, se usó la consulta “Emporio Armani EA3192”.

```json
{
  "ai_overviews": [
    {
      "answer_text": [
        {
          "fragments": [
            {
              "text": "Emporio Armani is a luxury brand known for timeless designs.",
              "references": [
                {
                  "source": "http://italist.com ",
                  "url": "https://www.italist.com/magazine/what-is-emporio-armani/ "
                }
              ]
            }
          ],
          "pos": 1
        }
      ],
      "bullet_list": [
        {
          "list_title": "Pros",
          "points": [
            {"text": "Comfortable"},
            {"text": "Minimal branding"}
          ],
          "pos": 1
        }
      ],
      "source_panel": {
        "items": [
          {
            "url": "https://www.italist.com/...",
            "source": "http://italist.com ",
            "title": "Qué es Emporio Armani...",
            "pos": 1
          }
        ]
      },
      "pos_overall": 1
    }
  ]
}
```

#### Texto de respuesta

<pre class="language-json"><code class="lang-json"><strong>...
</strong><strong>"answer_text": [
</strong>  {
    "fragments": [
      {
        "text": "Emporio Armani is a luxury brand known for timeless designs.",
        "references": [
          {
            "source": "http://italist.com",
            "url": "https://www.italist.com/magazine/what-is-emporio-armani/"
          }
        ]
      }
    ],
    "pos": 1
  }
]
...
</code></pre>

<table><thead><tr><th width="273">Clave (results.ai_overviews.answer_text)</th><th width="368">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>fragments</code></td><td>Una respuesta breve a la consulta de Google Search.</td><td>arreglo</td></tr><tr><td><code>fragments.text</code></td><td>El contenido del texto de respuesta del fragmento.</td><td>cadena</td></tr><tr><td><code>fragments.references</code></td><td>Una lista de fuentes referenciadas por el fragmento.</td><td>arreglo</td></tr><tr><td><code>fragments.references.source</code></td><td>El nombre de la fuente referenciada.</td><td>cadena</td></tr><tr><td><code>fragments.references.url</code></td><td>La URL de la fuente referenciada.</td><td>cadena</td></tr><tr><td><code>pos</code></td><td>Un indicador que denota la posición de un elemento dado entre todos los resultados de respuesta de AI Overviews.</td><td>entero</td></tr></tbody></table>

#### **Lista con viñetas**

```json
...
"bullet_list": [
  {
    "list_title": "Pros",
    "points": [
      {"text": "Comfortable"},
      {"text": "Minimal branding"}
    ],
    "pos": 1
  }
]
...
```

<table><thead><tr><th width="268">Clave (results.ai_overviews.bullet_list)</th><th width="364">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>list_title</code></td><td>El título de la lista con viñetas.</td><td>cadena</td></tr><tr><td><code>points</code></td><td>Los elementos mostrados en la lista con viñetas. Todos los elementos están separados por comas.</td><td>arreglo</td></tr><tr><td><code>points.text</code></td><td>El contenido de texto del punto de la viñeta.</td><td>cadena</td></tr><tr><td><code>points.references</code></td><td>Una lista de fuentes referenciadas por el punto de la viñeta (opcional).</td><td>arreglo</td></tr><tr><td><code>pos</code></td><td>Un indicador que denota la posición de un elemento dado entre todos los resultados de lista con viñetas de AI Overviews.</td><td>entero</td></tr></tbody></table>

#### Panel de fuentes

```json
...
"source_panel": {
  "items": [
    {
      "url": "https://www.italist.com/...",
      "source": "http://italist.com",
      "title": "Qué es Emporio Armani...",
      "pos": 1
    }
  ]
}
...
```

<table><thead><tr><th width="274">Clave (results.ai_overviews.source_panel)</th><th width="353">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>items</code></td><td>Una lista de fuentes usadas para generar el resultado de AI Overviews en la función SERP de Google.</td><td>objeto</td></tr><tr><td><code>items.url</code></td><td>La URL del sitio web.</td><td>cadena</td></tr><tr><td><code>items.source</code></td><td>El nombre del sitio web.</td><td>cadena</td></tr><tr><td><code>items.title</code></td><td>El título del artículo.</td><td>cadena</td></tr><tr><td><code>items.pos</code></td><td>Un indicador que denota la posición de un elemento dado entre todos los resultados del panel de fuentes de AI Overviews.</td><td>entero</td></tr></tbody></table>

#### Lista de información

<table><thead><tr><th width="276">Clave (results.ai_overviews.info_list)</th><th width="353">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>list_title</code></td><td>El título de la lista.</td><td>cadena</td></tr><tr><td><code>list_items</code></td><td>Contiene una lista de elementos con sus respectivos detalles.</td><td>arreglo</td></tr><tr><td><code>list_items.title</code></td><td>El título de la sección dentro de la lista.</td><td>cadena</td></tr><tr><td><code>list_items.content</code></td><td>Una breve descripción de la sección.</td><td>arreglo</td></tr><tr><td><code>list_item.pos</code></td><td>Un indicador que denota la posición de un elemento dado entre todos los resultados de la lista de información de AI Overviews.</td><td>entero</td></tr></tbody></table>

### Instrucciones

En el siguiente ejemplo, se usó la consulta "docker exec commands explained".

<figure><img src="https://197269033-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBaJCXoqO1zdFnaMnCKrg%2Fuploads%2Fgit-blob-648a33922f3380889e3086bf204735af9703ff25%2Fdocker_exec_command_explained.png?alt=media" alt=""><figcaption></figcaption></figure>

```json
...
  "ai_overviews": [
    {
      "answer_text": [
        {
          "fragments": [
            "El comando docker exec. En informática, exec es una funcionalidad de un sistema operativo que ejecuta un archivo ejecutable en el contexto de un proceso ya existente, reemplazando el ejecutable anterior...",
            "Es una herramienta potente que puede usarse para una variedad de tareas, como solucionar problemas de un contenedor, ejecutar un script o instalar software."
          ],
          "pos": 1
        },
        {
          "fragments": [
            "La sintaxis del comando docker exec es la siguiente:"
          ],
          "pos": 2
        },
        ...
        }
      ]
    }
  ],
...
```

#### Texto de respuesta

```json
"answer_text": [
  {
    "fragments": [
      "El comando docker exec...",
      "Es una herramienta potente que puede usarse para una variedad de tareas, como solucionar problemas de un contenedor, ejecutar un script o instalar software."
    ],
    "pos": 1
  }
]
```

<table><thead><tr><th width="260">Clave (results.ai_overviews.answer_text)</th><th width="385">Descripción</th><th width="89">Tipo</th></tr></thead><tbody><tr><td><code>fragments</code></td><td>Fragmento de respuesta de la consulta de Google Search en texto plano.</td><td>array de cadenas</td></tr><tr><td><code>pos</code></td><td>Un indicador que denota la posición del elemento en la respuesta del resumen.</td><td>entero</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developers.oxylabs.io/api-targets/es/search-engines/google/ai-overviews.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
