# AI Overviews

O `google_search` e `google_ads` as fontes podem retornar AI Overviews dos resultados da Pesquisa Google em todas as regiões globais suportadas. `ai_overviews` o array de resultados suporta vários blocos de IA em uma única resposta, incluindo seções como “As pessoas também perguntam” e “Coisas para saber.”

Para maximizar a chance de receber o conteúdo de AI Overviews totalmente renderizado, você deve incluir os seguintes parâmetros:

| Parâmetro         | Valor                           |
| ----------------- | ------------------------------- |
| `source`          | `google_search` ou `google_ads` |
| `render`          | `html`                          |
| `user_agent_type` | `desktop` ou `mobile`           |

Usar esses parâmetros também permite receber a resposta geral e o conteúdo de AI Overviews em uma única requisição.

{% hint style="danger" %}
O Google gera esse conteúdo dinamicamente ou carrega uma versão em cache, então as respostas geradas por IA podem variar com o tempo, mesmo com parâmetros idênticos.
{% endhint %}

{% hint style="success" %}
Explore[ **dicionário de dados**](#data-dictionary) para alguns dos recursos de SERP do AI Overviews.
{% endhint %}

## Disponibilidade regional do AI Overviews

O Google AI Overviews está disponível na maioria dos países, com algumas exceções. Atualmente, os maiores países excluídos são:

* França
* Mônaco
* China
* Irã
* Sudão
* Síria
* Cuba
* Coreia do Norte

{% hint style="warning" %}
O recurso Google AI Overviews está sendo disponibilizado continuamente, com mais países incluídos ao longo do tempo.
{% endhint %}

## Exemplos de solicitação

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

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

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

# Imprima a resposta formatada em 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 o método de integração [**Realtime**](/products/pt-br/web-scraper-api/integration-methods/realtime.md) síncrona em nossos exemplos. Se você quiser usar [**Proxy Endpoint**](/products/pt-br/web-scraper-api/integration-methods/proxy-endpoint.md) ou a integração assíncrona [**Push-Pull**](/products/pt-br/web-scraper-api/integration-methods/push-pull.md) , consulte a seção [**métodos de integração**](/products/pt-br/web-scraper-api/integration-methods.md) .

## Valores dos parâmetros da solicitação

### Genérico

Configuração básica e opções de personalização para extrair resultados da Pesquisa Web do Google com AI Overviews.

<table><thead><tr><th width="191">Parâmetro</th><th width="377.3333333333333">Descrição</th><th>Valor padrão</th></tr></thead><tbody><tr><td><mark style="background-color:green;"><strong>source</strong></mark></td><td>Define o scraper. Use <code>google_search</code> ou <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>A palavra-chave ou frase para pesquisar.</td><td>-</td></tr><tr><td><code>render</code></td><td>Habilita a renderização de JavaScript quando definido como <code>html</code>. <a href="/spaces/OBEE5GAZ3BuoLyZVZDxR/pages/3233bca1879be403b915f4b370f405d36a5941e9#javascript-rendering"><strong>Mais informações</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>context</code>:<br><code>expand_aio</code></td><td>Defina como <code>true</code> para expandir o Google AI Overviews (renderização JavaScript ativada).</td><td><code>false</code></td></tr><tr><td><code>parse</code></td><td>Retorna dados analisados quando definido como <code>true</code>.</td><td><code>false</code></td></tr><tr><td><code>callback_url</code></td><td>URL para seu endpoint de callback. <a href="/spaces/OBEE5GAZ3BuoLyZVZDxR/pages/f8ca26d94a776244a1a6f4d756ea5f2840b96d85"><strong>Mais informações</strong></a></td><td>-</td></tr><tr><td><code>user_agent_type</code></td><td>Tipo de dispositivo e navegador. Use <code>desktop</code> ou <code>mobile</code>. </td><td><code>desktop</code></td></tr></tbody></table>

&#x20;   \- parâmetro obrigatório

#### Operadores avançados de pesquisa do Google

Ao raspar, pode ser útil combinar operadores avançados de pesquisa do Google com sua consulta. Isso permite personalizar o escopo da pesquisa, garantindo que os resultados sejam mais relevantes e focados. Explore estes comandos especiais [**aqui**](https://ahrefs.com/blog/google-advanced-search-operators/) e [**aqui**](https://www.semrush.com/kb/831-how-to-use-google-advanced-search-operators). Veja a consulta de exemplo abaixo.

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

### Localização

Adapte os resultados de busca para locais geográficos e idiomas específicos.

<table><thead><tr><th width="222">Parâmetro</th><th width="350.3333333333333">Descrição</th><th>Valor padrão</th></tr></thead><tbody><tr><td><code>geo_location</code></td><td>A localização geográfica para a qual o resultado deve ser adaptado. Usar este parâmetro corretamente é extremamente importante para obter os dados certos. Para mais informações, leia sobre nossas <code>geo_location</code> estruturas de parâmetros <a href="/spaces/OBEE5GAZ3BuoLyZVZDxR/pages/97e9eae2fb35538ed9515ec3ade8adafbcf468e4#google"><strong>aqui</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>locale</code></td><td><code>valor do cabeçalho</code> Accept-Language <a href="/spaces/OBEE5GAZ3BuoLyZVZDxR/pages/8f87e4b64bbb69f35a75da02cf71929fb386f857#google"><strong>Mais informações</strong></a>.</td><td>-</td></tr></tbody></table>

### Paginação

Controles para gerenciar a paginação e a recuperação dos resultados da pesquisa.

<table><thead><tr><th width="222">Parâmetro</th><th width="350.3333333333333">Descrição</th><th width="167">Valor padrão</th></tr></thead><tbody><tr><td><code>start_page</code></td><td>Número da página inicial.</td><td><code>1</code></td></tr><tr><td><code>pages</code></td><td>Número de páginas para recuperar.</td><td><code>1</code></td></tr><tr><td><code>limit</code></td><td>Número de resultados para recuperar em cada página.</td><td><code>10</code></td></tr><tr><td><code>context</code>:<code>limit_per_page</code></td><td>Raspe várias páginas usando o mesmo endereço IP e sessão (cookie definido). Ao especificar os números das páginas em um array JSON com a chave <code>page</code> e indicar o número de resultados orgânicos por página usando a chave <code>limit</code> , você pode minimizar a chance de ver resultados orgânicos sobrepostos entre as páginas (por exemplo, o último resultado orgânico na primeira página ser o mesmo que o primeiro resultado orgânico na segunda página). <a href="#request-sample"><strong>Veja o exemplo</strong></a><strong>.</strong></td><td>-</td></tr></tbody></table>

#### Suporte a rolagem contínua

A Web Scraper API oferece suporte total ao scroll contínuo da Pesquisa Google. Ela detecta automaticamente layouts de rolagem contínua, carregando com eficiência os resultados orgânicos solicitados sem necessidade de parâmetros extras.

#### Limite por página

{% hint style="warning" %}
Devido a mudanças recentes nos limites do Google, ajustamos o comportamento da Web Scraper API. O máximo de resultados por página corresponderá à saída orgânica do Google, que normalmente é de 10 resultados.
{% endhint %}

Para usar este recurso, inclua um array JSON com objetos JSON contendo os dados a seguir:

<table><thead><tr><th width="142">Parâmetro</th><th width="446.3333333333333">Descrição</th><th>Exemplo</th></tr></thead><tbody><tr><td><code>page</code></td><td>O número da página que você deseja raspar. Qualquer valor inteiro maior que <code>0</code> funcionará</td><td><code>1</code></td></tr><tr><td><code>limit</code></td><td>O número de resultados na página em questão. Qualquer valor inteiro entre <code>1</code> e <code>100</code> (inclusive) funcionará.</td><td><code>90</code></td></tr></tbody></table>

#### Exemplo de solicitação

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

### Filtragem

Opções para filtrar e refinar os resultados da pesquisa com base em vários critérios. Saiba como usar parâmetros de contexto [**aqui**](#context-parameters).

<table><thead><tr><th width="245">Parâmetro</th><th width="350.3333333333333">Descrição</th><th>Valor padrão</th></tr></thead><tbody><tr><td><code>context</code>:<br><code>filter</code></td><td>Definir o valor deste parâmetro como <code>0</code> permite ver resultados que, de outra forma, seriam excluídos devido à semelhança com outros resultados.</td><td><code>1</code></td></tr><tr><td><code>context</code>:<br><code>safe_search</code></td><td>Pesquisa segura. Defina como <code>true</code> para ativá-la.</td><td><code>false</code></td></tr><tr><td><code>context</code>:<br><code>udm</code></td><td><code>udm</code> o parâmetro permite alternar entre diferentes abas de pesquisa, como imagens, locais ou vídeos, para personalizar o tipo de resultados exibidos. Encontre os valores aceitos <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>aqui</strong></a>.</td><td>-</td></tr><tr><td><code>context</code>:<br><code>tbm</code></td><td>To-be-matched ou <code>tbm</code> parâmetro. Os valores aceitos são: <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 é como um contêiner para parâmetros mais obscuros do Google, como limitar/ordenar resultados por data, além de outros filtros, alguns dos quais dependem do <code>tbm</code> (por exemplo, <code>tbs=app_os:1</code> só está disponível com o valor <code>tbm</code> ). Mais informações <code>app</code>. <a href="https://stenevang.wordpress.com/2013/02/22/google-advanced-power-search-url-request-parameters/"><strong>aqui</strong></a>.</td><td>-</td></tr></tbody></table>

{% hint style="warning" %}
`udm` e `tbm` os parâmetros de contexto não podem ser usados juntos em uma única solicitação de raspagem; selecione apenas um. Usar ambos simultaneamente pode levar a conflitos ou comportamento inesperado.
{% endhint %}

### Outros

Configurações e controles avançados adicionais para requisitos especializados.

<table><thead><tr><th width="222">Parâmetro</th><th width="350.3333333333333">Descrição</th><th>Valor padrão</th></tr></thead><tbody><tr><td><code>context</code>:<br><code>fpstate</code></td><td>Definir o valor de <code>fpstate</code> como <code>aig</code> fará o Google carregar mais apps. Este parâmetro só é útil se usado em conjunto com o parâmetro <code>render</code> .</td><td>-</td></tr><tr><td><code>context</code>:<br><code>nfpr</code></td><td><code>true</code> desativará a autocorreção ortográfica</td><td><code>false</code></td></tr></tbody></table>

### Parâmetros de contexto

Todos os parâmetros de contexto devem ser adicionados ao array `context` como objetos com pares `key` e `). Mais informações` , por exemplo:

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

## Estrutura de dados e processamento

### Dicionário de dados

Todas as chaves disponíveis no recurso SERP do AI Overviews estão definidas na tabela abaixo:

<table><thead><tr><th width="249">Chave (results.ai_overview)</th><th width="383">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>answer_text</code></td><td>Informações gerais sobre o termo da consulta da Pesquisa Google.</td><td>array</td></tr><tr><td><code>bullet_list</code></td><td>Indica informações sobre itens renderizados em uma lista com marcadores no recurso SERP do AI Overviews.</td><td>array</td></tr><tr><td><code>products</code></td><td>Uma lista de produtos com seus respectivos detalhes.</td><td>object</td></tr><tr><td><code>source_panel</code></td><td>Uma lista de fontes usadas para gerar o resultado do AI Overviews no recurso SERP do Google.</td><td>object</td></tr><tr><td><code>additional_questions</code></td><td>Uma lista de perguntas adicionais com seus respectivos detalhes.</td><td>object</td></tr><tr><td><code>recipes</code></td><td>Uma lista de receitas com seus respectivos detalhes.</td><td>object</td></tr><tr><td><code>info_list</code></td><td>Uma lista de informações mais frequentemente usadas para representar etapas de um processo relevante para a consulta de pesquisa.</td><td>array</td></tr><tr><td><code>pos_overall</code></td><td>Uma indicação da posição do resultado do recurso SERP do AI Overviews entre todos os resultados disponíveis da SERP do Google.</td><td>integer</td></tr></tbody></table>

### Trabalhando com vários AI Overviews

Como os AI Overviews agora são retornados como um array, você precisa iterar por eles:

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

```javascript
// Processando todos os AI Overviews em uma resposta
response.results.ai_overviews.forEach((aiOverview, index) => {
  console.log(`Processando AI Overview #${index + 1}`);
  // Processar componentes individuais
  if (aiOverview.answer_text) {
    // Tratar o texto da resposta
  }
  if (aiOverview.bullet_list) {
    // Tratar listas com marcadores
  }
  // E assim por diante...
});
```

{% endtab %}

{% tab title="Python" %}

```python
# Processando todos os AI Overviews em uma resposta
for index, ai_overview in enumerate(response['results']['ai_overviews']):
    print(f"Processando AI Overview #{index + 1}")
    # Processar componentes individuais
    if 'answer_text' in ai_overview:
        answer_texts = ai_overview['answer_text']
        for answer in answer_texts:
            # Processar cada texto da resposta
            if 'text' in answer:
                for text_item in answer['text']:
                    print(f"Texto da resposta: {text_item}")
    
    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"Título da lista: {bullet_list['list_title']}")
            if 'points' in bullet_list:
                for point in bullet_list['points']:
                    print(f"- {point}")
    # Continuar processando outros elementos...
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php
// Processando todos os AI Overviews em uma resposta
if (isset($response['results']['ai_overviews']) && is_array($response['results']['ai_overviews'])) {
    foreach ($response['results']['ai_overviews'] as $index => $aiOverview) {
        $indexNumber = $index + 1;
        echo "Processando AI Overview #{$indexNumber}\n";
        
        // Processar o texto da resposta
        if (isset($aiOverview['answer_text']) && is_array($aiOverview['answer_text'])) {
            foreach ($aiOverview['answer_text'] as $answer) {
                if (isset($answer['text']) && is_array($answer['text'])) {
                    foreach ($answer['text'] as $textItem) {
                        echo "Texto da resposta: {$textItem}\n";
                    }
                }
            }
        }
        
        // Processar listas com marcadores
        if (isset($aiOverview['bullet_list']) && is_array($aiOverview['bullet_list'])) {
            foreach ($aiOverview['bullet_list'] as $bulletList) {
                if (isset($bulletList['list_title'])) {
                    echo "Título da lista: {$bulletList['list_title']}\n";
                }
                if (isset($bulletList['points']) && is_array($bulletList['points'])) {
                    foreach ($bulletList['points'] as $point) {
                        echo "- {$point}\n";
                    }
                }
            }
        }
        // Continuar processando outros elementos...
    }
}
?>
```

{% endtab %}
{% endtabs %}

Na maioria dos casos, haverá apenas um AI Overview, mas seu código deve estar preparado para lidar com várias entradas.

Explore exemplos de resultados do AI Overviews abaixo, categorizados por diferentes consultas de pesquisa: [**Item**](#item), [**Receitas**](#recipe), [**Instrução**](#instruction).

### Item

No exemplo a seguir, a consulta "Emporio Armani EA3192" foi usada.

<figure><img src="https://lh7-us.googleusercontent.com/Ecp6t0NHm0ZDg2qopAN4uLilI5onTqfLK8i_GdT_NTeEawPopV-CFGMqHwfi7mX3sTRgD7PnWGks1gsn3yu5Ekmo5tadyQQyMgGpbx0qSwhHlnWSs4RO9_Y7f-0Bww8SIaF4uD9X3z8xO4tIfd948rY" alt=""><figcaption></figcaption></figure>

```json
...
  "ai_overviews": [
    {
      "answer_text": [
        {
          "text": [
            "Emporio Armani é uma marca de luxo conhecida por seus designs atemporais e compromisso com a tradição artesanal italiana.",
            "O Emporio Armani EA3192 é um par de óculos de grau projetado para homens.",
            "Eles têm armação retangular feita de plástico leve e hipoalergênico.",
            "As lentes são UV e antirreflexo.",
            "Aqui estão alguns insights das avaliações:"
          ],
          "pos": 1
        }
      ],
      "bullet_list": [
        {
          "list_title": "Prós",
          "points": [
            "Confortável",
            "Branding mínimo"
          ],
          "pos": 1
        }
      ],
      "products": {
        "items": [
          {
            "product_name": "Emporio Armani Men Eyeglasses Shiny Black Size: 53",
            "price": "$163.00",
            "previous_price": null,
            "seller": "Lenscrafters",
            "shipping": "Entrega grátis",
            "url": "https://www.lenscrafters.com/lc-us/emporio-armani/8056597975810?srsltid=AfmBOoqWO55KIJevhQp_c5OAp0JOM_8Uza3_gCvn9S4x4Vz342AUSQewzJI",
            "pos": 1
          }
        ]
      },
      "source_panel": {
        "items": [
          {
            "url": "https://www.italist.com/magazine/what-is-emporio-armani/#:~:text=Emporio%20Armani%20is%20a%20luxury,reinforce%20the%20perception%20of%20luxury.",
            "source": "italist.com",
            "date": "May 5, 2023",
            "title": "What is Emporio Armani and is Emporio Armani a luxury brand?",
            "pos": 1
          },
        ...
        ]
      },
      "additional_questions": {
        "items": [
          {
           "question": "O Emporio Armani é o mesmo que Giorgio Armani?",
           "pos": 1
          }
        ]
      },
      "pos_overall": 1
    }
  ],
