# Ads Max

El `google_ads` source está optimizado para recuperar resultados de Google Search (SERPs) y Google AI Overviews con anuncios de pago en un **máxima tasa de anuncios**. La source devolverá solo diez resultados por página, lo que garantiza las mayores posibilidades de que aparezcan resultados de pago. Fuera de eso, admite los mismos parámetros que regular [**Web** **Búsqueda**](https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/google/broken-reference/README.md).

## Ejemplos de solicitud

En este ejemplo, hacemos una solicitud para recuperar resultados de búsqueda de la palabra clave `adidas.`

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

```shell
curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "google_ads", 
        "query": "adidas",
        "parse": true
    }'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
from pprint import pprint


# Estructura la carga útil.
payload = {
    'source': 'google_ads',
    'query': 'adidas',
    'parse': True
}


# Obtén la respuesta.
response = requests.request(
    'POST',
    'https://realtime.oxylabs.io/v1/queries',
    auth=('USERNAME', 'PASSWORD'),
    json=payload,
)

# Imprime la respuesta con formato en stdout.
pprint(response.json())
```

{% endtab %}

{% tab title="Node.js" %}

```javascript
const https = require("https");

const username = "USERNAME";
const password = "PASSWORD";
const body = {
    source: "google_ads",
    query: "adidas",
    parse: true,
};

const options = {
    hostname: "realtime.oxylabs.io",
    path: "/v1/queries",
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        Authorization:
            "Basic " + Buffer.from(`${username}:${password}`).toString("base64"),
    },
};

const request = https.request(options, (response) => {
    let data = "";

    response.on("data", (chunk) => {
        data += chunk;
    });

    response.on("end", () => {
        const responseData = JSON.parse(data);
        console.log(JSON.stringify(responseData, null, 2));
    });
});

request.on("error", (error) => {
    console.error("Error:", error);
});

request.write(JSON.stringify(body));
request.end();
```

{% endtab %}

{% tab title="HTTP" %}

```http
https://realtime.oxylabs.io/v1/queries?source=google_ads&query=adidas&parse=true&access_token=12345abcde
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$params = array(
    'source' => 'google_ads',
    'query' => 'adidas',
    'parse' => true
);

$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, "USERNAME" . ":" . "PASSWORD");


$headers = array();
$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="Golang" %}

```go
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	const Username = "USERNAME"
	const Password = "PASSWORD"

	payload := map[string]interface{}{
		"source": "google_ads",
		"query":  "adidas",
		"parse":  true,
	}

	jsonValue, _ := json.Marshal(payload)

	client := &http.Client{}
	request, _ := http.NewRequest("POST",
		"https://realtime.oxylabs.io/v1/queries",
		bytes.NewBuffer(jsonValue),
	)

	request.SetBasicAuth(Username, Password)
	response, _ := client.Do(request)

	responseText, _ := ioutil.ReadAll(response.Body)
	fmt.Println(string(responseText))
}
```

{% endtab %}

{% tab title="C#" %}

```csharp
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;

namespace OxyApi
{
    class Program
    {
        static async Task Main()
        {
            const string Username = "USERNAME";
            const string Password = "PASSWORD";

            var parameters = new {
                source = "google_ads",
                query = "adidas",
                parse = true
            };

            var client = new HttpClient();

            Uri baseUri = new Uri("https://realtime.oxylabs.io");
            client.BaseAddress = baseUri;

            var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/queries");
            requestMessage.Content = JsonContent.Create(parameters);

            var authenticationString = $"{Username}:{Password}";
            var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.ASCIIEncoding.UTF8.GetBytes(authenticationString));
            requestMessage.Headers.Add("Authorization", "Basic " + base64EncodedAuthenticationString);

            var response = await client.SendAsync(requestMessage);
            var contents = await response.Content.ReadAsStringAsync();

            Console.WriteLine(contents);
        }
    }
}
```

{% endtab %}

{% tab title="Java" %}

```java
package org.example;

import okhttp3.*;
import org.json.JSONObject;
import java.util.concurrent.TimeUnit;

public class Main implements Runnable {
    private static final String AUTHORIZATION_HEADER = "Authorization";
    public static final String USERNAME = "USERNAME";
    public static final String PASSWORD = "PASSWORD";

