# Producto de Shopping

El `google_shopping_product` la fuente recupera información detallada del producto (título, descripción, precios, vendedores, artículos relacionados, reseñas, etc.) de Google Shopping usando un **token de producto** adquirido de `google_shopping_search` [source](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/google/shopping/shopping-search).

## **Muestras de solicitud**

En el ejemplo de código a continuación, hacemos una solicitud para recuperar la página de producto de Google Shopping usando un token válido.

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

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

{% endtab %}

{% tab title="Python" %}

```python
import requests
from pprint import pprint


# Structure payload.
payload = {
    "source": "google_shopping_product",
    "query": "[product_token_string]",
    "render": "html",
    "parse": True
}

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

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

{% endtab %}

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

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

const username = "USERNAME";
const password = "PASSWORD";
const body = {
    source: "google_shopping_product",
    query: "[product_token_string]",
    render: "html",
    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_shopping_product&query=[product_token_string]&parse=true&access_token=12345abcde
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$params = array(
    'source' => 'google_shopping_product',
    'query' => '[product_token_string]',
    'render' => 'html',
    '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_shopping_product",
		"query": "[product_token_string]",
		"render": "html",
		"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_shopping_product",
                query = "[product_token_string]",
                render = "html",
                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_shopping_product");
        jsonObject.put("query", "[product_token_string]");
        jsonObject.put("render", "html");
        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_shopping_product",
    "query": "[product_token_string]",
    "render": "html",
    "parse": true
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
**Importante:** El `query` el parámetro debe contener un token válido generado a través de `google_shopping_search` [source](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/targets/google/shopping/shopping-search).
{% endhint %}

Usamos [**Realtime**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods/realtime) método de integración en nuestros ejemplos. Si desea usar [**Proxy Endpoint**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods/proxy-endpoint) o asincrónico [**Push-Pull**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods/push-pull) integración, consulte el [**métodos de integración**](https://developers.oxylabs.io/documentation/es/soluciones-de-scraping/web-scraper-api/integration-methods) sección.

## Valores de parámetros de la solicitud

### Genérico

Configuración básica y opciones de personalización para raspar páginas de productos de Google Shopping.

<table><thead><tr><th width="222">Parámetro</th><th width="330.3333333333333">Descripción</th><th>Valor predeterminado</th></tr></thead><tbody><tr><td><mark style="background-color:green;"><strong><code>source</code></strong></mark></td><td>Establece el scraper.</td><td><code>google_shopping_product</code></td></tr><tr><td><mark style="color:predeterminado;background-color:green;"><strong><code>query</code></strong></mark></td><td>El token de producto de <code>google_shopping_search</code></td><td>-</td></tr><tr><td><code>render</code></td><td>Activa el renderizado de JavaScript cuando se establece en <code>html</code>. <strong>Requerido</strong> para recibir resultados de precios adicionales de la sección "Más tiendas".  <a href="../../../features/js-rendering-and-browser-control/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>. Explorar 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 su endpoint de callback. <a href="../../../../integration-methods/push-pull#callback"><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="../../../features/http-context-and-job-management/user-agent-type"><strong>aquí</strong></a>.</td><td><code>desktop</code></td></tr></tbody></table>

&#x20;   \- parámetro obligatorio

### Localización

Adapta los resultados a ubicaciones geográficas específicas, dominios e idiomas.

<table><thead><tr><th width="218">Parámetro</th><th width="336.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 cual se deben adaptar los resultados. Usar este parámetro correctamente es extremadamente importante para obtener los datos correctos. Para más información, lea sobre nuestras sugeridas <code>geo_location</code> estructuras de parámetros <a href="../../../../features/localization/serp-localization#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 para cambios en el idioma de la interfaz. <a href="../../../../features/localization/domain-locale-results-language#locale-1"><strong>Más información</strong></a>.</td><td>-</td></tr><tr><td><code>context</code>:<br><code>results_language</code></td><td>Idioma de los resultados. La lista de idiomas de Google soportados se puede encontrar <a href="../../../../features/localization/domain-locale-results-language#results-language"><strong>aquí</strong></a>.</td><td>-</td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** asegúrate de que tus parámetros de localización para `google_shopping_product` y `google_shopping_search` las fuentes sean los mismos (ninguno si no está definido). El desajuste regional entre las fuentes puede resultar en datos incompletos o inexactos.
{% endhint %}

## "key": "filter",

A continuación puedes encontrar un **ejemplo de salida estructurada** para `google_shopping_product`.

{% file src="<https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FpVvZOSKeXd1vqwj0rLIS%2Fgoogle_shopping_product-output.json?alt=media&token=beb45d8e-8b23-4dd3-a833-2e007a61cd76>" %}

## Diccionario de datos de salida

**Muestra HTML**

<figure><img src="https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2Fr8YmqvFmrdisQ3i0FaiV%2FScreenshot%202025-10-15%20at%2014.57.20.png?alt=media&#x26;token=90e6aca3-0345-4eb2-ad5f-2c4a80881997" alt=""><figcaption></figcaption></figure>

#### Estructura JSON

La tabla a continuación presenta una lista detallada de cada elemento de la página de producto que analizamos, junto con su descripción y tipo de dato. La tabla también incluye algunos metadatos.

<table><thead><tr><th width="247.11328125">Clave</th><th width="384">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>url</code></td><td>La URL de la página de producto en Google Shopping.</td><td>string</td></tr><tr><td><code>title</code> (opcional) </td><td>El título del anuncio del producto.</td><td>string</td></tr><tr><td><code>description</code></td><td>Una descripción detallada del producto.</td><td>string</td></tr><tr><td><code>images</code></td><td>Un objeto que contiene imágenes del producto.</td><td>object</td></tr><tr><td><code>images.full_size</code></td><td>Una matriz de URL de imágenes de tamaño completo del producto.</td><td>array</td></tr><tr><td><code>images.thumbnails</code></td><td>Una matriz de URL de imágenes en miniatura del producto.</td><td>array</td></tr><tr><td><code>pricing</code></td><td>Una matriz que contiene toda la información de precios en línea.</td><td>array</td></tr><tr><td><code>reviews</code></td><td>Un objeto que contiene información de reseñas. (solo EE. UU.)</td><td>object</td></tr><tr><td><code>variants</code></td><td>Una matriz de objetos que contiene variantes del producto. (colores, tallas, etc.)</td><td>array</td></tr><tr><td><code>related_items</code></td><td>Una matriz de objetos que contiene artículos relacionados.</td><td>array</td></tr><tr><td><code>specifications</code></td><td>Una matriz de objetos que contiene especificaciones del producto.</td><td>array</td></tr><tr><td><code>parse_status_code</code></td><td>El código de estado del trabajo de análisis. Puede ver los códigos de estado del parser descritos <a href="https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/google/shopping/broken-reference/README.md"><strong>aquí</strong></a>.</td><td>integer</td></tr><tr><td><code>created_at</code></td><td>La marca de tiempo cuando se creó el trabajo de scraping.</td><td>timestamp</td></tr><tr><td><code>updated_at</code></td><td>La marca de tiempo cuando se finalizó el trabajo de scraping.</td><td>timestamp</td></tr><tr><td><code>status_code</code></td><td>El código de estado del trabajo de scraping. Puede ver los códigos de estado del scraper descritos <a href="https://github.com/oxylabs/gitbook-public-english/blob/master/scraping-solutions/web-scraper-api/targets/google/shopping/broken-reference/README.md"><strong>aquí</strong></a>.</td><td>integer</td></tr><tr><td><code>job_id</code></td><td>El ID del trabajo asociado con el trabajo de scraping.</td><td>string</td></tr></tbody></table>

{% hint style="info" %}
En las secciones siguientes, los fragmentos de código JSON analizados se acortan cuando hay más de un elemento disponible para el tipo de resultado.
{% endhint %}

### Precios

Un objeto que contiene información de precios del producto.

<figure><img src="https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FZMNrYSwZCXOdyur8JQKT%2FScreenshot%202025-10-15%20at%2014.58.23.png?alt=media&#x26;token=50d5c815-14ad-4755-a1a0-006b965f6584" alt=""><figcaption></figcaption></figure>

```json
...
   "pricing": {
    "online": [
        {
          "price": 559,
          "seller": "Walmart - Seller",
          "details": "Pny GeForce RTX 4070 GPU 12gb Xlr8 Gaming Verto Epic-x RGB Triple Fan Dlss 3 Graphics Card",
          "currency": "USD",
          "condition": "New",
          "seller_link": "https://www.walmart.com/ip/PNY-GeForce-RTX-4070-GPU-12GB-XLR8-Gaming-VERTO-EPIC-X-RGB-Triple-Fan-DLSS-3-Graphics-Card/1396859462?wmlspartner=wlpa&selectedSellerId=101035116&selectedOfferId=159733DADC653E1891C050148D16D747&conditionGroupCode=1",
          "price_shipping": 22.05
        },
...
    ]
},
...
```

<table><thead><tr><th width="231">Clave (pricing[])</th><th width="375">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>online</code></td><td>Una matriz de objetos que contiene detalles de precios del producto.</td><td>array</td></tr><tr><td><code>online.price</code></td><td>El precio del producto en la moneda especificada.</td><td>float</td></tr><tr><td><code>online.seller</code></td><td>El nombre del vendedor o comerciante que ofrece el producto.</td><td>string</td></tr><tr><td><code>online.details</code></td><td>Detalles adicionales sobre el producto o la compra, como políticas de entrega y devoluciones.</td><td>string</td></tr><tr><td><code>online.currency</code></td><td>El código de moneda para el precio del producto.</td><td>string</td></tr><tr><td><code>online.condition</code></td><td>La condición del producto.</td><td>string</td></tr><tr><td><code>online.price_tax</code></td><td>El monto de impuestos aplicado al precio del producto.</td><td>float</td></tr><tr><td><code>online.price_total</code> (opcional)</td><td>El precio total del producto, incluido el impuesto.</td><td>float</td></tr><tr><td><code>online.seller_link</code></td><td>La URL a la página del vendedor para el producto.</td><td>string</td></tr><tr><td><code>online.price_shipping</code></td><td>El costo de envío del producto.</td><td>float</td></tr></tbody></table>

### Reseñas

Un objeto que contiene información de reseñas y valoraciones del producto.

{% hint style="info" %}
En este momento, las reseñas solo están disponibles en la configuración regional de EE. UU.
{% endhint %}

<figure><img src="https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FgyqhIgk2YjtfkwjVUhcC%2Fgoogle_shopping_product-reviews.png?alt=media&#x26;token=0e26f7cb-e953-416f-bac7-3fc491888735" alt=""><figcaption></figcaption></figure>

```json
...       
       "reviews": {
    "rating": 4.7,
    "top_review": {
        "text": "Mi computadora es una Dell Optiplex 9020, i7-4770, 32mb, 500gb SSD. La tarjeta de 3 ventiladores es larga, y la jaula del disco duro tuvo que retirarse para caber en la carcasa Optiplex. La fuente de alimentación se actualizó a 750 vatios, lo que requirió un adaptador para la placa base Dell. Con esas modificaciones fuera del camino, la instalación de la tarjeta fue sin drama, pero hay que usar Google para encontrar el controlador en el sitio web de Nvidia. Estoy usando esta GPU para animación 3D en Blender. Estoy muy satisfecho con la velocidad del renderizado con trazado de rayos en EEVEE y Cycles. Como es una computadora antigua, la CPU nunca funciona al 100%, y aún no he podido exprimir la capacidad de esta tarjeta. No oigo los ventiladores funcionando pero supongo que nunca le he puesto una carga lo suficientemente alta todavía. Tiene un pequeño zumbido electrónico cuando renderiza.\u00a0Menos",
        "author": "walmart.com Shopper",
        "rating": 5,
        "source": "Reviewed on walmart.com"
      },
      "rating_stars": 4.7,
      "reviews_count": 51,
      "reviews_by_stars": {
        "1": {
          "reviews_count": 2
        },
        "2": {
          "reviews_count": 0
        },
        "3": {
          "reviews_count": 2
        },
        "4": {
          "reviews_count": 3
        },
        "5": {
          "reviews_count": 44
        }
    },
},
...
```

<table><thead><tr><th width="253">Clave(reviews[])</th><th width="375">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>rating</code></td><td>La calificación promedio del producto, típicamente sobre 5.</td><td>float</td></tr><tr><td><code>top_review</code> (opcional)</td><td>Un objeto que contiene detalles de la reseña principal del producto.</td><td>object</td></tr><tr><td><code>top_review.text</code> (opcional)</td><td>El contenido de texto de la reseña principal</td><td>string</td></tr><tr><td><code>top_review.title</code> (opcional)</td><td>El título de la reseña principal.</td><td>string</td></tr><tr><td><code>top_review.author</code> (opcional)</td><td>El autor de la reseña principal.</td><td>string</td></tr><tr><td><code>top_review.rating</code> (opcional)</td><td>La calificación dada por el autor de la reseña principal, típicamente sobre 5.</td><td>float</td></tr><tr><td><code>top_review.source</code> (opcional)</td><td>La fuente o sitio web donde se publicó la reseña principal.</td><td>string</td></tr><tr><td><code>rating_stars</code></td><td>La calificación promedio del producto, típicamente sobre 5 estrellas.</td><td>float</td></tr><tr><td><code>reviews_count</code> (opcional)</td><td>El número total de reseñas del producto.</td><td>integer</td></tr><tr><td><code>reviews_by_stars</code></td><td>Un objeto que contiene el recuento de reseñas por cada calificación de estrellas.</td><td>object</td></tr><tr><td><code>reviews_by_stars.url</code> (opcional)</td><td>Un objeto que contiene detalles de reseñas de X estrellas.</td><td>string</td></tr><tr><td><code>reviews_by_stars.reviews_count</code></td><td>El recuento de reseñas de X estrellas.</td><td>integer</td></tr></tbody></table>

### Artículos relacionados (Más opciones)

Una matriz de objetos que contiene artículos relacionados para el producto objetivo.

<figure><img src="https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FafwjKpnk3srO4MRVlOUM%2FScreenshot%202025-10-15%20at%2015.05.40.png?alt=media&#x26;token=ea5d9aee-b0c2-434c-a2f9-784a6aa6e039" alt=""><figcaption></figcaption></figure>

```json
...             
   "related_items": [
      {
        "results": {
          {
            "url": "/search?ibp=oshop&prds=catalogid:1368129371371338580,gpcid:14975392695437189622,headlineOfferDocid:2388507960063782588,imageDocid:1618178582933849531,productid:7780474142858650836,pvo:2,pvt:hg,rds:PC_14975392695437189622%7CPROD_PC_14975392695437189622&q=nvidia+rtx&gl=us&hl=en&pvorigin=2",
            "image": "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcScO-LIdlqj1WjcLznMECFXNo4qbZ1TRbkfHdDsDPoIYxx7S9TjKhnQX7Ah6QsKI-zPBKFrC54H0wGZC60Q_NdRebesvYUXwRhQFuZRwvtWmx4_0xoxbylM",
            "price": 639.99,
            "title": "NVIDIA GeForce RTX 5070 12GB GDDR7 Graphics Card",
            "currency": "USD",
            "reviews_count": 228
          },
...
        ],
        "title": "More options"
     }
],
...
```

<table><thead><tr><th width="265">Clave(related_items[])</th><th width="350">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>elementos</code></td><td>Una matriz de objetos que contiene detalles de cada artículo relacionado.</td><td>array</td></tr><tr><td><code>items.url</code></td><td>La URL de la página del producto relacionado.</td><td>string</td></tr><tr><td><code>items.image</code></td><td>La URL de la imagen del producto relacionado.</td><td>string</td></tr><tr><td><code>items.price</code></td><td>El precio del producto relacionado en la moneda especificada.</td><td>float</td></tr><tr><td><code>items.title</code> (opcional)</td><td>El título del anuncio del producto relacionado.</td><td>string</td></tr><tr><td><code>items.rating</code> (opcional)</td><td>La calificación promedio de los usuarios del producto relacionado, típicamente sobre 5.</td><td>integer</td></tr><tr><td><code>items.store</code> (opcional)</td><td>El nombre de la tienda o comerciante que ofrece el producto relacionado.</td><td>string</td></tr><tr><td><code>items.currency</code></td><td>El código de moneda para el precio del producto.</td><td>string</td></tr><tr><td><code>items.reviews_count</code></td><td>El número total de reseñas del producto relacionado.</td><td>integer</td></tr><tr><td><code>title</code></td><td>El título o encabezado para la sección de artículos relacionados</td><td>string</td></tr></tbody></table>

### Especificaciones

Una matriz de objetos que contiene detalles de las especificaciones del producto.

<figure><img src="https://338917265-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzrXw45naRpCZ0Ku9AjY1%2Fuploads%2FMO6FZmfJaA14oURI4tLg%2Fgoogle_shopping_product-specifications.png?alt=media&#x26;token=d5b38612-b109-42b1-a09c-6751dc0553be" alt=""><figcaption></figcaption></figure>

```json
...
"specifications": [
    {
        "results": {
          {
            "title": "Manufacturer",
            "value": "PNY"
          },
          {
            "title": "Output",
            "value": "HDMI, DisplayPort"
          },
          {
            "title": "Interface",
            "value": "PCI Express"
          },
          {
            "title": "Brand",
            "value": "PNY"
          },
...
        ],
        "section_title": "attributes"
      }
],
...
```

<table><thead><tr><th width="220">Clave (specifications[])</th><th width="367">Descripción</th><th>Tipo</th></tr></thead><tbody><tr><td><code>elementos</code></td><td>Una matriz de objetos que contiene detalles individuales de especificaciones.</td><td>array</td></tr><tr><td><code>items.title</code></td><td>El título de la especificación.</td><td>string</td></tr><tr><td><code>items.value</code></td><td>El valor de la especificación.</td><td>string</td></tr><tr><td><code>section_title</code></td><td>El título o encabezado para la sección de especificaciones.</td><td>string</td></tr></tbody></table>