...
```

#### Texto da resposta

<table><thead><tr><th width="273">Chave (results.ai_overviews.answer_text)</th><th width="368">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>texto</code></td><td>Uma resposta curta para a consulta da Pesquisa Google.</td><td>array</td></tr><tr><td><code>pos</code></td><td>Um indicador que denota a posição de um determinado item entre todos os resultados de resposta do AI Overviews.</td><td>integer</td></tr></tbody></table>

**Lista com marcadores**

<table><thead><tr><th width="268">Chave (results.ai_overviews.bullet_list)</th><th width="364">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>list_title</code></td><td>O título da lista com marcadores.</td><td>string</td></tr><tr><td><code>points</code></td><td>Os itens renderizados na lista com marcadores. Todos os itens são separados por vírgulas.</td><td>array</td></tr><tr><td><code>pos</code></td><td>Um indicador que denota a posição de um determinado item entre todos os resultados da lista com marcadores do AI Overviews.</td><td>integer</td></tr></tbody></table>

**Produtos**

<table><thead><tr><th width="271">Chave (results.ai_overviews.products)</th><th width="364">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>itens</code></td><td>Uma lista de produtos com seus respectivos detalhes.</td><td>array</td></tr><tr><td><code>items.product_name</code></td><td>O nome do produto.</td><td>string</td></tr><tr><td><code>items.price</code></td><td>O preço atual do produto.</td><td>string</td></tr><tr><td><code>items.previous_price</code></td><td>O preço inicial do produto (se aplicável).</td><td>string</td></tr><tr><td><code>items.seller</code></td><td>O vendedor do produto.</td><td>string</td></tr><tr><td><code>items.shipping</code></td><td>O tipo de frete disponível para o produto.</td><td>string</td></tr><tr><td><code>items.url</code></td><td>A URL do produto.</td><td>string</td></tr><tr><td><code>items.pos</code></td><td>Um indicador que denota a posição de um determinado item entre todos os resultados de Produtos do AI Overviews.</td><td>integer</td></tr></tbody></table>

#### Painel de fontes

<table><thead><tr><th width="274">Chave (results.ai_overviews.source_panel)</th><th width="353">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>itens</code></td><td>Uma lista de fontes usadas para gerar o resultado do AI Overviews no recurso SERP do Google.</td><td>object</td></tr><tr><td><code>items.url</code></td><td>A URL do site.</td><td>string</td></tr><tr><td><code>items.source</code></td><td>O nome do site.</td><td>string</td></tr><tr><td><code>items.date</code></td><td>A data em que o artigo foi publicado.</td><td>string</td></tr><tr><td><code>items.title</code></td><td>O título do artigo.</td><td>string</td></tr><tr><td><code>items.pos</code></td><td>Um indicador que denota a posição de um determinado item entre todos os resultados do painel de fontes do AI Overviews.</td><td>integer</td></tr></tbody></table>

#### Perguntas adicionais

<table><thead><tr><th width="275">Chave (results.ai_overviews.additional_questions)</th><th width="343">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>items.question</code></td><td>Uma lista de perguntas adicionais separadas por vírgulas e relevantes para a consulta de pesquisa original.</td><td>array</td></tr><tr><td><code>items.pos</code></td><td>Um indicador que denota a posição de um determinado item entre todos os resultados de perguntas adicionais do AI Overviews.</td><td>integer</td></tr></tbody></table>

### Receita

No exemplo a seguir, a consulta "recipe for an apple pie" foi usada.

<figure><img src="/files/6205b12f811a0be043f6760cf25086c268e64ec6" alt=""><figcaption></figcaption></figure>

```json
...  
 "ai_overviews": [
   {
      "recipes": {
        "items": [
          {
            "description": "Esta receita simples apresenta uma massa caseira, maçãs Granny Smith e especiarias quentes.",
            "image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/...",
            "source": "Allrecipes",
            "rating": "4.8",
            "rating_count": "13K",
            "duration": "90 min",
            "url": "https://www.allrecipes.com/recipe/12682/apple-pie-by-grandma-ople/",
            "title": "Apple Pie by Grandma Ople"
          },
...
        ]
      }
    }
  ],