    public void run() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("source", "google_ads");
        jsonObject.put("query", "adidas");
        jsonObject.put("parse", true);

        Authenticator authenticator = (route, response) -> {
            String credential = Credentials.basic(USERNAME, PASSWORD);
            return response
                    .request()
                    .newBuilder()
                    .header(AUTHORIZATION_HEADER, credential)
                    .build();
        };

        var client = new OkHttpClient.Builder()
                .authenticator(authenticator)
                .readTimeout(180, TimeUnit.SECONDS)
                .build();

        var mediaType = MediaType.parse("application/json; charset=utf-8");
        var body = RequestBody.create(jsonObject.toString(), mediaType);
        var request = new Request.Builder()
                .url("https://realtime.oxylabs.io/v1/queries")
                .post(body)
                .build();

        try (var response = client.newCall(request).execute()) {
            if (response.body() != null) {
                try (var responseBody = response.body()) {
                    System.out.println(responseBody.string());
                }
            }
        } catch (Exception exception) {
            System.out.println("Error: " + exception.getMessage());
        }

        System.exit(0);
    }

    public static void main(String[] args) {
        new Thread(new Main()).start();
    }
}
```

{% endtab %}

{% tab title="JSON" %}

```json
{
    "source": "google_ads", 
    "query": "adidas",
    "parse": true
}
```

{% endtab %}
{% endtabs %}

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

## Valores de los parámetros de solicitud

### Genérico

Opciones básicas de configuración y personalización para extraer anuncios de Google.

<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><mark style="background-color:green;"><strong>source</strong></mark></td><td>Establece el scraper.</td><td><code>google_ads</code></td></tr><tr><td><mark style="background-color:green;"><strong>query</strong></mark></td><td>La palabra clave o frase 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="/spaces/xofNngbwiAAH0MB3lMAb/pages/47852075b446d7f11217f4c0334348f21fb197b8#javascript-rendering"><strong>Más información</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>parse</code></td><td>Devuelve datos analizados cuando se establece en <code>true</code>. Explora el <a href="#output-data-dictionary"><strong>diccionario de datos</strong></a>.</td><td><code>false</code></td></tr><tr><td><code>callback_url</code></td><td>URL de tu endpoint de callback. <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/28181dba27c108c1684f7f17f5d8fef78bd80d90"><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. La lista completa se puede encontrar <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/c0794af77dadf44c32dae6894baaca0b93585869"><strong>aquí</strong></a>.</td><td><code>desktop</code></td></tr></tbody></table>

&#x20;   \- parámetro obligatorio

### 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 se debe adaptar el resultado. Usar este parámetro correctamente es extremadamente importante para obtener los datos correctos. Para más información, lee sobre nuestras <code>geo_location</code> estructuras de parámetros <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/7ba8016b17441e2b1496d43e14d3e47b6eefb6f9#google"><strong>aquí</strong></a><strong>.</strong></td><td>-</td></tr><tr><td><code>locale</code></td><td><code>Accept-Language</code> valor del encabezado que cambia el idioma de la interfaz web de tu página de búsqueda de Google. <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/6eb70a43f15a81321802a17be08ec05b79c90a3f#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>pages</code></td><td>Número de páginas a recuperar.</td><td><code>1</code></td></tr></tbody></table>

### Filtrado

Opciones para filtrar y refinar los resultados de búsqueda según varios criterios.

<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><p><code>context</code>:</p><p><code>udm</code></p></td><td><code>udm</code> el parámetro permite cambiar 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>To-be-matched 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><code>tbs</code> parámetro. Este parámetro funciona como un contenedor para parámetros de Google más obscuros, como limitar/ordenar resultados por fecha, así como otros filtros, algunos de los cuales dependen de <code>tbm</code> (p. ej. <code>tbs=app_os:1</code> solo está disponible con el <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>

### 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>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 arreglo `context` como objetos con pares `key` y `valor` value, por ejemplo.:

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

## Ejemplo de salida

<details>

<summary><code>google_ads</code> salida estructurada</summary>

```json
{
    "results": [
      {
        "content": {
          "url": "https://www.google.nl/search?q=adidas&uule=w+CAIQICILbmV0aGVybGFuZHM&gl=nl&hl=nl",
          "page": 1,
          "results": {
            "paid": [
              {
                "pos": 1,
                "url": "https://www.adidas.nl/",
                "desc": "Historias, looks y ropa deportiva en adidas® Desde 1949. Descubre la tienda oficial de adidas®. Ya sea que practiques deporte o te relajes, impulsa tu rendimiento y estilo en la tienda de adidas®.",
                "title": "Tienda oficial adidas® - Clásicos y artículos exclusivos",
                "data_rw": "https://www.google.nl/aclk?sa=l&ai=DChcSEwiWl6aS-6uBAxWXkmgJHZLLC74YABAAGgJ3Zg&gclid=EAIaIQobChMIlpemkvurgQMVl5JoCR2Sywu-EAMYASAAEgJRofD_BwE&sig=AOD64_2CbsJk2pXa0T2IqTfvVb1wKZvM8g&q&adurl",
                "sitelinks": {
                  "inline": [
                    {
                      "url": "https://www.adidas.nl/dames?grid=true",
                      "title": "adidas® Mujer"
                    },
                    {
                      ...
                    }
                  ]
                },
                "url_shown": "https://www.adidas.nl",
                "pos_overall": 10
              }
            ],
            "images": {
              "items": [
                {
                  "alt": "Zapatillas adidas Forum Low - Blanco | Tienda oficial adidas",
                  "pos": 1,
                  "source": "https://www.adidas.nl/forum-low-schoenen/FY7756.html"
                },
                {
                  ...
                }
              ],
              "pos_overall": 5
            },
            "organic": [
              {
                "pos": 1,
                "url": "https://www.adidas.nl/",
                "desc": "Tienda de deportes de calzado y ropa adidas. Compra, entre otros, artículos de Originals, Fútbol, Running y gym en el sitio web oficial de adidas NL.",
                "title": "Sitio web oficial de adidas Países Bajos | Tienda de deportes",
                "sitelinks": {
                  "expanded": [
                    {
                      "url": "https://www.adidas.nl/outlet",
                      "title": "Outlet"
                    },
                    {
                      ...
                    },
                    {
                      "url": "https://www.adidas.nl/kinderen",
                      "title": "Niños"
                    }
                  ]
                },
                "url_shown": "https://www.adidas.nl",
                "pos_overall": 1
              },
              {
                ...
              },
              {
                "pos": 7,
                "url": "https://www.jdsports.nl/merk/adidas-originals/",
                "desc": "La colección completa de adidas Originals en JD Sports Nederland. Chándal, chanclas y zapatillas adidas Originals en colores exclusivos.",
                "title": "chándal, chanclas y zapatillas adidas Originals negras y ...",
                "url_shown": "https://www.jdsports.nl› merk › adidas-originals",
                "pos_overall": 9
              }
            ],
            "knowledge": {
              "title": "Adidas",
              "images": [
                "iVBORw0KGgoAAAANSUhEUgAAAHcAAABQCAMAAAAUTho2AAAAY1BMVEX///8AAACdnZ1hYWF7e3tdXV3h4eFFRUWmpqbx8fFPT0/V1dXq6ur6+vq1tbXl5eVVVVVra2uRkZE9PT0ZGRnOzs44ODi9vb1xcXGGhobFxcUsLCysrKwzMzMdHR0TExMkJCST6SYPAAAFMUlEQVRogcVZ2YKqMAwFAaFAkUUFUUf//ysvbZNSaDMyCt68OEOgp6TJyYLnrSF5dVplnb8Jr32/+T7s7ccf5PZl1OzsK+HfRM0rH+XyPVRxsKPsvwVbPExYP/oOatb4M+m/gGocrJbj5qjTg9Wy2xq3dcL6fr41cODGDbfG3RMvnG0NfHHjxlvjcuKFi62Bb27c4+Y0fXYD11vjnghLH7YCbJn6dTCWkGAb1EOJtHQgXniLkoeFYmWgJTdZ+tf1YRO1cqX+4w83cLIyaq9dGGipcOM+2Jqow8FqQVpK3cAr0jSbEiPQUubGXa/kuR2nC/8ALRGxlK6DerpbKwMtMeKF1yh5Ds5kC7G0c+M+P6dpIgEALfGrW/15yfOClqiS5/NYIkx5BnXpVlcf41KmhE5su5KHoCXsxDq3doWSJ3avDLRExdLnJQ9lSqClxK39+dy1QvfKpdJym1akvF/y5BAsL2ipJ9Rvtg9DF/SEPwlTIi0RsVS+BVuIuQXyzu+0RHHLGzSdgRODc1DVI6iJ9uFMr+8WphNcB1eITgzUbJWSh5vUCMFCmRJoicgef6Lp9mk+iTmcMCWqiVhaXvLs5+wEvMOPzoVRTTnAwpKH2RSBwULRNDxJOMCykmfn8g/knd87McoB2gUv++N+FJyDqh6hE6PahwUlD8E72GoRNI0lD7HrBTT9oqbJf1dTDrAgll6MLYiS5w5qwgEWlDyUrXC6TKiBligHWNCZvuAdKuOBmih5ltD0zi3FLkl2BXRitVvde7n74fr92YM0YQTsYC8j1Z3juU9F0uAQMJH4tblP4m4xJfzfuOV/wm2TwYFsItgcl5C3cYswbeLuxry+6rpK55D+MlyOdnu18IC7C8OwyyfqANUa91SX6ql8WKyDDzws6WJ1sxZjbB9KKgT+GUmkLBznO1cDbqtzaSMvy094bKSUFMMws9hP4jJrWjPxZ2YlL4nLrZGHIPd8ktdP49nYuPxpXTZxmV1QSVx7tCRwZxlDHBSWoNdy/CCUjAv8pLHeq4kLVdjTUAtcMOcjTbURYxgKHFuOZbm4UyXzSqyl69cEDy+WJmmPFq5SN1JdPDWuqu6e0i9xvBfDblQBqFotDrkc25FM4z4BSN18n+GqGUAJJQy7Iq40UgPxzRvElZfBr6sgCEqmOq4xMAvAlRsfJ6v7Ge4Jdg1yAFx1mw4zhrjK18qbEUMBHhjIXeHWo2WkdFPc2jQSHlbomeEkpAbcMeLuYaLAhD3PfHZronZo9K/tFFeqjXTYK0BZJhlN4Alwp19fUuEV0gDjnWprieQHc1Awy0fBxMyaJ8OZ8faAO4/Vm6qYGvt9g1XeN0Pc+ffTzDrfxjhfo9QPp7gXdddUDedrfHCvNe7gZH1daYboVGk6ViiqcEvU71iPqWib+fNxpkZ/1sejjtUYZHG2V5XyA0IAXRMmRgl8O8D98PMMl0/CG9QhsJg+thRw9/7j8UB3UNyEsRWKw2I4PklQnYq2mvfAeQZfqTtjqW5HvlLmuvYC46T5SlHxbWp7bD7SoNQdboIHPWw+inQGMPkZLsZRpEcuInAj9ec5inQq0LxRaAeVPZOjY048ZzNk4jrUAtcxRJ28G5hGRooNLD01t5aY5N+DlQhV/rUSYexZfQYQoRFcZahxPT52aY08lWhSbxhVyln+2ZmOI+QqL8t6IzO2cx/7pcOufAxJs868TDQWqGBJNRimuZy8XPQmwzYL0XZgoOS3avC4+NJ7TKgx3FnRiadCuAz+lNXCf45RLRf/B6q/PRO4flx7AAAAAElFTkSuQmCC"
              ],
              "factoids": [
                {
                  "links": [
                    {
                      "href": "/search?sca_esv=565570927&gl=nl&hl=nl&q=adidas+aandelenkoers&stick=H4sIAAAAAAAAAONgecRoxi3w8sc9YSndSWtOXmNU5-IKzsgvd80rySypFJLkYoOy-KV4ubj10_UNU8rMTcvSUngWsYokpmSmJBYrJCbmpaTmpOZl56cWFQMAFq2xOVIAAAA&sa=X&ved=2ahUKEwi_pp6S-6uBAxXAh_0HHfISDAcQ6BN6BAhKEAI",
                      "title": "Precio de las acciones"
                    },
                    {
                      ...
                    }
                  ],
                  "title": "Precio de las acciones",
                  "content": "ADS (ETR) € 170,90 -0,20 (-0,12%)14 sep 17:43 CEST - Descargo de responsabilidad"
                },
                {
                  ...
                },
                {
                  "links": [
                    {
                      "href": "/search?sca_esv=565570927&gl=nl&hl=nl&q=adidas+beurs&sa=X&ved=2ahUKEwi_pp6S-6uBAxXAh_0HHfISDAcQ6BMoAHoECFQQAg",
                      "title": "Bolsa"
                    },
                    {
                      "href": "/search?sca_esv=565570927&gl=nl&hl=nl&q=Deutsche+B%C3%B6rse:+ADS&stick=H4sIAAAAAAAAAONgVuLUz9U3MDNOqcxexCriklpaUpyckargdHhbUXGqlYKjSzAA1vflrCQAAAA&sa=X&ved=2ahUKEwi_pp6S-6uBAxXAh_0HHfISDAcQmxMoAXoECFQQAw",
                      "title": "Deutsche Börse: ADS"
                    }
                  ],
                  "title": "Bolsa",
                  "content": "Deutsche Börse: ADS"
                }
              ],
              "subtitle": "Empresa",
              "description": "Adidas AG es una multinacional alemana, fundada y con sede en Herzogenaurach, Alemania, que diseña y fabrica calzado, ropa y accesorios. Es el mayor fabricante de ropa deportiva de Europa y el segundo más grande del mundo, después de Nike.",
              "related_searches": [
                {
                  "url": "/search?sca_esv=565570927&gl=nl&hl=nl&q=Nike&si=ALGXSlZS0YT-iRe81F2cKC9lM9KWTK4y0m5Atx8g9YliNNw2mQ1KNk4tlt4bFDSc4NSQLjoQ-vCfp5VZjzAXWikRLPCiUPiH-mOH7_cmQFsmf2z83S2EU2EOpnBI8OdBJXAiGRnoX0ydR5k-eMMITDBqkFZ9mrJ6UwS_U63P0J1T-oSWGmQQ6GNH5ccal-6QMsHpIrNROn0BGlDTfD6GarlvzXqNi-CRVT4R20kaKPvTWmsRRH8JeiMRyMX8Ex7aYsJr1iVLszn5EKHqZtj_rlGyxItbVDzNKQ%3D%3D&sa=X&ved=2ahUKEwi_pp6S-6uBAxXAh_0HHfISDAcQxA16BAhMEAU",
                  "title": "Nike",
                  "section_title": "La gente también busca"
                },
                {
                  ...
                },
                {
                  "url": "/search?sca_esv=565570927&gl=nl&hl=nl&q=Reebok&si=ALGXSlYh1-GEPndq7qMo--O-TPixQtNN4JMroSxgItz5kq0stLoU8Q_ZNH58zk1o0S-SXC9cxPPLJ78Mz2ie2KaCE9G4Q9yl23tVTaG5rRyKrfdJYzV29xX2O0Ik23POfs_d81weX8VaRe4_cf3ZkyFOYvw82PyxsqmS3GF_fXwBBLjbODPEQax0Nf1q1GBTsXoAxeHLAWmsGguZMB4xwAD_4A-e3B0Vy5_5zC7tmLq8SoPlqlgtHN1WvxQ2KxwtpeMFaXU7Mqw53TMR-P6mKadGD8EKqGlbZXtA73qUWORpELm1VjLvg2Q%3D&sa=X&ved=2ahUKEwi_pp6S-6uBAxXAh_0HHfISDAcQxA16BAhMEAs",
                  "title": "Reebok",
                  "section_title": "La gente también busca"
                }
              ]
            },
            "navigation": [
              {
                "pos": 1,
                "url": "/search?sca_esv=565570927&gl=nl&hl=nl&q=adidas&tbm=isch&source=lnms&sa=X&ved=2ahUKEwi_pp6S-6uBAxXAh_0HHfISDAcQ0pQJegQIDhAB",
                "title": "Imágenes"
              },
              {
                ...
              }
            ],
            "instant_answers": [
              {
                "type": "desconocido",
                "_parsed": false,
                "pos_overall": 4
              }
            ],
            "related_searches": {
              "pos_overall": 11,
              "related_searches": [
                "adidas shoes",
                "adidas football boots",
                "adidas yeezy",
                "adidas originals",
                "adidas wiki",
                "adidas slippers",
                "adidas store",
                "adidas superstar"
              ]
            },
            "search_information": {
              "query": "adidas",
              "showing_results_for": "adidas",
              "total_results_count": 1110000000
            },
            "total_results_count": 1110000000
          },
          "last_visible_page": -1,
          "parse_status_code": 12000
        },
        "created_at": "2023-09-15 06:13:50",
        "updated_at": "2023-09-15 06:13:52",
        "page": 1,
        "url": "https://www.google.nl/search?q=adidas&uule=w+CAIQICILbmV0aGVybGFuZHM&gl=nl&hl=nl",
        "job_id": "7108332062523787265",
        "status_code": 200,
        "parser_type": ""
      }
    ]
  }
```

</details>

## Diccionario de salida

`google_ads` la salida incluye campos como URL, página, resultados y más. La siguiente tabla presenta una lista detallada de cada elemento de Google Ads Max que analizamos, incluida la descripción, el tipo de dato y metadatos relevantes.

{% hint style="info" %}
El número de elementos y campos para un tipo de resultado específico puede variar según la consulta de búsqueda.
{% endhint %}

<table><thead><tr><th width="250">Nombre de clave</th><th width="414">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>url</code></td><td>La URL de la página de resultados de búsqueda de Google.</td><td>string</td></tr><tr><td><code>page</code></td><td>Número de página.</td><td>integer</td></tr><tr><td><code>resultados</code></td><td>Un object que contiene todos los tipos de resultados de búsqueda.</td><td>object</td></tr><tr><td><code>results.paid</code></td><td>Lista de resultados de anuncios de pago con detalles como título, descripción, URL y sitelinks.</td><td>array</td></tr><tr><td><code>results.organic</code></td><td>Lista de resultados de búsqueda orgánicos (no de pago) con título, descripción, URL y sitelinks.</td><td>array</td></tr><tr><td><code>results.images</code></td><td>Resultados de carrusel de imágenes mostrados en la página de búsqueda.</td><td>object</td></tr><tr><td><code>results.instant_answers</code></td><td>Funciones especiales o cuadros de respuesta instantánea mostrados en la página.</td><td>array</td></tr><tr><td><code>results.knowledge</code></td><td>Datos del panel de Knowledge Graph que incluyen título, descripción, imágenes, hechos y búsquedas relacionadas.</td><td>object</td></tr><tr><td><code>results.navigation</code></td><td>Pestañas de navegación para cambiar entre tipos de búsqueda (Imágenes, Videos, Noticias, etc.).</td><td>array</td></tr><tr><td><code>results.related_searches</code></td><td>Sugerencias de búsqueda relacionadas con sus consultas y posición.</td><td>object</td></tr><tr><td><code>results.search_information</code></td><td>Metadatos sobre la búsqueda, incluida la consulta y el recuento total de resultados.</td><td>object</td></tr><tr><td><code>results.total_results_count</code></td><td>Número total estimado de resultados para la consulta.</td><td>integer</td></tr><tr><td><code>results.video_boxes</code></td><td>Información del cuadro de video (más detalles <a href="/pages/03d813a274c5e5b116c6674ba61771242c214413#video-box">aquí</a>)</td><td>array</td></tr><tr><td><code>parse_status_code</code></td><td>Código de estado de la operación de análisis.</td><td>integer</td></tr><tr><td><code>created_at</code></td><td>Marca de tiempo en que se creó el trabajo de scraping.</td><td>timestamp</td></tr><tr><td><code>updated_at</code></td><td>Marca de tiempo en que se terminó el trabajo de scraping.</td><td>timestamp</td></tr><tr><td><code>job_id</code></td><td>ID del trabajo asociado con el trabajo de scraping.</td><td>string</td></tr><tr><td><code>status_code</code></td><td>Código de estado del trabajo de scraping. Puedes ver los códigos de estado del scraper descritos <a href="/spaces/xofNngbwiAAH0MB3lMAb/pages/78dd394ebf4ec5dea020480e645bc2a8d9e54694">aquí</a>.</td><td>integer</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/es/motores-de-busqueda/google/ads.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.