...
```

**Receitas**

<table><thead><tr><th width="234">Chave (results.ai_overviews.recipes)</th><th width="375">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>itens</code></td><td>Uma lista de receitas com seus respectivos detalhes.</td><td>array</td></tr><tr><td><code>items.description</code></td><td>Uma breve descrição da receita.</td><td>string</td></tr><tr><td><code>items.image</code></td><td>Uma imagem miniatura da receita codificada em base64.</td><td>string</td></tr><tr><td><code>items.source</code></td><td>O nome do site onde a receita é publicada.</td><td>string</td></tr><tr><td><code>items.rating</code></td><td>A classificação da receita.</td><td>string</td></tr><tr><td><code>items.rating_count</code></td><td>O número de avaliações.</td><td>string</td></tr><tr><td><code>items.duration</code></td><td>O tempo necessário para preparar o prato.</td><td>string</td></tr><tr><td><code>items.url</code></td><td>A URL da receita completa.</td><td>string</td></tr><tr><td><code>items.title</code></td><td>O título da receita.</td><td>string</td></tr></tbody></table>

No exemplo a seguir, a consulta "recipe of a juicy succulent steak" foi usada.

<figure><img src="/files/2e616da5c9f2575564b223e18ee14382d242fa9d" alt=""><figcaption></figcaption></figure>

#### Lista de informações

<table><thead><tr><th width="276">Chave (results.ai_overviews.info_list)</th><th width="353">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>list_title</code></td><td>O título da lista.</td><td>string</td></tr><tr><td><code>list_items</code></td><td>Contém uma lista de itens com seus respectivos detalhes.</td><td>array</td></tr><tr><td><code>list_items.title</code></td><td>O título da seção dentro da lista.</td><td>string</td></tr><tr><td><code>list_items.content</code></td><td>Uma breve descrição da seção.</td><td>array</td></tr><tr><td><code>list_item.pos</code></td><td>Um indicador que denota a posição de um determinado item entre todos os resultados da lista de informações do AI Overviews.</td><td>integer</td></tr></tbody></table>

### Instrução

No exemplo a seguir, a consulta "docker exec commands explained" foi usada.

<figure><img src="/files/81b8bd31dde86b5c18e401018e91b2c13cb91bcb" alt=""><figcaption></figcaption></figure>

```json
...
  "ai_overviews": [
    {
      "answer_text": [
        {
          "text": [
            "The docker execExecIn computing, exec is a functionality of an operating system that runs an executable file in the context of an already existing process, replacing the previous executable...",
            "It is a powerful tool that can be used for a variety of tasks, such as troubleshooting a container, running a script, or installing software.",
          ],
          "pos": 1
        },
        {
          "text": [
            "The syntax for the docker exec command is as follows:",
          ],
          "command": [
            "docker exec [OPTIONS] CONTAINER COMMAND [ARG...]"
          ],
          "pos": 2
        },
        ...
        }
      ]
    }
  ],
...
```

**Comando no texto da resposta**

{% hint style="info" %}
Observação: os detalhes são renderizados no mesmo array que para [**item related search query**](#answer-text), porém, um novo tipo de chave (command) aparece para o tipo de consulta relacionado a instruções
{% endhint %}

<table><thead><tr><th width="268">Chave (results.ai_overviews.answer_text)</th><th width="342">Descrição</th><th>Tipo</th></tr></thead><tbody><tr><td><code>command</code></td><td>Uma instrução dada a um computador ou software para executar uma tarefa específica.</td><td>string</td></tr></tbody></table>


---

# Agent Instructions: 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:

```
GET https://developers.oxylabs.io/api-targets/pt-br/mecanismos-de-busca/google/ai-overviews.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
